@vaubaan/harness 0.0.0-stage → 1.3.2

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 (53) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +5 -0
  3. package/README.md +307 -2
  4. package/dist/agents/coding.agent.md +182 -0
  5. package/dist/agents/merge.agent.md +139 -0
  6. package/dist/agents/planning.agent.md +194 -0
  7. package/dist/agents/review.agent.md +176 -0
  8. package/dist/cli/index.d.ts +1 -0
  9. package/dist/cli/index.js +2924 -0
  10. package/dist/cli/index.js.map +1 -0
  11. package/dist/commands/clean-code.cmd.md +26 -0
  12. package/dist/commands/decision.cmd.md +19 -0
  13. package/dist/commands/doc-audit.cmd.md +24 -0
  14. package/dist/commands/drift.cmd.md +18 -0
  15. package/dist/commands/handbook.cmd.md +21 -0
  16. package/dist/commands/readme.cmd.md +19 -0
  17. package/dist/commands/spec.cmd.md +20 -0
  18. package/dist/commands/test-plan.cmd.md +22 -0
  19. package/dist/commands/workflow.cmd.md +19 -0
  20. package/dist/index.d.ts +36 -0
  21. package/dist/index.js +1706 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/init.d.ts +42 -0
  24. package/dist/init.js +1088 -0
  25. package/dist/init.js.map +1 -0
  26. package/dist/linters/index.d.ts +43 -0
  27. package/dist/linters/index.js +727 -0
  28. package/dist/linters/index.js.map +1 -0
  29. package/dist/parser/index.d.ts +247 -0
  30. package/dist/parser/index.js +114 -0
  31. package/dist/parser/index.js.map +1 -0
  32. package/dist/render-B9_kNtQc.d.ts +50 -0
  33. package/dist/render.d.ts +3 -0
  34. package/dist/render.js +572 -0
  35. package/dist/render.js.map +1 -0
  36. package/dist/skills/clean-code-guardian.skill.md +391 -0
  37. package/dist/skills/decision-record-writer.skill.md +166 -0
  38. package/dist/skills/doc-audit.skill.md +257 -0
  39. package/dist/skills/drift-detector.skill.md +173 -0
  40. package/dist/skills/handbook-writer.skill.md +185 -0
  41. package/dist/skills/readme-writer.skill.md +131 -0
  42. package/dist/skills/spec-writer.skill.md +165 -0
  43. package/dist/skills/test-plan-writer.skill.md +179 -0
  44. package/dist/skills/workflow-writer.skill.md +168 -0
  45. package/dist/templates/code-quality.md.tmpl +57 -0
  46. package/dist/templates/coding-workflow.md.tmpl +88 -0
  47. package/dist/templates/decision.md.tmpl +60 -0
  48. package/dist/templates/e2e-tests.md.tmpl +62 -0
  49. package/dist/templates/handbook.md.tmpl +58 -0
  50. package/dist/templates/integration-tests.md.tmpl +50 -0
  51. package/dist/templates/readme.md.tmpl +51 -0
  52. package/dist/templates/spec.md.tmpl +64 -0
  53. package/package.json +82 -4
