Projects
A project is a named container that groups tasks, boards, and releases into a coherent initiative. Projects provide the organizational layer between individual tasks and the overall system.What Projects Do
Projects serve three purposes:- Scope tasks — every task belongs to a project, making it easy to filter and track work per initiative
- Scope boards — boards can be project-specific, so different teams use pipelines suited to their workflow
- Auto-detection — when you run task commands inside a git repo, the project is detected from the working directory
Creating Projects
Projects are created explicitly or auto-detected from repository paths (see the Project CLI reference for all commands):Default Project
When running commands outside a git repository, Genie needs to know which project to scope to. Set a default:genie task list, genie task create, and other task commands when no repo is detected.
Projects and Boards
Each project can have multiple boards. A typical setup:Projects and Tasks
Tasks reference their project viaproject_id. When listing tasks, you can filter by project:
repoPath for reliable filtering:
Project Stats
View a project’s health at a glance:Database Storage
Projects are stored in theprojects table (migration 003) with a reference to the repo path. Task-project relationships are maintained through the tasks.project_id foreign key.
Best Practices
One project per repository
One project per repository
Map projects 1:1 with git repositories. This makes auto-detection seamless and keeps task scoping intuitive.
Use boards for workflow variation
Use boards for workflow variation
Instead of creating separate projects for features vs. bugs, use different boards within the same project.
Set a default for CLI convenience
Set a default for CLI convenience
If you primarily work on one project,
genie project set-default saves typing --project on every command.