This guide documents the devos.ing ADHD workspace CLI commands exposed by packages/cli.
Use one of these forms:
- Local npx entrypoint:
npx devos <command> ...(afterbun installandbun run build) - Installed binary:
devos <command> ...(help text form)
- Bun installed.
- Dependencies installed with
bun install. - Initial onboarding completed with
onboard, then validated withonboard --check. - Required credentials configured (for example Linear and GitHub settings used by your project).
- A valid project ID available from the
projectscommand output.
The commands below read from resolved runtime project config assembled from environment values, home-scoped onboarding state, and server-owned project metadata. The most relevant fields are:
projects[].id: project identifier used by--project.projects[].workspacePath: where run state is stored and read.projects[].executionPath: where workflow execution happens.projects[].linear: Linear credentials, status IDs, and routing metadata.projects[].github: repository owner/name/base branch and PR/merge behavior.projects[].workflow: polling, concurrency, and isolated worktree behavior.projects[].skills: skills root and stage skill files (plan,implement,reviewTest,githubComment).
Command-specific configuration dependencies:
onboard:- Writes/validates local onboarding data used to resolve runtime config and credentials.
onboard --checkvalidates required config and environment for configured projects (for example Linear API key, execution path, and required skill files).
projects:- Reads configured
projects[]entries and prints each project ID plus resolvedexecutionPathandworkspacePath.
- Reads configured
run:- Uses project routing (
linear.projectIdwhen configured), Linear status/label mappings, and GitHub repo settings. - Uses
workflow.issueConcurrency, polling settings, andworkflow.isolatedWorktreesdefaults when corresponding CLI flags are not provided. - Uses project
executionPathandworkspacePathfor run orchestration and run-state persistence.
- Uses project routing (
status:- Requires
projectIdthat resolves to a configured project. - Reads run-state files under the resolved project
workspacePath.
- Requires
task create:- Uses project
linearsettings to create backlog tasks in the configured Linear team/project/status. - Uses configured agent backend/model settings to run intake and clarification passes.
- Uses project
skills(list,add,update,remove):- Operates on the selected project's
skills.root. --projectchanges which configured project's skills root is targeted.
- Operates on the selected project's
Syntax:
devos onboard [--check]Examples:
npx devos onboard
npx devos onboard --checkExpected behavior:
onboardruns the guided onboarding wizard.- Default onboarding persists
PIV_ISOLATED_WORKTREES=1, enabling per-issue isolated git worktrees for local runs. onboard --checkruns onboarding validation checks only.
Configuration notes:
- Reads/writes local onboarding artifacts that feed runtime config resolution.
- Validation checks are project-aware and fail when required project config/env is missing.
Syntax:
devos projectsExample:
npx devos projectsExpected behavior:
- Lists configured projects.
- Each line is tab-separated and includes project ID, name, execution path, and state path.
Configuration notes:
- Output comes directly from configured
projects[]and resolved path settings.
Syntax:
devos run [--project <PROJECT_ID>] [--issue <LINEAR_KEY_OR_URL>] [--poll] [--no-exit-when-idle] [--concurrency <N>] [--poll-interval-ms <MS>] [--max-poll-cycles <N>] [--isolated-worktrees]
devos run --all-projects [--issue <LINEAR_KEY_OR_URL>] [--poll] [--no-exit-when-idle]Examples:
npx devos run --project default --issue ENG-123
npx devos run --project default --poll
npx devos run --all-projects --poll
npx devos run --all-projects --poll-foreverExpected behavior:
- Starts workflow orchestration for one project or all projects.
--pollkeeps polling for eligible issues.--poll-foreveris the daemon-owned continuous polling mode; it implies polling, ignores configured max cycles, disables idle exit, and cannot be combined with--max-poll-cycles.--no-exit-when-idlekeeps process alive when no eligible work is found.- Numeric flags (
--concurrency,--poll-interval-ms,--max-poll-cycles) must be positive integers. --isolated-worktreesenables isolated per-issue worktree mode when supported by config.
Configuration notes:
--projectselects a configured project;--all-projectsruns across all configured projects.- Polling/concurrency/worktree defaults come from project
workflowconfig when flags are omitted. - Linear and GitHub behavior for each issue run depends on that project's
linearandgithubconfig.
Validation notes:
--projectand--all-projectscannot be used together.
Syntax:
devos status --project <PROJECT_ID> --issue <LINEAR_KEY>Example:
npx devos status --project default --issue ENG-123Expected behavior:
- Loads run state for the issue and prints JSON with a computed stage display value.
- Prints a not-found message if no run state exists for that project/issue key.
Configuration notes:
- Status lookup resolves to the selected project's state storage under
workspacePath.
Validation notes:
--projectis required.--issueis required.
Syntax:
devos task create [<REQUEST>] [--request <TEXT|->] [--project <PROJECT_ID>] [--non-interactive] [--max-clarification-rounds <N>] [--clarifications-json <JSON>]Examples:
npx devos task create --request "Add retry handling for API timeouts" --project default
npx devos task create "Investigate flaky review stage"
npx devos task create --request - --project default
npx devos task create --request "Backfill missing docs" --non-interactive --clarifications-json '[{"question":"Scope?","answer":"CLI docs only"}]'Expected behavior:
- Interactive mode (default):
- Uses
--requestvalue, positional request text, or prompts for a request. - If
--request -is used, reads request content from stdin. - May ask follow-up clarification questions before creating a Linear issue.
- Uses
- Non-interactive mode (
--non-interactive):- Requires
--request <TEXT>and does not prompt. - Returns unresolved clarification questions instead of creating an issue when context remains ambiguous.
- Requires
Configuration notes:
- Uses selected project
linearsettings for backlog task creation target and status mapping. - Uses selected project backend/model configuration to run clarification and intake logic.
Validation notes:
--non-interactivecannot use--request -.- Request must be non-empty after trimming.
--max-clarification-roundsmust be a positive integer when set.--clarifications-jsonmust be a JSON array of objects with non-empty stringquestionandanswerfields.
Syntax:
devos skills list [--project <PROJECT_ID>]
devos skills add --title <TITLE> --description <TEXT> --content <TEXT> [--project <PROJECT_ID>]
devos skills update <NAME> [--title <TITLE>] [--description <TEXT>] [--content <TEXT>] [--project <PROJECT_ID>]
devos skills remove <NAME> [--project <PROJECT_ID>]Examples:
npx devos skills list --project default
npx devos skills add --title "Docs Writer" --description "Writes release notes" --content "Use concise release note format." --project default
npx devos skills update docs-writer --description "Writes CLI release notes." --project default
npx devos skills remove docs-writer --project defaultExpected behavior:
listprints tab-separated skill rows (name,title,description), or a no-skills message.addcreates a skill document and prints created name/path.updateupdates an existing skill and prints updated name/path.removedeletes a skill and prints removed name/path.
Configuration notes:
- All operations target the selected project's
skills.root.
Validation notes:
skills updaterequires<NAME>.skills updatealso requires at least one of--title,--description, or--content.skills removerequires<NAME>.- Missing required flags for
addproduce explicit errors.
Syntax:
devos help
devos --help
devos -hExpected behavior:
- Prints command and environment help text.