37 lines
1.2 KiB
Markdown
37 lines
1.2 KiB
Markdown
# Development Guide
|
|
|
|
Welcome to the Plexus development team! Please follow these guidelines to ensure a consistent and high-quality codebase.
|
|
|
|
## 🛠 Setup
|
|
|
|
1. **Docker**: The easiest way to develop is using the dockerized shell.
|
|
```bash
|
|
make shell
|
|
```
|
|
2. **Local**: If you prefer local development:
|
|
```bash
|
|
make install
|
|
```
|
|
|
|
## 📝 Coding Standards
|
|
|
|
- **Linting**: Always run `make lint` before pushing.
|
|
- **Testing**: Add unit or integration tests for new features. Use `make test` to run them.
|
|
- **Documentation**: Update the `docs/` directory if you change architecture or add major features.
|
|
|
|
## 🌿 Git Workflow
|
|
|
|
- **Commits**: Use descriptive commit messages.
|
|
- **Task IDs**: Always include the task ID in your commit message if applicable.
|
|
- Example: `feat: add emoji picker (Task #123)`
|
|
- **Regular Commits**: Commit early and often. Small, atomic commits are preferred.
|
|
|
|
## 📋 Task Management
|
|
|
|
We use an internal task tracker powered by DuckDB.
|
|
- List tasks: `make task-list`
|
|
- Add task: `make task-add title="My new task"`
|
|
- Complete task: `make task-done id=1`
|
|
|
|
See [Task Tracker Documentation](file:///home/sinan/Documents/repositories/local/plexus/docs/tasks.md) for more details.
|