Creating a project
--path is what connects the project to a folder, which is what lets a path trigger fire when you work in it. A project without a path still exists, it just has no way to notice you are working on it.
The gotcha. If you omit --path and the protocol configuration is not enabled, the project has no folder at all. base project list --unscoped finds these later, and they are usually a mistake rather than a choice.
Milestones and tasks
base task tag <slug> --add urgent attaches free-form labels, and base task list --label urgent --label backend narrows to tasks carrying all of them. Repeating --label intersects rather than unions.
Editing instead of recreating
--next-action is the field that decides whether a project is resumable. A project with a status and no next action tells you it is alive and nothing else.
When a folder moves
One project, two workspaces
--yes.
Finding a project you cannot find
base project list shows the current workspace only. A project missing from it is usually a project that now lives in another workspace, not a project that is gone. Check --all before concluding anything.
Deleting, and what goes with it
--yes.
The gotcha.
project delete --force takes the decisions and rules as well, and those are usually the part you would actually miss. The tasks are replaceable; the reasoning behind a choice made eight months ago is not.
Bringing state back in line
--dry-run first, always. It decides from filesystem activity, so a project you have been working on outside its registered folder looks dormant when it is not.
Next
Multiple sessions
Coordinating when more than one session is working the same project.
Projects reference
Every flag on every command here.