nubos-pilot 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/agents/np-ai-researcher.md +140 -0
  2. package/agents/np-code-fixer.md +363 -0
  3. package/agents/np-code-reviewer.md +351 -0
  4. package/agents/np-domain-researcher.md +136 -0
  5. package/agents/np-eval-auditor.md +167 -0
  6. package/agents/np-eval-planner.md +153 -0
  7. package/agents/np-executor.md +72 -0
  8. package/agents/np-framework-selector.md +171 -0
  9. package/agents/np-nyquist-auditor.md +185 -0
  10. package/agents/np-plan-checker.md +165 -0
  11. package/agents/np-planner.md +199 -0
  12. package/agents/np-researcher.md +150 -0
  13. package/agents/np-security-auditor.md +206 -0
  14. package/agents/np-ui-auditor.md +369 -0
  15. package/agents/np-ui-checker.md +192 -0
  16. package/agents/np-ui-researcher.md +324 -0
  17. package/agents/np-verifier.md +79 -0
  18. package/bin/check-coverage.cjs +40 -0
  19. package/bin/check-workflows.cjs +171 -0
  20. package/bin/check-workflows.test.cjs +208 -0
  21. package/bin/install.js +500 -0
  22. package/bin/np-tools/_commands.cjs +70 -0
  23. package/bin/np-tools/add-tests.cjs +171 -0
  24. package/bin/np-tools/add-tests.test.cjs +122 -0
  25. package/bin/np-tools/add-todo.cjs +108 -0
  26. package/bin/np-tools/add-todo.test.cjs +112 -0
  27. package/bin/np-tools/agent-skills.cjs +14 -0
  28. package/bin/np-tools/agent-skills.test.cjs +42 -0
  29. package/bin/np-tools/ai-integration-phase.cjs +109 -0
  30. package/bin/np-tools/ai-integration-phase.test.cjs +123 -0
  31. package/bin/np-tools/askuser.cjs +53 -0
  32. package/bin/np-tools/askuser.test.cjs +49 -0
  33. package/bin/np-tools/autonomous.cjs +69 -0
  34. package/bin/np-tools/autonomous.test.cjs +74 -0
  35. package/bin/np-tools/checkpoint.cjs +101 -0
  36. package/bin/np-tools/checkpoint.test.cjs +119 -0
  37. package/bin/np-tools/code-review.cjs +133 -0
  38. package/bin/np-tools/code-review.test.cjs +96 -0
  39. package/bin/np-tools/commit-task.cjs +120 -0
  40. package/bin/np-tools/commit-task.test.cjs +160 -0
  41. package/bin/np-tools/commit.cjs +103 -0
  42. package/bin/np-tools/commit.test.cjs +93 -0
  43. package/bin/np-tools/config.cjs +101 -0
  44. package/bin/np-tools/config.test.cjs +71 -0
  45. package/bin/np-tools/discuss-phase-power.cjs +265 -0
  46. package/bin/np-tools/discuss-phase-power.test.cjs +242 -0
  47. package/bin/np-tools/discuss-phase.cjs +132 -0
  48. package/bin/np-tools/discuss-phase.test.cjs +148 -0
  49. package/bin/np-tools/dispatch.cjs +116 -0
  50. package/bin/np-tools/doctor.cjs +242 -0
  51. package/bin/np-tools/eval-review.cjs +116 -0
  52. package/bin/np-tools/eval-review.test.cjs +123 -0
  53. package/bin/np-tools/execute-phase.cjs +182 -0
  54. package/bin/np-tools/execute-phase.test.cjs +116 -0
  55. package/bin/np-tools/execute-plan.cjs +124 -0
  56. package/bin/np-tools/execute-plan.test.cjs +82 -0
  57. package/bin/np-tools/help.cjs +28 -0
  58. package/bin/np-tools/help.test.cjs +29 -0
  59. package/bin/np-tools/init-dispatch.test.cjs +91 -0
  60. package/bin/np-tools/metrics.cjs +97 -0
  61. package/bin/np-tools/metrics.test.cjs +188 -0
  62. package/bin/np-tools/new-milestone.cjs +288 -0
  63. package/bin/np-tools/new-milestone.test.cjs +166 -0
  64. package/bin/np-tools/new-project.cjs +284 -0
  65. package/bin/np-tools/new-project.test.cjs +165 -0
  66. package/bin/np-tools/next.cjs +7 -0
  67. package/bin/np-tools/next.test.cjs +30 -0
  68. package/bin/np-tools/park.cjs +48 -0
  69. package/bin/np-tools/park.test.cjs +50 -0
  70. package/bin/np-tools/pause-work.cjs +24 -0
  71. package/bin/np-tools/pause-work.test.cjs +74 -0
  72. package/bin/np-tools/phase.cjs +71 -0
  73. package/bin/np-tools/phase.test.cjs +81 -0
  74. package/bin/np-tools/plan-diff.cjs +57 -0
  75. package/bin/np-tools/plan-diff.test.cjs +134 -0
  76. package/bin/np-tools/plan-milestone-gaps.cjs +115 -0
  77. package/bin/np-tools/plan-milestone-gaps.test.cjs +122 -0
  78. package/bin/np-tools/plan-phase.cjs +350 -0
  79. package/bin/np-tools/plan-phase.test.cjs +263 -0
  80. package/bin/np-tools/progress.cjs +7 -0
  81. package/bin/np-tools/progress.test.cjs +44 -0
  82. package/bin/np-tools/queue.cjs +213 -0
  83. package/bin/np-tools/research-phase.cjs +144 -0
  84. package/bin/np-tools/research-phase.test.cjs +154 -0
  85. package/bin/np-tools/reset-slice.cjs +17 -0
  86. package/bin/np-tools/reset-slice.test.cjs +96 -0
  87. package/bin/np-tools/resolve-model.cjs +110 -0
  88. package/bin/np-tools/resolve-model.test.cjs +200 -0
  89. package/bin/np-tools/resume-work.cjs +76 -0
  90. package/bin/np-tools/resume-work.test.cjs +91 -0
  91. package/bin/np-tools/skip.cjs +48 -0
  92. package/bin/np-tools/skip.test.cjs +66 -0
  93. package/bin/np-tools/slug.cjs +34 -0
  94. package/bin/np-tools/slug.test.cjs +46 -0
  95. package/bin/np-tools/state.cjs +16 -0
  96. package/bin/np-tools/state.test.cjs +40 -0
  97. package/bin/np-tools/stats.cjs +151 -0
  98. package/bin/np-tools/stats.test.cjs +118 -0
  99. package/bin/np-tools/triage.cjs +128 -0
  100. package/bin/np-tools/ui-phase.cjs +108 -0
  101. package/bin/np-tools/ui-phase.test.cjs +121 -0
  102. package/bin/np-tools/ui-review.cjs +108 -0
  103. package/bin/np-tools/ui-review.test.cjs +120 -0
  104. package/bin/np-tools/undo-task.cjs +31 -0
  105. package/bin/np-tools/undo-task.test.cjs +117 -0
  106. package/bin/np-tools/undo.cjs +43 -0
  107. package/bin/np-tools/undo.test.cjs +120 -0
  108. package/bin/np-tools/unpark.cjs +48 -0
  109. package/bin/np-tools/unpark.test.cjs +50 -0
  110. package/bin/np-tools/verify-work.cjs +186 -0
  111. package/bin/np-tools/verify-work.test.cjs +97 -0
  112. package/docs/adr/0001-no-daemon-invariant.md +82 -0
  113. package/docs/adr/0002-zero-runtime-dependencies.md +90 -0
  114. package/docs/adr/0003-max-six-unit-types.md +85 -0
  115. package/docs/adr/0004-atomic-commit-per-unit.md +102 -0
  116. package/docs/adr/0005-three-orthogonal-file-trees.md +98 -0
  117. package/docs/adr/0006-yaml-dependency-amendment.md +60 -0
  118. package/docs/adr/README.md +27 -0
  119. package/docs/agent-frontmatter-schema.md +84 -0
  120. package/docs/phase-artifact-schemas.md +292 -0
  121. package/docs/phase-directory-layout.md +82 -0
  122. package/lib/__tests__/README.md +1 -0
  123. package/lib/agents.cjs +98 -0
  124. package/lib/agents.test.cjs +286 -0
  125. package/lib/askuser.cjs +36 -0
  126. package/lib/askuser.test.cjs +310 -0
  127. package/lib/checkpoint.cjs +135 -0
  128. package/lib/checkpoint.test.cjs +184 -0
  129. package/lib/core.cjs +165 -0
  130. package/lib/core.test.cjs +405 -0
  131. package/lib/fixtures/README.md +1 -0
  132. package/lib/fixtures/phase-tree/README.md +1 -0
  133. package/lib/fixtures/plans/cycle/PLAN.md +16 -0
  134. package/lib/fixtures/plans/cycle/tasks/T-01.md +20 -0
  135. package/lib/fixtures/plans/cycle/tasks/T-02.md +20 -0
  136. package/lib/fixtures/plans/cycle/tasks/T-03.md +20 -0
  137. package/lib/fixtures/plans/linear/PLAN.md +16 -0
  138. package/lib/fixtures/plans/linear/tasks/T-01.md +20 -0
  139. package/lib/fixtures/plans/linear/tasks/T-02.md +20 -0
  140. package/lib/fixtures/plans/linear/tasks/T-03.md +20 -0
  141. package/lib/fixtures/plans/parallel/PLAN.md +16 -0
  142. package/lib/fixtures/plans/parallel/tasks/T-01.md +20 -0
  143. package/lib/fixtures/plans/parallel/tasks/T-02.md +20 -0
  144. package/lib/fixtures/plans/parallel/tasks/T-03.md +20 -0
  145. package/lib/fixtures/plans/wave-conflict/PLAN.md +16 -0
  146. package/lib/fixtures/plans/wave-conflict/tasks/T-01.md +20 -0
  147. package/lib/fixtures/plans/wave-conflict/tasks/T-02.md +20 -0
  148. package/lib/fixtures/roadmap/ROADMAP-malformed.md +3 -0
  149. package/lib/fixtures/roadmap/ROADMAP-minimal.md +51 -0
  150. package/lib/fixtures/roadmap/roadmap-malformed.yaml +7 -0
  151. package/lib/fixtures/roadmap/roadmap-minimal.yaml +40 -0
  152. package/lib/fixtures/roadmap/roadmap-ten-phases.yaml +101 -0
  153. package/lib/fixtures/templates/phase-context.md +6 -0
  154. package/lib/fixtures/templates/plan-skeleton.md +6 -0
  155. package/lib/frontmatter.cjs +251 -0
  156. package/lib/frontmatter.test.cjs +177 -0
  157. package/lib/gaps.cjs +197 -0
  158. package/lib/gaps.test.cjs +200 -0
  159. package/lib/git.cjs +207 -0
  160. package/lib/git.test.cjs +305 -0
  161. package/lib/install/agents-md.cjs +77 -0
  162. package/lib/install/backup.cjs +70 -0
  163. package/lib/install/codex-toml.cjs +440 -0
  164. package/lib/install/managed-block.cjs +30 -0
  165. package/lib/install/manifest.cjs +148 -0
  166. package/lib/install/mcp-writer.cjs +127 -0
  167. package/lib/install/runtime-detect.cjs +44 -0
  168. package/lib/install/staging.cjs +149 -0
  169. package/lib/metrics-aggregate.cjs +229 -0
  170. package/lib/metrics-aggregate.test.cjs +192 -0
  171. package/lib/metrics.cjs +120 -0
  172. package/lib/metrics.test.cjs +182 -0
  173. package/lib/model-aliases.regression.test.cjs +16 -0
  174. package/lib/model-profiles.cjs +42 -0
  175. package/lib/model-profiles.test.cjs +61 -0
  176. package/lib/next.cjs +236 -0
  177. package/lib/next.test.cjs +194 -0
  178. package/lib/phase.cjs +95 -0
  179. package/lib/phase.test.cjs +189 -0
  180. package/lib/plan-checker-contract.test.cjs +72 -0
  181. package/lib/plan-diff.cjs +173 -0
  182. package/lib/plan-diff.test.cjs +217 -0
  183. package/lib/plan.cjs +85 -0
  184. package/lib/plan.test.cjs +263 -0
  185. package/lib/progress.cjs +95 -0
  186. package/lib/progress.test.cjs +116 -0
  187. package/lib/researcher-contract.test.cjs +61 -0
  188. package/lib/roadmap-render.cjs +206 -0
  189. package/lib/roadmap-render.test.cjs +121 -0
  190. package/lib/roadmap.cjs +416 -0
  191. package/lib/roadmap.test.cjs +371 -0
  192. package/lib/runtime/_contract.test.cjs +61 -0
  193. package/lib/runtime/_readline.cjs +119 -0
  194. package/lib/runtime/_readline.test.cjs +126 -0
  195. package/lib/runtime/claude.cjs +48 -0
  196. package/lib/runtime/claude.test.cjs +101 -0
  197. package/lib/runtime/codex.cjs +35 -0
  198. package/lib/runtime/codex.test.cjs +114 -0
  199. package/lib/runtime/gemini.cjs +35 -0
  200. package/lib/runtime/gemini.test.cjs +109 -0
  201. package/lib/runtime/index.cjs +49 -0
  202. package/lib/runtime/index.test.cjs +181 -0
  203. package/lib/runtime/opencode.cjs +35 -0
  204. package/lib/runtime/opencode.test.cjs +124 -0
  205. package/lib/state.cjs +205 -0
  206. package/lib/state.test.cjs +264 -0
  207. package/lib/surface-audit.test.cjs +46 -0
  208. package/lib/tasks.cjs +327 -0
  209. package/lib/tasks.test.cjs +389 -0
  210. package/lib/template.cjs +66 -0
  211. package/lib/template.test.cjs +159 -0
  212. package/lib/undo.cjs +179 -0
  213. package/lib/undo.test.cjs +261 -0
  214. package/lib/verify.cjs +116 -0
  215. package/lib/verify.test.cjs +187 -0
  216. package/np-tools.cjs +303 -0
  217. package/package.json +39 -0
  218. package/templates/AI-SPEC.md +90 -0
  219. package/templates/CONTEXT.md +32 -0
  220. package/templates/PLAN.md +69 -0
  221. package/templates/PROJECT.md +60 -0
  222. package/templates/REQUIREMENTS.md +38 -0
  223. package/templates/SECURITY.md +61 -0
  224. package/templates/UI-SPEC.md +64 -0
  225. package/templates/VALIDATION.md +76 -0
  226. package/templates/claude/payload/README.md +11 -0
  227. package/templates/opencode/opencode.json +6 -0
  228. package/templates/opencode/payload/AGENTS.md +9 -0
  229. package/workflows/add-backlog.md +212 -0
  230. package/workflows/add-tests.md +69 -0
  231. package/workflows/add-todo.md +222 -0
  232. package/workflows/ai-integration-phase.md +230 -0
  233. package/workflows/autonomous.md +94 -0
  234. package/workflows/cleanup.md +325 -0
  235. package/workflows/code-review-fix.md +435 -0
  236. package/workflows/code-review.md +447 -0
  237. package/workflows/discuss-phase-assumptions.md +269 -0
  238. package/workflows/discuss-phase-power.md +139 -0
  239. package/workflows/discuss-phase.md +386 -0
  240. package/workflows/dispatch.md +9 -0
  241. package/workflows/doctor.md +10 -0
  242. package/workflows/eval-review.md +243 -0
  243. package/workflows/execute-phase.md +142 -0
  244. package/workflows/execute-plan.md +82 -0
  245. package/workflows/help.md +8 -0
  246. package/workflows/new-milestone.md +166 -0
  247. package/workflows/new-project.md +213 -0
  248. package/workflows/next.md +8 -0
  249. package/workflows/note.md +244 -0
  250. package/workflows/park.md +29 -0
  251. package/workflows/pause-work.md +34 -0
  252. package/workflows/plan-milestone-gaps.md +233 -0
  253. package/workflows/plan-phase.md +351 -0
  254. package/workflows/progress.md +8 -0
  255. package/workflows/queue.md +9 -0
  256. package/workflows/research-phase.md +327 -0
  257. package/workflows/reset-slice.md +39 -0
  258. package/workflows/resume-work.md +79 -0
  259. package/workflows/review.md +489 -0
  260. package/workflows/secure-phase.md +209 -0
  261. package/workflows/session-report.md +243 -0
  262. package/workflows/skip.md +29 -0
  263. package/workflows/state.md +7 -0
  264. package/workflows/stats.md +170 -0
  265. package/workflows/thread.md +214 -0
  266. package/workflows/triage.md +9 -0
  267. package/workflows/ui-phase.md +246 -0
  268. package/workflows/ui-review.md +222 -0
  269. package/workflows/undo-task.md +42 -0
  270. package/workflows/undo.md +55 -0
  271. package/workflows/unpark.md +29 -0
  272. package/workflows/validate-phase.md +231 -0
  273. package/workflows/verify-work.md +83 -0
