@wefter/opencode 0.2.0 → 0.3.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 (96) hide show
  1. package/CHANGELOG.md +43 -25
  2. package/LICENSE +21 -21
  3. package/README.md +128 -125
  4. package/bin/wefter.js +8 -8
  5. package/docs/ARCHITECTURE.md +75 -75
  6. package/docs/INSTALLATION.md +56 -47
  7. package/docs/ROADMAP.md +48 -0
  8. package/docs/SAFETY_MODEL.md +18 -17
  9. package/docs/SELF_AUDIT.md +37 -35
  10. package/docs/WORKFLOWS.md +17 -15
  11. package/package.json +45 -45
  12. package/schemas/documentation-audit-profile.schema.json +55 -55
  13. package/schemas/install-manifest.schema.json +42 -0
  14. package/schemas/product-shaping-config.schema.json +63 -63
  15. package/schemas/product-shaping-contract.schema.json +204 -204
  16. package/schemas/product-shaping-profile.schema.json +39 -39
  17. package/schemas/product-shaping-run-manifest.schema.json +103 -103
  18. package/schemas/run-manifest.schema.json +14 -14
  19. package/schemas/wefter.config.schema.json +62 -62
  20. package/schemas/work-unit-config.schema.json +51 -44
  21. package/schemas/work-unit-profile.schema.json +38 -38
  22. package/schemas/work-unit-review-result.schema.json +13 -13
  23. package/schemas/workflow-manifest.schema.json +31 -21
  24. package/src/cli/main.js +2937 -2646
  25. package/src/workflows/documentation-audit/README.md +37 -37
  26. package/src/workflows/documentation-audit/templates/README.md.tmpl +47 -47
  27. package/src/workflows/documentation-audit/templates/opencode/agent/wefter-doc-audit-consolidator.md.tmpl +27 -27
  28. package/src/workflows/documentation-audit/templates/opencode/agent/wefter-doc-audit-orchestrator.md.tmpl +69 -65
  29. package/src/workflows/documentation-audit/templates/opencode/agent/wefter-doc-audit-profile-builder.md.tmpl +58 -58
  30. package/src/workflows/documentation-audit/templates/opencode/agent/wefter-doc-audit-validator.md.tmpl +26 -26
  31. package/src/workflows/documentation-audit/templates/opencode/agent/wefter-doc-auditor.md.tmpl +31 -28
  32. package/src/workflows/documentation-audit/templates/opencode/skills/documentation-audit/SKILL.md.tmpl +39 -38
  33. package/src/workflows/documentation-audit/templates/prompts/auditor-prompt.md +98 -97
  34. package/src/workflows/documentation-audit/templates/prompts/consolidator-prompt.md +84 -84
  35. package/src/workflows/documentation-audit/templates/prompts/validator-prompt.md +92 -92
  36. package/src/workflows/documentation-audit/workflow.json +24 -24
  37. package/src/workflows/documentation-repair/README.md +11 -11
  38. package/src/workflows/documentation-repair/templates/opencode/agent/wefter-doc-repair-orchestrator.md.tmpl +33 -33
  39. package/src/workflows/documentation-repair/templates/opencode/agent/wefter-doc-repair-planner.md.tmpl +17 -17
  40. package/src/workflows/documentation-repair/templates/opencode/agent/wefter-doc-repair-reviewer.md.tmpl +17 -17
  41. package/src/workflows/documentation-repair/templates/opencode/agent/wefter-doc-repairer.md.tmpl +14 -14
  42. package/src/workflows/documentation-repair/templates/opencode/skills/documentation-repair/SKILL.md.tmpl +17 -17
  43. package/src/workflows/documentation-repair/templates/prompts/repair-apply-prompt.md +43 -43
  44. package/src/workflows/documentation-repair/templates/prompts/repair-plan-prompt.md +73 -73
  45. package/src/workflows/documentation-repair/templates/prompts/repair-review-prompt.md +47 -47
  46. package/src/workflows/documentation-repair/workflow.json +10 -10
  47. package/src/workflows/product-shaping/README.md +1245 -1245
  48. package/src/workflows/product-shaping/compatibility.md +33 -33
  49. package/src/workflows/product-shaping/contracts/product-spec-contract.json +250 -250
  50. package/src/workflows/product-shaping/templates/default-config.json +34 -34
  51. package/src/workflows/product-shaping/templates/default-profile.json +48 -48
  52. package/src/workflows/product-shaping/templates/documentation-audit/workflow-self-audit-auditor-prompt.md +117 -116
  53. package/src/workflows/product-shaping/templates/documentation-audit-profile.json +80 -80
  54. package/src/workflows/product-shaping/templates/opencode/agent/wefter-product-auditor.md.tmpl +22 -22
  55. package/src/workflows/product-shaping/templates/opencode/agent/wefter-product-domain-modeler.md.tmpl +31 -31
  56. package/src/workflows/product-shaping/templates/opencode/agent/wefter-product-intake-analyst.md.tmpl +31 -31
  57. package/src/workflows/product-shaping/templates/opencode/agent/wefter-product-orchestrator.md.tmpl +48 -48
  58. package/src/workflows/product-shaping/templates/opencode/agent/wefter-product-reference-researcher.md.tmpl +29 -29
  59. package/src/workflows/product-shaping/templates/opencode/agent/wefter-product-release-planner.md.tmpl +34 -34
  60. package/src/workflows/product-shaping/templates/opencode/agent/wefter-product-repairer.md.tmpl +25 -25
  61. package/src/workflows/product-shaping/templates/opencode/agent/wefter-product-shaper.md.tmpl +31 -31
  62. package/src/workflows/product-shaping/templates/opencode/agent/wefter-product-validator.md.tmpl +23 -23
  63. package/src/workflows/product-shaping/templates/opencode/skills/product-shaping/SKILL.md.tmpl +45 -45
  64. package/src/workflows/product-shaping/templates/prompts/domain-modeler-prompt.md +27 -27
  65. package/src/workflows/product-shaping/templates/prompts/intake-prompt.md +30 -30
  66. package/src/workflows/product-shaping/templates/prompts/product-auditor-prompt.md +53 -53
  67. package/src/workflows/product-shaping/templates/prompts/product-repairer-prompt.md +25 -25
  68. package/src/workflows/product-shaping/templates/prompts/product-shaper-prompt.md +26 -26
  69. package/src/workflows/product-shaping/templates/prompts/product-validator-prompt.md +55 -55
  70. package/src/workflows/product-shaping/templates/prompts/reference-research-prompt.md +25 -25
  71. package/src/workflows/product-shaping/templates/prompts/release-planner-prompt.md +34 -34
  72. package/src/workflows/product-shaping/workflow.json +33 -33
  73. package/src/workflows/technical-shaping/README.md +7 -5
  74. package/src/workflows/technical-shaping/workflow.json +14 -10
  75. package/src/workflows/work-unit-implementation/README.md +71 -71
  76. package/src/workflows/work-unit-implementation/templates/default-config.json +46 -46
  77. package/src/workflows/work-unit-implementation/templates/default-profile.json +57 -57
  78. package/src/workflows/work-unit-implementation/templates/opencode/agent/wefter-work-unit-orchestrator.md.tmpl +62 -62
  79. package/src/workflows/work-unit-implementation/templates/opencode/agent/wefter-work-unit-plan-auditor.md.tmpl +26 -26
  80. package/src/workflows/work-unit-implementation/templates/opencode/agent/wefter-work-unit-plan-consolidator.md.tmpl +26 -26
  81. package/src/workflows/work-unit-implementation/templates/opencode/agent/wefter-work-unit-plan-repairer.md.tmpl +25 -25
  82. package/src/workflows/work-unit-implementation/templates/opencode/agent/wefter-work-unit-plan-validator.md.tmpl +25 -25
  83. package/src/workflows/work-unit-implementation/templates/opencode/agent/wefter-work-unit-planner.md.tmpl +27 -27
  84. package/src/workflows/work-unit-implementation/templates/opencode/agent/wefter-work-unit-task-implementer.md.tmpl +30 -30
  85. package/src/workflows/work-unit-implementation/templates/opencode/agent/wefter-work-unit-task-reviewer.md.tmpl +28 -28
  86. package/src/workflows/work-unit-implementation/templates/opencode/agent/wefter-work-unit-validator.md.tmpl +26 -26
  87. package/src/workflows/work-unit-implementation/templates/opencode/skills/work-unit-implementation/SKILL.md.tmpl +25 -25
  88. package/src/workflows/work-unit-implementation/templates/prompts/plan-auditor-prompt.md +89 -89
  89. package/src/workflows/work-unit-implementation/templates/prompts/plan-consolidator-prompt.md +64 -64
  90. package/src/workflows/work-unit-implementation/templates/prompts/plan-repairer-prompt.md +42 -42
  91. package/src/workflows/work-unit-implementation/templates/prompts/plan-validator-prompt.md +84 -84
  92. package/src/workflows/work-unit-implementation/templates/prompts/planner-prompt.md +150 -150
  93. package/src/workflows/work-unit-implementation/templates/prompts/task-implementation-prompt.md +57 -57
  94. package/src/workflows/work-unit-implementation/templates/prompts/task-review-prompt.md +69 -69
  95. package/src/workflows/work-unit-implementation/templates/prompts/work-unit-validator-prompt.md +50 -50
  96. package/src/workflows/work-unit-implementation/workflow.json +14 -14