@@ -0,0 +1,24 @@
1
+ ---
2
+ id: doc-audit
3
+ trigger: /doc-audit
4
+ invokes_skill: doc-audit
5
+ args:
6
+ - name: scope
7
+ type: enum
8
+ values: [spec, decisions, handbook, tests, workflow, readme, all]
9
+ default: all
10
+ description: Audits the completeness and freshness of the project docs (selectable scope).
11
+ ---
12
+
13
+ # /doc-audit
14
+
15
+ When the human or the agent invokes `/doc-audit [scope]`, load the skill
16
+ `doc-audit` with the `scope` passed as argument (default `all`).
17
+
18
+ The skill reads `docs/` and `README.md`, applies the §9.3 criteria, and emits
19
+ a Markdown report in `.vaubaan/reports/doc-audit.md` (creates the folder if missing).
20
+ If `scope` is restricted (e.g. `decisions`), only that pillar is audited;
21
+ the report does not mention the others.
22
+
23
+ No additional logic here — the command is a simple
24
+ `slash → skill + args` binding.
@@ -0,0 +1,18 @@
1
+ ---
2
+ id: drift
3
+ trigger: /drift
4
+ invokes_skill: drift-detector
5
+ description: "Detects code ↔ doc drift (stale handbooks, orphan ADRs, stale tracks)."
6
+ ---
7
+
8
+ # /drift
9
+
10
+ When the human or the agent invokes `/drift`, load the skill
11
+ `drift-detector`.
12
+
13
+ The skill compares the files declared in the `tracks:` frontmatter of
14
+ handbooks / test plans / workflow against their git history, flags
15
+ drifts beyond the configured threshold, and lists recently modified
16
+ code files with no doc counterpart.
17
+
18
+ No arguments — the skill produces a standalone report.
@@ -0,0 +1,21 @@
1
+ ---
2
+ id: handbook
3
+ trigger: /handbook
4
+ invokes_skill: handbook-writer
5
+ args:
6
+ - name: name
7
+ type: string
8
+ description: Documents the actual implementation of a feature under `docs/handbook/<name>.md`.
9
+ ---
10
+
11
+ # /handbook
12
+
13
+ When the human or the agent invokes `/handbook [name]`, load the skill
14
+ `handbook-writer` with the optional `name` argument.
15
+
16
+ If `name` is provided, the skill targets `docs/handbook/<name>.md`. Without
17
+ an argument, it offers the existing handbooks or creates a new one
18
+ after identifying the code area to document.
19
+
20
+ The skill reads the code, proposes a draft (`tracks:` frontmatter included
21
+ via `handbook.md.tmpl`), and lets the human validate before writing.
@@ -0,0 +1,19 @@
1
+ ---
2
+ id: readme
3
+ trigger: /readme
4
+ invokes_skill: readme-writer
5
+ description: Maintains the root `README.md` (pitch, quick start, links to the pillars).
6
+ ---
7
+
8
+ # /readme
9
+
10
+ When the human or the agent invokes `/readme`, load the skill
11
+ `readme-writer`.
12
+
13
+ The skill reads the root `README.md` (or instantiates `readme.md.tmpl` if it
14
+ is missing), syncs the links to `docs/spec/`, `docs/handbook/`,
15
+ `docs/workflow/coding-workflow.md`, and checks that pitch + quick start
16
+ reflect the current state of the code (entry points, run scripts,
17
+ major dependencies).
18
+
19
+ No arguments — the skill drives the wizard.
@@ -0,0 +1,20 @@
1
+ ---
2
+ id: spec
3
+ trigger: /spec
4
+ invokes_skill: spec-writer
5
+ args:
6
+ - name: name
7
+ type: string
8
+ description: Writes or updates a `docs/spec/<name>.md` file in wizard mode.
9
+ ---
10
+
11
+ # /spec
12
+
13
+ When the human or the agent invokes `/spec [name]`, load the skill
14
+ `spec-writer` with the optional `name` argument.
15
+
16
+ If `name` is provided, the skill directly targets `docs/spec/<name>.md`
17
+ (creation or update). Without an argument, it lists the existing
18
+ specs and asks you to pick one / create one.
19
+
20
+ The skill instantiates the `spec.md.tmpl` template for creations.
@@ -0,0 +1,22 @@
1
+ ---
2
+ id: test-plan
3
+ trigger: /test-plan
4
+ invokes_skill: test-plan-writer
5
+ args:
6
+ - name: kind
7
+ type: enum
8
+ values: [integration, e2e]
9
+ default: integration
10
+ description: Updates `docs/tests/integration-tests.md` or `e2e-tests.md` depending on `kind`.
11
+ ---
12
+
13
+ # /test-plan
14
+
15
+ When the human or the agent invokes `/test-plan [kind]`, load the skill
16
+ `test-plan-writer` with the `kind` passed as argument (default `integration`).
17
+
18
+ The skill targets `docs/tests/integration-tests.md` or
19
+ `docs/tests/e2e-tests.md` depending on `kind`. It walks the existing test
20
+ code to detect unlisted scenarios and proposes updates,
21
+ relying on the `integration-tests.md.tmpl` or
22
+ `e2e-tests.md.tmpl` templates for creations.
@@ -0,0 +1,19 @@
1
+ ---
2
+ id: workflow
3
+ trigger: /workflow
4
+ invokes_skill: workflow-writer
5
+ description: Updates `docs/workflow/coding-workflow.md` (CI, env variants, PR, branches, release).
6
+ ---
7
+
8
+ # /workflow
9
+
10
+ When the human or the agent invokes `/workflow`, load the skill
11
+ `workflow-writer`.
12
+
13
+ The skill reads `.github/workflows/`, `vercel.json`, the `package.json`
14
+ scripts, the branch/PR config, and proposes an update of the
15
+ required sections (CI / env / PR / branches / release) of
16
+ `docs/workflow/coding-workflow.md`. For an initial creation, it
17
+ instantiates `coding-workflow.md.tmpl`.
18
+
19
+ No arguments — the skill drives the wizard.
@@ -0,0 +1,36 @@
1
+ export { InitArgs, InitResult, initCommand, planInit, writeFilesToTarget } from './init.js';
2
+ import { d as RenderedFile } from './render-B9_kNtQc.js';
3
+ import './parser/index.js';
4
+ import 'zod';
5
+
6
+ declare const VERSION = "1.3.2";
7
+
8
+ interface UpdateArgs {
9
+ targetDir: string;
10
+ packageDir?: string;
11
+ overridesDir?: string;
12
+ preserveFiles?: ReadonlyArray<string>;
13
+ dryRun?: boolean;
14
+ /** Exact new backup directory, outside the project. Defaults to private user state. */
15
+ backupDir?: string;
16
+ }
17
+ interface UpdateResult {
18
+ version: string;
19
+ fromManifestVersion: string;
20
+ dryRun: boolean;
21
+ upToDate: boolean;
22
+ filesToWrite: string[];
23
+ filesToRemove: string[];
24
+ warnings: string[];
25
+ backupDir?: string;
26
+ }
27
+ interface UpdatePlan {
28
+ writes: RenderedFile[];
29
+ removals: string[];
30
+ result: UpdateResult;
31
+ }
32
+ /** All reads and validation precede backup creation and project mutations. */
33
+ declare function planUpdate(args: UpdateArgs): UpdatePlan;
34
+ declare function updateCommand(args: UpdateArgs): UpdateResult;
35
+
36
+ export { type UpdateArgs, type UpdateResult, VERSION, planUpdate, updateCommand };