@@ -0,0 +1,90 @@
1
+ ---
2
+ phase: {{phase}}
3
+ generated: {{timestamp}}
4
+ generator: np:ai-integration-phase
5
+ ---
6
+
7
+ # Phase {{phase}} — AI Integration Spec
8
+
9
+ This document is the AI design contract for Phase {{phase}}. It locks the
10
+ framework, implementation patterns, domain rubrics, evaluation strategy,
11
+ guardrails, and production monitoring plan BEFORE the planner creates
12
+ tasks. Re-read this file in full before planning or executing any task
13
+ that produces, consumes, or reasons about model output.
14
+
15
+ ## 1b. Domain Context
16
+
17
+ Business domain, stakeholders, and expert rubrics. Each rubric ingredient
18
+ (Good / Bad / Stakes) grounds a downstream eval dimension (Section 5).
19
+
20
+ {{domain_rubric}}
21
+
22
+ ## 2. Framework Selection
23
+
24
+ Scoring matrix (cost, fit, maturity, ecosystem, lock-in) and final pick.
25
+ Capture the rejected alternative with one-line rationale so downstream
26
+ reviewers can revisit the trade-off.
27
+
28
+ {{framework_scoring_matrix}}
29
+
30
+ **Selected:** {{selected_framework}}
31
+
32
+ **Alternative considered:** {{alternative_framework}}
33
+
34
+ **Rationale:** {{rationale}}
35
+
36
+ ## 3. Implementation
37
+
38
+ Canonical entry-point pattern using the selected framework. Copy-paste
39
+ ready; the planner turns this into literal task actions ("wire the client
40
+ exactly as shown below").
41
+
42
+ ```{{language}}
43
+ {{code_patterns}}
44
+ ```
45
+
46
+ Pitfalls and version-specific gotchas called out inline.
47
+
48
+ ## 4b. Pydantic / Typed Models
49
+
50
+ Structured output contracts (Pydantic, Zod, dataclasses — whatever the
51
+ framework ingests). Use these types everywhere the model returns data;
52
+ free-text parsing is an eval-coverage regression.
53
+
54
+ ```{{language}}
55
+ {{pydantic_models}}
56
+ ```
57
+
58
+ ## 5. Eval Dimensions
59
+
60
+ Named rubric per dimension. Each row states **what is measured**, **how
61
+ it is scored**, and **which Section-1b rubric ingredient it anchors**.
62
+
63
+ {{eval_dimensions}}
64
+
65
+ ## 6. Guardrails
66
+
67
+ Hard constraints enforced at runtime — NOT evaluated post-hoc. PII
68
+ redaction, toxicity filters, cost caps, output-format validators, timeout
69
+ bounds. Guardrail violations MUST short-circuit the response.
70
+
71
+ {{guardrails}}
72
+
73
+ ## 7. Production Monitoring
74
+
75
+ Tracing, metrics, and alerting contract. Arize Phoenix or detected
76
+ equivalent is the tracing default (OpenTelemetry-compatible). Specify
77
+ dashboard panels + alert thresholds here so they ship in Phase execution,
78
+ not as a retrofit.
79
+
80
+ {{monitoring_plan}}
81
+
82
+ ## Checklist
83
+
84
+ - [ ] Framework selected with rationale (Section 2)
85
+ - [ ] Domain rubric ingredients non-empty (Section 1b)
86
+ - [ ] Entry-point code block non-empty (Section 3)
87
+ - [ ] Typed output models present (Section 4b)
88
+ - [ ] At least one eval dimension defined (Section 5)
89
+ - [ ] Guardrails list or explicit N/A rationale (Section 6)
90
+ - [ ] Production-monitoring plan with tracing default (Section 7)
@@ -0,0 +1,32 @@
1
+ <!-- Placeholders: canonical_refs_text, code_context_text, created_date, decisions_text, deferred_text, domain_text, phase_name, phase_number, phase_padded, phase_slug, specifics_text -->
2
+ # Phase {{phase_number}}: {{phase_name}} — Context
3
+
4
+ **Gathered:** {{created_date}}
5
+
6
+ <domain>
7
+ {{domain_text}}
8
+ </domain>
9
+
10
+ <decisions>
11
+ {{decisions_text}}
12
+ </decisions>
13
+
14
+ <canonical_refs>
15
+ {{canonical_refs_text}}
16
+ </canonical_refs>
17
+
18
+ <code_context>
19
+ {{code_context_text}}
20
+ </code_context>
21
+
22
+ <specifics>
23
+ {{specifics_text}}
24
+ </specifics>
25
+
26
+ <deferred>
27
+ {{deferred_text}}
28
+ </deferred>
29
+
30
+ ---
31
+ *Phase: {{phase_padded}}-{{phase_slug}}*
32
+ *Context gathered: {{created_date}}*
@@ -0,0 +1,69 @@
1
+ <!-- Placeholders: autonomous, created_date, depends_on_json, files_modified_yaml, phase, plan, plan_id, requirements_json, wave -->
2
+ ---
3
+ phase: "{{phase}}"
4
+ plan: "{{plan}}"
5
+ plan_id: "{{plan_id}}"
6
+ type: execute
7
+ wave: {{wave}}
8
+ depends_on: {{depends_on_json}}
9
+ files_modified:
10
+ {{files_modified_yaml}}
11
+ autonomous: {{autonomous}}
12
+ requirements: {{requirements_json}}
13
+ ---
14
+
15
+ <objective>
16
+ TBD — what does this plan deliver, and why now? One or two sentences.
17
+
18
+ Purpose: Cover TBD.
19
+
20
+ Output: TBD (list of artifacts).
21
+ </objective>
22
+
23
+ <context>
24
+ TBD — @-reference the CONTEXT.md, RESEARCH.md, prior PLAN.md files, and any
25
+ lib modules whose public surface this plan consumes.
26
+ </context>
27
+
28
+ <tasks>
29
+
30
+ <task type="auto">
31
+ <name>Task 1: TBD</name>
32
+ <files>TBD</files>
33
+ <read_first>
34
+ - TBD
35
+ </read_first>
36
+ <action>
37
+ TBD — describe the concrete edit or creation. Keep it to a single commit.
38
+ </action>
39
+ <verify>
40
+ <automated>TBD — runnable command that returns exit 0 on success.</automated>
41
+ </verify>
42
+ <acceptance_criteria>
43
+ - TBD
44
+ </acceptance_criteria>
45
+ <done>TBD — one-line statement of the task's done state.</done>
46
+ </task>
47
+
48
+ </tasks>
49
+
50
+ <threat_model>
51
+ | Threat ID | Category | Component | Disposition | Mitigation Plan |
52
+ |-----------|----------|-----------|-------------|-----------------|
53
+ | T-TBD | TBD | TBD | mitigate | TBD |
54
+ </threat_model>
55
+
56
+ <verification>
57
+ - TBD
58
+ </verification>
59
+
60
+ <success_criteria>
61
+ - TBD
62
+ </success_criteria>
63
+
64
+ <output>
65
+ After completion, create `.nubos-pilot/phases/{{phase}}-<slug>/{{plan_id}}-SUMMARY.md` covering: TBD.
66
+ </output>
67
+
68
+ ---
69
+ *Plan drafted: {{created_date}}*
@@ -0,0 +1,60 @@
1
+ <!-- Placeholders: core_value, created_date, first_milestone_name, first_phase_name, primary_constraints, project_name -->
2
+ # {{project_name}}
3
+
4
+ ## Project
5
+
6
+ {{project_name}} — {{core_value}}
7
+
8
+ ## What This Is
9
+
10
+ {{project_name}} is an early-stage project. Update this section after the first
11
+ phase ships with a concrete 2-3 sentence description of what the product does
12
+ and who it serves. Use the user's language and framing.
13
+
14
+ ## Core Value
15
+
16
+ {{core_value}}
17
+
18
+ If everything else fails, this one sentence must remain true. It drives
19
+ prioritization when tradeoffs arise.
20
+
21
+ ## Constraints
22
+
23
+ {{primary_constraints}}
24
+
25
+ ## Current Focus
26
+
27
+ Milestone: **{{first_milestone_name}}**
28
+ First phase: **{{first_phase_name}}**
29
+
30
+ This section is updated by `np:next` and milestone transitions. It reflects
31
+ what is actively being worked on right now, not the full roadmap (see
32
+ `ROADMAP.md`).
33
+
34
+ ## Key Decisions
35
+
36
+ <!-- Decisions that constrain future work. Add throughout project lifecycle. -->
37
+
38
+ | Decision | Rationale | Outcome |
39
+ |----------|-----------|---------|
40
+ | Initial scaffold via np:new-project | Greenfield project bootstrap (D-28) | — Pending |
41
+
42
+ ## Evolution
43
+
44
+ PROJECT.md evolves throughout the project lifecycle.
45
+
46
+ **After each phase transition:**
47
+ 1. Requirements invalidated? → Move to Out of Scope in REQUIREMENTS.md with reason
48
+ 2. Requirements validated? → Move to Validated in REQUIREMENTS.md with phase reference
49
+ 3. New requirements emerged? → Add to REQUIREMENTS.md Active list
50
+ 4. Decisions to log? → Add to Key Decisions above
51
+ 5. "What This Is" still accurate? → Update if drifted
52
+
53
+ **After each milestone:**
54
+ 1. Full review of all sections
55
+ 2. Core Value check — still the right priority?
56
+ 3. Update Current Focus with next milestone/phase
57
+
58
+ ---
59
+ *Created: {{created_date}}*
60
+ *Last updated: {{created_date}} after np:new-project*
@@ -0,0 +1,38 @@
1
+ <!-- Placeholders: core_value, created_date, first_milestone_name, project_name -->
2
+ # Requirements: {{project_name}}
3
+
4
+ **Defined:** {{created_date}}
5
+ **Core Value:** {{core_value}}
6
+
7
+ ## {{first_milestone_name}} Requirements
8
+
9
+ Requirements for the first milestone. Each should map to one or more roadmap
10
+ phases. Edit these and add more after `np:new-project` completes.
11
+
12
+ <!-- TBD: first requirement -->
13
+ - [ ] **REQ-01**: TBD — edit this line with a checkable requirement
14
+
15
+ <!-- TBD: add more requirements here as they emerge -->
16
+
17
+ ## Out of Scope
18
+
19
+ Explicitly excluded. Documented to prevent scope creep.
20
+
21
+ <!-- TBD: add exclusions as boundaries become clear -->
22
+
23
+ | Feature | Reason |
24
+ |---------|--------|
25
+ | *(none yet)* | — |
26
+
27
+ ## Traceability
28
+
29
+ Which phases cover which requirements. Updated during roadmap evolution.
30
+
31
+ <!-- Filled by /np:plan-phase -->
32
+
33
+ | Requirement | Phase | Status |
34
+ |-------------|-------|--------|
35
+ | REQ-01 | TBD | Pending |
36
+
37
+ ---
38
+ *Requirements defined: {{created_date}}*
@@ -0,0 +1,61 @@
1
+ ---
2
+ phase: {N}
3
+ slug: {phase-slug}
4
+ status: draft
5
+ threats_open: 0
6
+ asvs_level: 1
7
+ created: {date}
8
+ ---
9
+
10
+ # Phase {N} — Security
11
+
12
+ > Per-phase security contract: threat register, accepted risks, and audit trail.
13
+
14
+ ---
15
+
16
+ ## Trust Boundaries
17
+
18
+ | Boundary | Description | Data Crossing |
19
+ |----------|-------------|---------------|
20
+ | {boundary} | {description} | {data type / sensitivity} |
21
+
22
+ ---
23
+
24
+ ## Threat Register
25
+
26
+ | Threat ID | Category | Component | Disposition | Mitigation | Status |
27
+ |-----------|----------|-----------|-------------|------------|--------|
28
+ | T-{N}-01 | {STRIDE category} | {component} | {mitigate / accept / transfer} | {control or reference} | open |
29
+
30
+ *Status: open · closed*
31
+ *Disposition: mitigate (implementation required) · accept (documented risk) · transfer (third-party)*
32
+
33
+ ---
34
+
35
+ ## Accepted Risks Log
36
+
37
+ | Risk ID | Threat Ref | Rationale | Accepted By | Date |
38
+ |---------|------------|-----------|-------------|------|
39
+
40
+ *Accepted risks do not resurface in future audit runs.*
41
+
42
+ *If none: "No accepted risks."*
43
+
44
+ ---
45
+
46
+ ## Security Audit Trail
47
+
48
+ | Audit Date | Threats Total | Closed | Open | Run By |
49
+ |------------|---------------|--------|------|--------|
50
+ | {YYYY-MM-DD} | {N} | {N} | {N} | {name / agent} |
51
+
52
+ ---
53
+
54
+ ## Sign-Off
55
+
56
+ - [ ] All threats have a disposition (mitigate / accept / transfer)
57
+ - [ ] Accepted risks documented in Accepted Risks Log
58
+ - [ ] `threats_open: 0` confirmed
59
+ - [ ] `status: verified` set in frontmatter
60
+
61
+ **Approval:** {pending / verified YYYY-MM-DD}
@@ -0,0 +1,64 @@
1
+ ---
2
+ phase: {{phase}}
3
+ generated: {{timestamp}}
4
+ generator: np:ui-phase
5
+ ---
6
+
7
+ # Phase {{phase}} — UI Spec
8
+
9
+ This document is the UI design contract for Phase {{phase}}. It locks the
10
+ six visual pillars BEFORE the planner creates tasks so execution stays
11
+ consistent with brand and system. Re-read this file in full before any
12
+ task that modifies user-facing surface.
13
+
14
+ ## 1. Spacing
15
+
16
+ Spacing scale, layout grid, vertical rhythm, and breakpoint math.
17
+
18
+ {{spacing_rules}}
19
+
20
+ ## 2. Typography
21
+
22
+ Type scale, font stacks, weights, line-heights, and letter-spacing.
23
+ Include usage rules (headings vs body, emphasis, numeric alignment).
24
+
25
+ {{typography_scale}}
26
+
27
+ ## 3. Color
28
+
29
+ Palette with token names, contrast contracts (WCAG AA/AAA evidence), and
30
+ semantic intent (danger, warning, info, success, neutral). Include
31
+ dark/light variants if applicable.
32
+
33
+ {{color_palette}}
34
+
35
+ ## 4. Copywriting
36
+
37
+ Voice, tone, persona. Reusable microcopy patterns (CTAs, empty states,
38
+ errors, confirmations). Include profanity / tone guardrails.
39
+
40
+ {{voice_and_tone}}
41
+
42
+ ## 5. Design System
43
+
44
+ Component inventory from the chosen design system (shadcn/ui, Radix,
45
+ Material, bespoke). Which components are already-wired vs TODO. Which
46
+ design-tokens map to which Tailwind/CSS-variable name.
47
+
48
+ {{design_system_components}}
49
+
50
+ ## 6. Components
51
+
52
+ Phase-specific component contracts: prop signature, accessibility
53
+ contract (ARIA roles/labels, keyboard nav), state machine, edge cases.
54
+
55
+ {{component_inventory}}
56
+
57
+ ## Checklist
58
+
59
+ - [ ] Spacing scale defined with evidence (Section 1)
60
+ - [ ] Typography scale + font-stack pinned (Section 2)
61
+ - [ ] Color palette with contrast contract (Section 3)
62
+ - [ ] Voice and microcopy patterns captured (Section 4)
63
+ - [ ] Design-system inventory with token map (Section 5)
64
+ - [ ] Component contracts per phase (Section 6)
@@ -0,0 +1,76 @@
1
+ ---
2
+ phase: {N}
3
+ slug: {phase-slug}
4
+ status: draft
5
+ nyquist_compliant: false
6
+ wave_0_complete: false
7
+ created: {date}
8
+ ---
9
+
10
+ # Phase {N} — Validation Strategy
11
+
12
+ > Per-phase validation contract for feedback sampling during execution.
13
+
14
+ ---
15
+
16
+ ## Test Infrastructure
17
+
18
+ | Property | Value |
19
+ |----------|-------|
20
+ | **Framework** | {pytest 7.x / jest 29.x / vitest / go test / other} |
21
+ | **Config file** | {path or "none — Wave 0 installs"} |
22
+ | **Quick run command** | `{quick command}` |
23
+ | **Full suite command** | `{full command}` |
24
+ | **Estimated runtime** | ~{N} seconds |
25
+
26
+ ---
27
+
28
+ ## Sampling Rate
29
+
30
+ - **After every task commit:** Run `{quick run command}`
31
+ - **After every plan wave:** Run `{full suite command}`
32
+ - **Before `/np:verify-work`:** Full suite must be green
33
+ - **Max feedback latency:** {N} seconds
34
+
35
+ ---
36
+
37
+ ## Per-Task Verification Map
38
+
39
+ | Task ID | Plan | Wave | Requirement | Threat Ref | Secure Behavior | Test Type | Automated Command | File Exists | Status |
40
+ |---------|------|------|-------------|------------|-----------------|-----------|-------------------|-------------|--------|
41
+ | {N}-01-01 | 01 | 1 | REQ-{XX} | T-{N}-01 / — | {expected secure behavior or "N/A"} | unit | `{command}` | ✅ / ❌ W0 | ⬜ pending |
42
+
43
+ *Status: ⬜ pending · ✅ green · ❌ red · ⚠️ flaky*
44
+
45
+ ---
46
+
47
+ ## Wave 0 Requirements
48
+
49
+ - [ ] `{tests/test_file.py}` — stubs for REQ-{XX}
50
+ - [ ] `{tests/conftest.py}` — shared fixtures
51
+ - [ ] `{framework install}` — if no framework detected
52
+
53
+ *If none: "Existing infrastructure covers all phase requirements."*
54
+
55
+ ---
56
+
57
+ ## Manual-Only Verifications
58
+
59
+ | Behavior | Requirement | Why Manual | Test Instructions |
60
+ |----------|-------------|------------|-------------------|
61
+ | {behavior} | REQ-{XX} | {reason} | {steps} |
62
+
63
+ *If none: "All phase behaviors have automated verification."*
64
+
65
+ ---
66
+
67
+ ## Validation Sign-Off
68
+
69
+ - [ ] All tasks have `<automated>` verify or Wave 0 dependencies
70
+ - [ ] Sampling continuity: no 3 consecutive tasks without automated verify
71
+ - [ ] Wave 0 covers all MISSING references
72
+ - [ ] No watch-mode flags
73
+ - [ ] Feedback latency < {N}s
74
+ - [ ] `nyquist_compliant: true` set in frontmatter
75
+
76
+ **Approval:** {pending / approved YYYY-MM-DD}
@@ -0,0 +1,11 @@
1
+ # nubos-pilot Source Payload
2
+
3
+ This directory is the SOURCE TREE for the installer. Content ships here and is COPIED by `bin/install.js` into `.claude/nubos-pilot/` at install time.
4
+
5
+ Subdirectories (populated in Phase 8 and onwards):
6
+ - `workflows/` — `.md` commands copied into `.claude/nubos-pilot/workflows/`
7
+ - `agents/` — agent `.md` files
8
+ - `hooks/` — hook scripts
9
+ - `templates/` — scaffolding templates
10
+
11
+ See `.planning/phases/07-install-npx-flow/07-RESEARCH.md` §Recommended Project Structure for the full layout.
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "https://opencode.ai/config.json",
3
+ "agent": {
4
+ "paths": [".claude/agents/"]
5
+ }
6
+ }
@@ -0,0 +1,9 @@
1
+ # AGENTS.md (OpenCode)
2
+
3
+ > This file is regenerated by nubos-pilot on install. User edits will be preserved
4
+ > only outside the managed block.
5
+
6
+ <!-- nubos-pilot:begin v1 -->
7
+ <!-- do not edit manually — managed by npx nubos-pilot -->
8
+ (Managed content rewritten by installer.)
9
+ <!-- nubos-pilot:end -->