@@ -1,47 +1,56 @@
1
- # Installation
2
-
3
- From a published package:
4
-
5
- ```bash
6
- npx @wefter/opencode init
7
- ```
8
-
9
- From a local checkout:
10
-
11
- ```bash
12
- node <path-to-opencode-wefter>/bin/wefter.js init --target <path-to-project> --yes
13
- ```
14
-
15
- Then restart OpenCode and run:
16
-
17
- ```text
18
- /wefter-generate-doc-audit-profile
19
- /wefter-shape-product
20
- /wefter-audit-docs
21
- /wefter-repair-docs
22
- /wefter-run-work-unit
23
- ```
24
-
25
- Validate an installation with:
26
-
27
- ```bash
28
- wefter doctor
29
- ```
30
-
31
- Import an existing repository-specific documentation audit profile, such as a legacy `docs/audits/lenses.json`, with:
32
-
33
- ```bash
34
- wefter profile import --source docs/audits/lenses.json --force
35
- ```
36
-
37
- Run a one-off audit with a repository-specific profile without changing config:
38
-
39
- ```bash
40
- wefter docs audit --profile-path docs/audits/lenses.json --passes-per-lens 1 --max-audits 12
41
- ```
42
-
43
- Generate a documentation repair run from a validated audit report with:
44
-
45
- ```bash
46
- wefter docs repair --audit-report .audit/wefter/documentation-audit/<run-id>/final/final-documentation-audit-report.md
47
- ```
1
+ # Installation
2
+
3
+ From a published package:
4
+
5
+ ```bash
6
+ npx @wefter/opencode init
7
+ ```
8
+
9
+ From a local checkout:
10
+
11
+ ```bash
12
+ node <path-to-wefter>/bin/wefter.js init --target <path-to-project> --yes
13
+ ```
14
+
15
+ Then restart OpenCode and run:
16
+
17
+ ```text
18
+ /wefter-generate-doc-audit-profile
19
+ /wefter-shape-product
20
+ /wefter-audit-docs
21
+ /wefter-repair-docs
22
+ /wefter-run-work-unit
23
+ ```
24
+
25
+ Validate an installation with:
26
+
27
+ ```bash
28
+ wefter doctor
29
+ ```
30
+
31
+ Preview and remove an installation with:
32
+
33
+ ```bash
34
+ wefter uninstall --dry-run
35
+ wefter uninstall --yes
36
+ ```
37
+
38
+ `uninstall` uses `.wefter/install-manifest.json` and removes only unchanged Wefter-managed files unless `--force` is used. It also removes Wefter commands and watcher ignores from `opencode.json` without deleting unrelated user configuration.
39
+
40
+ Import an existing repository-specific documentation audit profile, such as a legacy `docs/audits/lenses.json`, with:
41
+
42
+ ```bash
43
+ wefter profile import --source docs/audits/lenses.json --force
44
+ ```
45
+
46
+ Run a one-off audit with a repository-specific profile without changing config:
47
+
48
+ ```bash
49
+ wefter docs audit --profile-path docs/audits/lenses.json --passes-per-lens 1 --max-audits 12
50
+ ```
51
+
52
+ Generate a documentation repair run from a validated audit report with:
53
+
54
+ ```bash
55
+ wefter docs repair --audit-report .audit/wefter/documentation-audit/<run-id>/final/final-documentation-audit-report.md
56
+ ```
@@ -0,0 +1,48 @@
1
+ # Roadmap
2
+
3
+ Wefter development should move in small workflow releases. Each release must preserve installed-project compatibility unless a migration path is explicit.
4
+
5
+ ## Current Foundation
6
+
7
+ - `product-shaping` is available and produces `DELIVERABLES.md` as the product handoff.
8
+ - `work-unit-implementation` remains the executable implementation engine under legacy vocabulary.
9
+ - `technical-shaping` is registered as planned metadata only; it must not install commands until implemented.
10
+ - `init` records installed files in `.wefter/install-manifest.json`; `uninstall` removes manifest-recorded files safely.
11
+
12
+ ## Next Release Order
13
+
14
+ 1. `delivery-implementation-migration`
15
+ 2. `technical-shaping-foundation`
16
+ 3. CLI modularization and schema validation hardening
17
+
18
+ ## Delivery Implementation Migration
19
+
20
+ Goal: migrate vocabulary and defaults from `work-unit-implementation` toward `delivery-implementation` without breaking existing installations.
21
+
22
+ Required decisions:
23
+
24
+ - Whether `DELIVERABLES.md` becomes the default implementation source document.
25
+ - Which legacy command aliases remain and for how long.
26
+ - Whether schemas are renamed, aliased or versioned in place.
27
+ - How OpenCode agent names transition without invalidating existing configs.
28
+
29
+ Non-goals:
30
+
31
+ - Do not remove `work-unit` commands in the first migration release.
32
+ - Do not change product-shaping responsibilities.
33
+ - Do not create technical design artifacts in delivery implementation.
34
+
35
+ ## Technical Shaping Foundation
36
+
37
+ Goal: define a workflow between product-shaped deliverables and delivery implementation.
38
+
39
+ Required outputs:
40
+
41
+ - Technical decisions and constraints.
42
+ - Data contracts and interface expectations.
43
+ - Verification strategy for delivery implementation.
44
+ - Explicit human gates for architecture, security, persistence and migration decisions.
45
+
46
+ Activation rule:
47
+
48
+ `technical-shaping` commands stay in `plannedCommands` until the workflow has process docs, config/profile defaults, prompt templates, agents, schemas, CLI run generation and validation tests.
@@ -1,17 +1,18 @@
1
- # Safety Model
2
-
3
- Wefter workflows are designed as gated loops, not free-form agent prompts.
4
-
5
- Core rules:
6
-
7
- - Detection and correction are separate workflows.
8
- - Documentation audit agents must not edit source documentation.
9
- - Documentation repair must plan before editing and pause on unresolved human decisions.
10
- - Runtime artifacts are written under workflow-specific configured roots: legacy audit, repair and work-unit workflows default to `.audit/wefter/`, while product-shaping defaults to `.wefter/runs/`.
11
- - Versioned workflow configuration is written under `.wefter/` by default.
12
- - Paths are target-repository relative and must not contain `..`.
13
- - Run directories are staged before becoming visible as final runs.
14
- - OpenCode agent permissions restrict write access to configured artifact paths.
15
- - Implementation work must be task-level, reviewed and validated before moving to the next work unit.
16
-
17
- OpenCode must be restarted after installing or changing agents, skills or commands.
1
+ # Safety Model
2
+
3
+ Wefter workflows are designed as gated loops, not free-form agent prompts.
4
+
5
+ Core rules:
6
+
7
+ - Detection and correction are separate workflows.
8
+ - Documentation audit agents must not edit source documentation.
9
+ - Documentation repair must plan before editing and pause on unresolved human decisions.
10
+ - Runtime artifacts are written under workflow-specific configured roots: legacy audit, repair and work-unit workflows default to `.audit/wefter/`, while product-shaping defaults to `.wefter/runs/`.
11
+ - Versioned workflow configuration is written under `.wefter/` by default.
12
+ - Paths are target-repository relative and must not contain `..`.
13
+ - Run directories are staged before becoming visible as final runs.
14
+ - Installations write `.wefter/install-manifest.json`; uninstall removes manifest-recorded files only when unchanged unless `--force` is explicit.
15
+ - OpenCode agent permissions restrict write access to configured artifact paths.
16
+ - Implementation work must be task-level, reviewed and validated before moving to the next work unit.
17
+
18
+ OpenCode must be restarted after installing or changing agents, skills or commands.
@@ -1,35 +1,37 @@
1
- # Self Audit
2
-
3
- Wefter can run `documentation-audit` against its own workflow source before publishing a workflow as available.
4
-
5
- The CLI command generates the audit run and auditor prompts. It does not execute the prompts by itself; a documentation-audit orchestrator or agent must resume the generated run and complete the raw audit, consolidation and validation steps.
6
-
7
- Use this pattern for any workflow-specific audit profile:
8
-
9
- ```bash
10
- node bin/wefter.js docs audit --profile-path <workflow-audit-profile.json> --run-name <workflow-id>-self-audit --passes-per-lens 1 --max-audits 0
11
- ```
12
-
13
- `--max-audits 0` means no audit prompt cap.
14
-
15
- Product-shaping example:
16
-
17
- ```bash
18
- node bin/wefter.js docs audit --profile-path src/workflows/product-shaping/templates/documentation-audit-profile.json --run-name product-shaping-self-audit --passes-per-lens 1 --max-audits 0
19
- ```
20
-
21
- Seed prompt:
22
-
23
- ```text
24
- Audit the current workflow release against CHANGELOG.md and the workflow README.
25
- Focus on doctrine drift, missing runtime enforcement, handoff or gate bypasses, OpenCode execution gaps, schema/contract mismatch, weak tests and release artifacts that should not be committed.
26
- Treat prior review findings as hypotheses, not conclusions.
27
- ```
28
-
29
- After the run is generated, resume it with:
30
-
31
- ```text
32
- Resume the documentation audit run at .wefter/runs/documentation-audit/<run-id>.
33
- Read manifest.json, execute every auditor prompt listed there, write each raw output to its assigned path, then run prompts/consolidate.md and prompts/validate.md.
34
- Do not edit source files. Write only under the run directory.
35
- ```
1
+ # Self Audit
2
+
3
+ Wefter can run `documentation-audit` against its own workflow source before publishing a workflow as available.
4
+
5
+ The CLI command generates the audit run and auditor prompts. It does not execute the prompts by itself; a documentation-audit orchestrator or agent must resume the generated run and complete the raw audit, consolidation and validation steps.
6
+
7
+ Use this pattern for any workflow-specific audit profile:
8
+
9
+ ```bash
10
+ node bin/wefter.js docs audit --profile-path <workflow-audit-profile.json> --run-name <workflow-id>-self-audit --passes-per-lens 1 --max-audits 0
11
+ ```
12
+
13
+ `--max-audits 0` means no audit prompt cap.
14
+
15
+ Product-shaping example:
16
+
17
+ ```bash
18
+ node bin/wefter.js docs audit --profile-path src/workflows/product-shaping/templates/documentation-audit-profile.json --run-name product-shaping-self-audit --passes-per-lens 1 --max-audits 0
19
+ ```
20
+
21
+ The Wefter repository dogfoods documentation-audit with `artifactRoot` set to `.wefter/runs/documentation-audit` in its local `wefter.config.json`. Installed projects use the public default `.audit/wefter/documentation-audit` unless their config overrides it.
22
+
23
+ Seed prompt:
24
+
25
+ ```text
26
+ Audit the current workflow release against CHANGELOG.md and the workflow README.
27
+ Focus on doctrine drift, missing runtime enforcement, handoff or gate bypasses, OpenCode execution gaps, schema/contract mismatch, weak tests and release artifacts that should not be committed.
28
+ Treat prior review findings as hypotheses, not conclusions.
29
+ ```
30
+
31
+ After the run is generated, resume it with:
32
+
33
+ ```text
34
+ Resume the documentation audit run at .wefter/runs/documentation-audit/<run-id>.
35
+ Read manifest.json, execute every auditor prompt listed there, write each raw output to its assigned path, then run prompts/consolidate.md and prompts/validate.md.
36
+ Do not edit source files. Write only under the run directory.
37
+ ```
package/docs/WORKFLOWS.md CHANGED
@@ -1,15 +1,17 @@
1
- # Workflows
2
-
3
- Wefter workflow IDs are stable nouns. CLI and OpenCode commands use verbs.
4
-
5
- | Workflow ID | CLI | OpenCode | Status |
6
- | --- | --- | --- | --- |
7
- | `product-shaping` | `wefter product shape`, `wefter product validate` | `/wefter-shape-product` | Available |
8
- | `documentation-audit` | `wefter docs audit` | `/wefter-audit-docs` | Available |
9
- | `documentation-repair` | `wefter docs repair` | `/wefter-repair-docs` | Available |
10
- | `technical-shaping` | `wefter technical shape` | `/wefter-shape-technical` | Planned |
11
- | `work-unit-implementation` | `wefter work-unit run`, `wefter work-unit guard` | `/wefter-run-work-unit` | Available |
12
-
13
- The `0.2.0` release promotes `product-shaping` to available. `documentation-audit` remains executable end-to-end. `documentation-repair` can generate repair runs from final audit reports with planning, human-decision gates, repair application and review prompts. `work-unit-implementation` can generate planning runs, orchestrate plan review, enforce deterministic task/review guards and validate a completed work unit.
14
-
15
- For workflow dogfooding and release self-audit, see `docs/SELF_AUDIT.md`.
1
+ # Workflows
2
+
3
+ Wefter workflow IDs are stable nouns. CLI and OpenCode commands use verbs.
4
+
5
+ | Workflow ID | CLI | OpenCode | Status |
6
+ | --- | --- | --- | --- |
7
+ | `product-shaping` | `wefter product shape`, `wefter product validate` | `/wefter-shape-product` | Available |
8
+ | `documentation-audit` | `wefter docs audit` | `/wefter-audit-docs` | Available |
9
+ | `documentation-repair` | `wefter docs repair` | `/wefter-repair-docs` | Available |
10
+ | `technical-shaping` | Not installed while planned | Not installed while planned | Planned |
11
+ | `work-unit-implementation` | `wefter work-unit run`, `wefter work-unit guard` | `/wefter-run-work-unit` | Available |
12
+
13
+ The `0.2.0` release promotes `product-shaping` to available. `documentation-audit` remains executable end-to-end. `documentation-repair` can generate repair runs from final audit reports with planning, human-decision gates, repair application and review prompts. `work-unit-implementation` can generate planning runs, orchestrate plan review, enforce deterministic task/review guards and validate a completed work unit.
14
+
15
+ Planned workflows may document future command names in their workflow manifest, but only commands under `commands` are executable/installed. `technical-shaping` is intentionally not installed until its contract and CLI are implemented.
16
+
17
+ For workflow dogfooding and release self-audit, see `docs/SELF_AUDIT.md`.
package/package.json CHANGED
@@ -1,45 +1,45 @@
1
- {
2
- "name": "@wefter/opencode",
3
- "version": "0.2.0",
4
- "description": "Installable Wefter workflows for OpenCode projects.",
5
- "type": "module",
6
- "repository": {
7
- "type": "git",
8
- "url": "git+ssh://git@github.com/Wuerike/wefter.git"
9
- },
10
- "bugs": {
11
- "url": "https://github.com/Wuerike/wefter/issues"
12
- },
13
- "homepage": "https://github.com/Wuerike/wefter#readme",
14
- "bin": {
15
- "wefter": "bin/wefter.js"
16
- },
17
- "scripts": {
18
- "check": "node --check bin/wefter.js && node --check src/cli/main.js",
19
- "doctor:self": "node bin/wefter.js --help",
20
- "test": "node --test"
21
- },
22
- "keywords": [
23
- "opencode",
24
- "wefter",
25
- "documentation",
26
- "audit",
27
- "workflow",
28
- "llm"
29
- ],
30
- "license": "MIT",
31
- "publishConfig": {
32
- "access": "public"
33
- },
34
- "engines": {
35
- "node": ">=18.17"
36
- },
37
- "files": [
38
- "bin/",
39
- "src/",
40
- "schemas/",
41
- "docs/",
42
- "CHANGELOG.md",
43
- "README.md"
44
- ]
45
- }
1
+ {
2
+ "name": "@wefter/opencode",
3
+ "version": "0.3.0",
4
+ "description": "Installable Wefter workflows for OpenCode projects.",
5
+ "type": "module",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/Wuerike/wefter.git"
9
+ },
10
+ "bugs": {
11
+ "url": "https://github.com/Wuerike/wefter/issues"
12
+ },
13
+ "homepage": "https://github.com/Wuerike/wefter#readme",
14
+ "bin": {
15
+ "wefter": "bin/wefter.js"
16
+ },
17
+ "scripts": {
18
+ "check": "node --check bin/wefter.js && node --check src/cli/main.js",
19
+ "doctor:self": "node bin/wefter.js --help",
20
+ "test": "node --test"
21
+ },
22
+ "keywords": [
23
+ "opencode",
24
+ "wefter",
25
+ "documentation",
26
+ "audit",
27
+ "workflow",
28
+ "llm"
29
+ ],
30
+ "license": "MIT",
31
+ "publishConfig": {
32
+ "access": "public"
33
+ },
34
+ "engines": {
35
+ "node": ">=18.17"
36
+ },
37
+ "files": [
38
+ "bin/",
39
+ "src/",
40
+ "schemas/",
41
+ "docs/",
42
+ "CHANGELOG.md",
43
+ "README.md"
44
+ ]
45
+ }
@@ -1,55 +1,55 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://wefter.dev/schemas/documentation-audit-profile.schema.json",
4
- "type": "object",
5
- "required": ["version", "corpus", "variants", "lenses"],
6
- "properties": {
7
- "version": { "const": 1 },
8
- "auditorPromptPath": { "$ref": "#/$defs/relativePath" },
9
- "corpus": {
10
- "type": "object",
11
- "required": ["include", "exclude"],
12
- "properties": {
13
- "include": { "type": "array", "items": { "type": "string", "minLength": 1 } },
14
- "exclude": { "type": "array", "items": { "type": "string", "minLength": 1 } }
15
- },
16
- "additionalProperties": false
17
- },
18
- "variants": {
19
- "type": "array",
20
- "minItems": 1,
21
- "items": {
22
- "type": "object",
23
- "required": ["id", "title", "instruction"],
24
- "properties": {
25
- "id": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]*$" },
26
- "title": { "type": "string", "minLength": 1 },
27
- "instruction": { "type": "string", "minLength": 1 }
28
- },
29
- "additionalProperties": false
30
- }
31
- },
32
- "lenses": {
33
- "type": "array",
34
- "minItems": 1,
35
- "items": {
36
- "type": "object",
37
- "required": ["id", "title", "focus"],
38
- "properties": {
39
- "id": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]*$" },
40
- "title": { "type": "string", "minLength": 1 },
41
- "focus": { "type": "string", "minLength": 1 }
42
- },
43
- "additionalProperties": false
44
- }
45
- }
46
- },
47
- "additionalProperties": false,
48
- "$defs": {
49
- "relativePath": {
50
- "type": "string",
51
- "minLength": 1,
52
- "pattern": "^(?![A-Za-z]:)(?![\\\\/])(?!.*(?:^|/)\\.\\.(?:/|$))[^\\\\\r\n]+$"
53
- }
54
- }
55
- }
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://wefter.dev/schemas/documentation-audit-profile.schema.json",
4
+ "type": "object",
5
+ "required": ["version", "corpus", "variants", "lenses"],
6
+ "properties": {
7
+ "version": { "const": 1 },
8
+ "auditorPromptPath": { "$ref": "#/$defs/relativePath" },
9
+ "corpus": {
10
+ "type": "object",
11
+ "required": ["include", "exclude"],
12
+ "properties": {
13
+ "include": { "type": "array", "items": { "type": "string", "minLength": 1 } },
14
+ "exclude": { "type": "array", "items": { "type": "string", "minLength": 1 } }
15
+ },
16
+ "additionalProperties": false
17
+ },
18
+ "variants": {
19
+ "type": "array",
20
+ "minItems": 1,
21
+ "items": {
22
+ "type": "object",
23
+ "required": ["id", "title", "instruction"],
24
+ "properties": {
25
+ "id": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]*$" },
26
+ "title": { "type": "string", "minLength": 1 },
27
+ "instruction": { "type": "string", "minLength": 1 }
28
+ },
29
+ "additionalProperties": false
30
+ }
31
+ },
32
+ "lenses": {
33
+ "type": "array",
34
+ "minItems": 1,
35
+ "items": {
36
+ "type": "object",
37
+ "required": ["id", "title", "focus"],
38
+ "properties": {
39
+ "id": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]*$" },
40
+ "title": { "type": "string", "minLength": 1 },
41
+ "focus": { "type": "string", "minLength": 1 }
42
+ },
43
+ "additionalProperties": false
44
+ }
45
+ }
46
+ },
47
+ "additionalProperties": false,
48
+ "$defs": {
49
+ "relativePath": {
50
+ "type": "string",
51
+ "minLength": 1,
52
+ "pattern": "^(?![A-Za-z]:)(?![\\\\/])(?!.*(?:^|/)\\.\\.(?:/|$))[^\\\\\r\n]+$"
53
+ }
54
+ }
55
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://wefter.dev/schemas/install-manifest.schema.json",
4
+ "type": "object",
5
+ "required": ["version", "packageName", "packageVersion", "generatedAt", "files", "managedOpencode"],
6
+ "properties": {
7
+ "version": { "const": 1 },
8
+ "packageName": { "const": "@wefter/opencode" },
9
+ "packageVersion": { "type": "string", "minLength": 1 },
10
+ "generatedAt": { "type": "string", "format": "date-time" },
11
+ "files": {
12
+ "type": "array",
13
+ "items": {
14
+ "type": "object",
15
+ "required": ["path", "sha256"],
16
+ "properties": {
17
+ "path": { "$ref": "#/$defs/relativePath" },
18
+ "sha256": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
19
+ },
20
+ "additionalProperties": false
21
+ }
22
+ },
23
+ "managedOpencode": {
24
+ "type": "object",
25
+ "required": ["commands", "skillsPath", "watcherIgnores"],
26
+ "properties": {
27
+ "commands": { "type": "array", "items": { "type": "string", "minLength": 1 } },
28
+ "skillsPath": { "$ref": "#/$defs/relativePath" },
29
+ "watcherIgnores": { "type": "array", "items": { "type": "string", "minLength": 1 } }
30
+ },
31
+ "additionalProperties": false
32
+ }
33
+ },
34
+ "additionalProperties": false,
35
+ "$defs": {
36
+ "relativePath": {
37
+ "type": "string",
38
+ "minLength": 1,
39
+ "pattern": "^(?![A-Za-z]:)(?![\\\\/])(?!.*(?:^|[\\\\/])\\.\\.(?:[\\\\/]|$))[^\r\n]+$"
40
+ }
41
+ }
42
+ }