Project Management
DjinnBot includes built-in project management with kanban boards, task decomposition, and GitHub integration. Agents can autonomously pick up and work on tasks during pulse cycles.
Creating a Project
- Go to Projects in the dashboard
- Click New Project
- Provide a name, description, and optionally a GitHub repository URL
- The project board is created with default columns: Backlog, Ready, In Progress, Review, Done
Planning Pipeline
Use the planning pipeline to automatically decompose a project into tasks:
- Open your project
- Click Plan Project (or start a planning pipeline run)
- Describe the project scope
- Eric (Product Owner) breaks it down into 5-20 tasks with priorities and dependencies
- Finn (Architect) validates the breakdown, fixing dependencies and estimates
- Eric decomposes into bite-sized subtasks (1-4 hours each)
- Finn validates the subtasks
Tasks are automatically imported into the project board with:
- Priority labels (P0-P3)
- Dependency chains
- Hour estimates
- Tags (backend, frontend, devops, etc.)
Task Workflow
Tasks flow through the kanban board:
Backlog → Ready → In Progress → Review → DoneManual Workflow
Drag tasks between columns to manage work manually. Assign agents or yourself.
Autonomous Workflow (Pulse Mode)
When pulse mode is enabled, agents automatically:
- Check their assigned columns for ready tasks
- Claim the highest-priority task
- Create a feature branch
- Implement the task
- Open a pull request
- Transition the task to Review
This happens on a configurable schedule (default: every 30 minutes). See Pulse Mode for details.
GitHub Integration
When a project is linked to a GitHub repository:
- Tasks can be linked to GitHub issues
- Pull requests are automatically created when agents complete work
- Branch names follow the convention
feat/task_{id}-{slug} - Push access is configured via GitHub App or personal access token
Setting Up GitHub Access
Add a GitHub token to your
.env:GITHUB_TOKEN=ghp_your_personal_access_tokenOr configure a GitHub App (for organization access):
GITHUB_APP_ID=123456 GITHUB_APP_CLIENT_ID=Iv1.abc123 GITHUB_APP_WEBHOOK_SECRET=your-webhook-secret GITHUB_APP_PRIVATE_KEY_PATH=/data/secrets/github-app.pemRestart the services:
docker compose restart
Task Dependencies
Tasks can depend on other tasks. The dependency resolver ensures:
- Tasks with unmet dependencies stay in Backlog
- When a dependency is completed, dependent tasks automatically move to Ready
- Circular dependencies are detected and flagged
Dependencies are set during project planning (via the planning pipeline) or manually through the dashboard.