Appearance
Getting Started
Tutorial. A guided tour of the happy path from empty directory to first shipped milestone, with each step explained. For the condensed copy-paste sequence, see Quickstart. For the design rationale, see Concept Overview.
Every step below is a single np:* slash-command in your host CLI.
1. Bootstrap a project
np:new-projectFive-question interview. The workflow writes:
.nubos-pilot/PROJECT.md.nubos-pilot/REQUIREMENTS.md.nubos-pilot/RULES.md.nubos-pilot/roadmap.yaml(schema_version: 2).nubos-pilot/STATE.md.nubos-pilot/milestones/M001/withM001-CONTEXT.md,M001-ROADMAP.md,M001-META.json, and an emptyslices/subdirectory.
If the project has source files, np:scan-codebase is suggested as a follow-up to seed .nubos-pilot/codebase/ with module docs.
2. Lock the decisions
np:discuss-phase 1In command names, "phase" means milestone (see Glossary). np:discuss-phase 1 captures the decisions for milestone M001.
An adaptive interview captures three categories:
- Locked decisions (
D-01,D-02, …) — non-negotiable; every downstream task must honor them. - Deferred ideas — explicitly parked for a later milestone.
- Agent discretion — the agent picks and documents the choice in the task action.
Output: .nubos-pilot/milestones/M001/M001-CONTEXT.md with <domain>, <decisions>, <canonical_refs>, <code_context>, <specifics>, and <deferred> blocks.
3. (Optional) Research
np:research-phase 1Spawns np-researcher (tier=sonnet). Produces M001-RESEARCH.md covering stack, patterns, pitfalls, the security domain and sources. When WebFetch and Context7 are not callable, it falls back to local-only research with a ## Research Coverage annotation.
4. Plan the entire milestone
np:plan-phase 1Spawns np-planner (tier=opus). The planner breaks the milestone into slices (execution waves), and each slice into tasks (atomic units).
The planner writes:
M001-ROADMAP.md— slice list and execution order.M001-META.json—slice_count,task_count,status.- Per slice:
slices/S<NNN>/S<NNN>-PLAN.mdwith all<task>blocks inline, plusS<NNN>-ASSESSMENT.mdandS<NNN>-UAT.md.
np-plan-checker (tier=opus) verifies goal-backward and returns a YAML verdict. If status: issues_found, the planner re-runs in revision mode for up to 2 iterations.
After the plan-check passes, the orchestrator runs scaffold-all-tasks, which reads every S<NNN>-PLAN.md, extracts every <task> block, and creates slices/S<NNN>/tasks/T<NNNN>/T<NNNN>-PLAN.md and T<NNNN>-SUMMARY.md for each task.
A slice is a wave: all tasks inside one slice run in parallel, slices run serially, and cross-slice dependencies flow forward only.
Two variants:
np:plan-phase 1 --researchauto-dispatchesnp:research-phase 1before planning ifRESEARCH.mdis missing.np:plan-phase 1 --repromotere-scaffolds task files from existing slice plans without re-running the planner (useful after a bug fix to the scaffolder).
5. Execute
np:execute-phase 1Wave-based execution. Slices run serially; tasks inside one slice run in parallel. For each task the orchestrator spawns np-executor (tier=sonnet) with the task plan, the slice plan, and the milestone context. The executor:
- Transitions the checkpoint to
in-progressvianp-tools.cjs checkpoint transition. - Edits exactly the paths in
files_modified(no auto-discovery). - Runs the task's
<verify><automated>command. - Calls
node np-tools.cjs commit-task M001-S001-T0001for one atomic commit per task.
Each task runs through the Nubosloop: on a verify failure in round 2 or later, the loop spawns np-build-fixer automatically before the next round.
If execute-phase crashes mid-task, /np:resume-work classifies the session state; /np:reset-slice discards in-flight edits and drops the checkpoint.
6. Verify
np:verify-work 1Spawns np-verifier (tier=sonnet). It walks every success_criterion from the milestone's roadmap entry, classifies each one as Pass, Fail, Defer or Needs-User-Confirm, and writes M001-VERIFICATION.md.
Optional follow-ups:
np:validate-phase 1runs the Nyquist coverage audit: every requirement is observed by at least one direct test assertion.np:add-tests 1persists the VERIFICATION Pass-cases asnode:testUAT files undertest/uat/m001-<slug>.test.cjs.
7. Undo
np:undo-task M001-S001-T0001 # revert one task
np:undo 1 # revert every task commit of milestone M001
np:undo M001-S002 # revert every task commit of slice M001-S002
np:reset-slice # discard in-flight task (no commit)All undos are forward-commits via git revert --no-edit; history is never rewritten.
8. Loop
Start the next milestone with np:new-milestone and repeat from step 2.
