@vibecompass/vibecompass 0.9.0 → 0.9.1
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.
- package/CHANGELOG.md +4 -0
- package/README.md +61 -29
- package/package.json +1 -1
- package/src/docs-review.js +16 -2
- package/src/workflows/registry.js +6 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.9.1 - 2026-06-14
|
|
4
|
+
|
|
5
|
+
- Make local docs-review prompts self-contained by printing the accepted output file, root-scoped apply command, and same-version `npx` fallback the agent should run after user acceptance.
|
|
6
|
+
|
|
3
7
|
## 0.9.0 - 2026-06-14
|
|
4
8
|
|
|
5
9
|
- Add explicit local folder sources for non-Git projects: `project.yaml.repos[]` may use `source: local` plus `path`, and `init` accepts `--repo-local <id=path>`.
|
package/README.md
CHANGED
|
@@ -16,32 +16,64 @@ Full docs: https://vibecompass.dev/developers
|
|
|
16
16
|
|
|
17
17
|
## Install
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Most people can run VibeCompass without installing it globally:
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
|
-
npx -y @vibecompass/vibecompass --help
|
|
22
|
+
npx -y @vibecompass/vibecompass@latest --help
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
Or install
|
|
25
|
+
Or install it globally if you want the shorter `vibecompass` command:
|
|
26
26
|
|
|
27
27
|
```bash
|
|
28
|
-
npm install @vibecompass/vibecompass
|
|
28
|
+
npm install -g @vibecompass/vibecompass@latest
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
Requires Node.js 20+.
|
|
32
32
|
|
|
33
33
|
## Quick Start
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
### Easiest path: ask your AI coding tool
|
|
36
|
+
|
|
37
|
+
Open Claude Code, Codex, Cursor, or Copilot in the project folder you want
|
|
38
|
+
VibeCompass to remember, then paste:
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
VibeCompass is project memory for vibe coding. Use the npm package
|
|
42
|
+
@vibecompass/vibecompass@latest.
|
|
43
|
+
|
|
44
|
+
Please set it up in this project:
|
|
45
|
+
1. Run the needed VibeCompass commands with npx.
|
|
46
|
+
2. Initialize project memory with guided setup.
|
|
47
|
+
3. If this folder is not a Git repo, use a local folder source.
|
|
48
|
+
4. Start a named session lane for this setup work.
|
|
49
|
+
5. Tell me which files changed and what I should review.
|
|
50
|
+
|
|
51
|
+
Do not ask me to paste secret tokens into chat.
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
After setup, start a fresh AI session in the same project and type:
|
|
55
|
+
|
|
56
|
+
```text
|
|
57
|
+
docs review
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
That asks the AI to inspect your code and create the first real architecture
|
|
61
|
+
docs. The package prints the output file and the exact apply command when the
|
|
62
|
+
docs are ready for you to accept.
|
|
63
|
+
|
|
64
|
+
### Terminal path
|
|
65
|
+
|
|
66
|
+
Run this from your project folder:
|
|
36
67
|
|
|
37
68
|
```bash
|
|
38
|
-
npx -y @vibecompass/vibecompass init --guided
|
|
69
|
+
npx -y @vibecompass/vibecompass@latest init --guided
|
|
39
70
|
```
|
|
40
71
|
|
|
41
|
-
|
|
72
|
+
If the folder is not a Git repo, use a local folder source:
|
|
42
73
|
|
|
43
74
|
```bash
|
|
44
|
-
npx -y @vibecompass/vibecompass init \
|
|
75
|
+
npx -y @vibecompass/vibecompass@latest init \
|
|
76
|
+
--root .compass \
|
|
45
77
|
--name "My Project" \
|
|
46
78
|
--mode local-primary \
|
|
47
79
|
--repo-local app=.
|
|
@@ -50,13 +82,13 @@ npx -y @vibecompass/vibecompass init \
|
|
|
50
82
|
Check what to do next:
|
|
51
83
|
|
|
52
84
|
```bash
|
|
53
|
-
npx -y @vibecompass/vibecompass status --root .compass
|
|
85
|
+
npx -y @vibecompass/vibecompass@latest status --root .compass
|
|
54
86
|
```
|
|
55
87
|
|
|
56
88
|
Start a builder session:
|
|
57
89
|
|
|
58
90
|
```bash
|
|
59
|
-
npx -y @vibecompass/vibecompass start-session \
|
|
91
|
+
npx -y @vibecompass/vibecompass@latest start-session \
|
|
60
92
|
--root .compass \
|
|
61
93
|
--id feature-lane \
|
|
62
94
|
--working-on "Build the next feature"
|
|
@@ -65,13 +97,13 @@ npx -y @vibecompass/vibecompass start-session \
|
|
|
65
97
|
Generate evidence-backed architecture docs:
|
|
66
98
|
|
|
67
99
|
```bash
|
|
68
|
-
npx -y @vibecompass/vibecompass docs-review --root .compass --guided
|
|
100
|
+
npx -y @vibecompass/vibecompass@latest docs-review --root .compass --guided
|
|
69
101
|
```
|
|
70
102
|
|
|
71
103
|
Close the session:
|
|
72
104
|
|
|
73
105
|
```bash
|
|
74
|
-
npx -y @vibecompass/vibecompass close-session \
|
|
106
|
+
npx -y @vibecompass/vibecompass@latest close-session \
|
|
75
107
|
--root .compass \
|
|
76
108
|
--session feature-lane \
|
|
77
109
|
--title "Feature Lane" \
|
|
@@ -83,25 +115,25 @@ npx -y @vibecompass/vibecompass close-session \
|
|
|
83
115
|
|
|
84
116
|
```bash
|
|
85
117
|
# Create or inspect project memory
|
|
86
|
-
vibecompass init --guided
|
|
87
|
-
vibecompass status --root .compass
|
|
118
|
+
npx -y @vibecompass/vibecompass@latest init --guided
|
|
119
|
+
npx -y @vibecompass/vibecompass@latest status --root .compass
|
|
88
120
|
|
|
89
121
|
# Session workflow
|
|
90
|
-
vibecompass start-session --root .compass --id auth-flow --working-on "Auth flow"
|
|
91
|
-
vibecompass list-sessions --root .compass
|
|
92
|
-
vibecompass switch-session auth-flow --root .compass
|
|
93
|
-
vibecompass close-session --root .compass --session auth-flow --title "Auth Flow" --completed "Built auth" --next-step "Review"
|
|
122
|
+
npx -y @vibecompass/vibecompass@latest start-session --root .compass --id auth-flow --working-on "Auth flow"
|
|
123
|
+
npx -y @vibecompass/vibecompass@latest list-sessions --root .compass
|
|
124
|
+
npx -y @vibecompass/vibecompass@latest switch-session auth-flow --root .compass
|
|
125
|
+
npx -y @vibecompass/vibecompass@latest close-session --root .compass --session auth-flow --title "Auth Flow" --completed "Built auth" --next-step "Review"
|
|
94
126
|
|
|
95
127
|
# Agent instruction files
|
|
96
|
-
vibecompass sync-agents --root .compass
|
|
128
|
+
npx -y @vibecompass/vibecompass@latest sync-agents --root .compass
|
|
97
129
|
|
|
98
130
|
# Architecture docs review
|
|
99
|
-
vibecompass docs-review --root .compass --guided
|
|
100
|
-
vibecompass docs-review --root .compass --apply-output
|
|
131
|
+
npx -y @vibecompass/vibecompass@latest docs-review --root .compass --guided
|
|
132
|
+
npx -y @vibecompass/vibecompass@latest docs-review --root .compass --apply-output
|
|
101
133
|
|
|
102
134
|
# Rerun docs review from an archived architecture-doc slate
|
|
103
|
-
vibecompass docs-review --root .compass --rebuild --path architecture
|
|
104
|
-
vibecompass docs-review --root .compass --rebuild --apply --stale-policy archive --path architecture
|
|
135
|
+
npx -y @vibecompass/vibecompass@latest docs-review --root .compass --rebuild --path architecture
|
|
136
|
+
npx -y @vibecompass/vibecompass@latest docs-review --root .compass --rebuild --apply --stale-policy archive --path architecture
|
|
105
137
|
```
|
|
106
138
|
|
|
107
139
|
## What It Creates
|
|
@@ -146,13 +178,13 @@ Use hosted sync when you want browser review, team workflows, or hosted
|
|
|
146
178
|
docs-review proposals:
|
|
147
179
|
|
|
148
180
|
```bash
|
|
149
|
-
vibecompass connect-hosted \
|
|
181
|
+
npx -y @vibecompass/vibecompass@latest connect-hosted \
|
|
150
182
|
--root .compass \
|
|
151
183
|
--sync-api-url https://vibecompass.dev \
|
|
152
184
|
--sync-project-id vc_proj_example \
|
|
153
185
|
--sync-credential-env-var VIBECOMPASS_SYNC_TOKEN
|
|
154
186
|
|
|
155
|
-
vibecompass push --root .compass
|
|
187
|
+
npx -y @vibecompass/vibecompass@latest push --root .compass
|
|
156
188
|
```
|
|
157
189
|
|
|
158
190
|
### Multiple environments
|
|
@@ -162,16 +194,16 @@ production) so you never have to rebind:
|
|
|
162
194
|
|
|
163
195
|
```bash
|
|
164
196
|
# add targets once — the first one becomes the default
|
|
165
|
-
vibecompass connect-hosted --root .compass --target dev \
|
|
197
|
+
npx -y @vibecompass/vibecompass@latest connect-hosted --root .compass --target dev \
|
|
166
198
|
--sync-api-url http://localhost:3000 --sync-project-id vc_proj_dev \
|
|
167
199
|
--sync-credential-env-var VIBECOMPASS_SYNC_TOKEN
|
|
168
|
-
vibecompass connect-hosted --root .compass --target prod \
|
|
200
|
+
npx -y @vibecompass/vibecompass@latest connect-hosted --root .compass --target prod \
|
|
169
201
|
--sync-api-url https://vibecompass.dev --sync-project-id vc_proj_prod \
|
|
170
202
|
--sync-credential-env-var VIBECOMPASS_SYNC_TOKEN_PROD
|
|
171
203
|
|
|
172
204
|
# then pick per command, or switch the default
|
|
173
|
-
vibecompass push --root .compass --sync-target prod
|
|
174
|
-
vibecompass sync-target prod --root .compass
|
|
205
|
+
npx -y @vibecompass/vibecompass@latest push --root .compass --sync-target prod
|
|
206
|
+
npx -y @vibecompass/vibecompass@latest sync-target prod --root .compass
|
|
175
207
|
```
|
|
176
208
|
|
|
177
209
|
Tip: if you already have a single (flat) binding, add it as your first named
|
package/package.json
CHANGED
package/src/docs-review.js
CHANGED
|
@@ -6,6 +6,7 @@ import { sha256Text } from './hash.js';
|
|
|
6
6
|
import { writeStateManifest } from './manifest.js';
|
|
7
7
|
import { parseSimpleYaml } from './simple-yaml.js';
|
|
8
8
|
import { readSyncCursor, resolveSyncBinding } from './sync-binding.js';
|
|
9
|
+
import { PACKAGE_VERSION } from './version.js';
|
|
9
10
|
|
|
10
11
|
const DOCS_REVIEW_PROMPT_VERSION = 'VibeCompass Docs Review Prompt v3';
|
|
11
12
|
const ARCHITECTURE_DOC_SOFT_SIZE_LIMIT_BYTES = 12000;
|
|
@@ -1683,6 +1684,10 @@ function renderApplyOutputMessage(options) {
|
|
|
1683
1684
|
}
|
|
1684
1685
|
|
|
1685
1686
|
function renderReviewPrompt(options) {
|
|
1687
|
+
const outputPath = path.join(options.rootDir, 'state', 'docs-review-output.md');
|
|
1688
|
+
const applyCommand = `vibecompass docs-review --root ${shellQuote(options.rootDir)} --apply-output --output ${shellQuote(outputPath)}`;
|
|
1689
|
+
const npxApplyCommand = `npx -y @vibecompass/vibecompass@${PACKAGE_VERSION} docs-review --root ${shellQuote(options.rootDir)} --apply-output --output ${shellQuote(outputPath)}`;
|
|
1690
|
+
|
|
1686
1691
|
return [
|
|
1687
1692
|
`# ${DOCS_REVIEW_PROMPT_VERSION}`,
|
|
1688
1693
|
'',
|
|
@@ -1694,6 +1699,9 @@ function renderReviewPrompt(options) {
|
|
|
1694
1699
|
`- Project mode: ${options.project.mode}`,
|
|
1695
1700
|
`- Review provider to record: ${options.llm}`,
|
|
1696
1701
|
`- Review model/version to record: ${options.model}`,
|
|
1702
|
+
`- Accepted output file: ${outputPath}`,
|
|
1703
|
+
`- Apply command after user acceptance: ${applyCommand}`,
|
|
1704
|
+
`- Apply command if the CLI is not installed on PATH: ${npxApplyCommand}`,
|
|
1697
1705
|
'',
|
|
1698
1706
|
'## Required Inputs',
|
|
1699
1707
|
'1. Read `project.yaml`.',
|
|
@@ -1724,7 +1732,9 @@ function renderReviewPrompt(options) {
|
|
|
1724
1732
|
'- Include only the most important involved files; prefer representative entry points and owned contracts over exhaustive file lists.',
|
|
1725
1733
|
'',
|
|
1726
1734
|
'Stage 4 — Apply and verify:',
|
|
1727
|
-
|
|
1735
|
+
`- After the user accepts Stage 2, write the complete accepted fenced output verbatim to \`${outputPath}\`.`,
|
|
1736
|
+
`- Then run \`${applyCommand}\` to validate and apply the accepted blocks.`,
|
|
1737
|
+
`- If \`vibecompass\` is not installed on PATH, run \`${npxApplyCommand}\` instead.`,
|
|
1728
1738
|
'- Surface any parser warnings, especially oversized docs, so the user can decide whether to compact or accept the output.',
|
|
1729
1739
|
'',
|
|
1730
1740
|
'## Architecture Doc Contract',
|
|
@@ -1832,10 +1842,14 @@ function renderReviewPrompt(options) {
|
|
|
1832
1842
|
'**Context:** Optional supporting context.',
|
|
1833
1843
|
'```',
|
|
1834
1844
|
'',
|
|
1835
|
-
|
|
1845
|
+
`Only include accepted coverage, architecture, and decision-recommendation blocks. After user acceptance, save the final accepted output to \`${outputPath}\`, run \`${applyCommand}\` or \`${npxApplyCommand}\`, and report applied paths plus parser warnings.`,
|
|
1836
1846
|
].join('\n');
|
|
1837
1847
|
}
|
|
1838
1848
|
|
|
1849
|
+
function shellQuote(value) {
|
|
1850
|
+
return `'${String(value).replaceAll("'", "'\\''")}'`;
|
|
1851
|
+
}
|
|
1852
|
+
|
|
1839
1853
|
function ensureTrailingNewline(value) {
|
|
1840
1854
|
return value.endsWith('\n') ? value : `${value}\n`;
|
|
1841
1855
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { PACKAGE_VERSION } from '../version.js';
|
|
2
|
+
|
|
1
3
|
export const WORKFLOW_REGISTRY = [
|
|
2
4
|
{
|
|
3
5
|
id: 'session-lifecycle',
|
|
@@ -88,6 +90,8 @@ function renderDocsReviewWorkflow(options = {}) {
|
|
|
88
90
|
const decisionsPath = joinRootRelative(rootRelativePath, 'decisions/');
|
|
89
91
|
const sessionsPath = joinRootRelative(rootRelativePath, 'sessions/');
|
|
90
92
|
const outputPath = joinRootRelative(rootRelativePath, 'state/docs-review-output.md');
|
|
93
|
+
const applyCommand = `vibecompass docs-review --root ${rootRelativePath} --apply-output`;
|
|
94
|
+
const npxApplyCommand = `npx -y @vibecompass/vibecompass@${PACKAGE_VERSION} docs-review --root ${rootRelativePath} --apply-output`;
|
|
91
95
|
|
|
92
96
|
return `# VibeCompass Workflow — docs review
|
|
93
97
|
|
|
@@ -112,8 +116,8 @@ Turn starter project memory into evidence-backed architecture docs under \`archi
|
|
|
112
116
|
4. Present the evidence inventory, coverage plan, user journey, project/system map, proposed architecture docs, blindspots, token-budget risks, and any decision candidates before generating accepted output.
|
|
113
117
|
5. Draft only output the user accepts. The accepted plan must be fenced as \`vibecompass-coverage-plan version=1\`. Accepted architecture docs must be fenced as \`vibecompass-architecture-doc path=architecture/domain/feature/component.md\` blocks and must include required frontmatter: \`domain\`, \`feature\`, \`component\`, and \`status\`. The accepted \`architecture/overview/project-shape.md\` doc should include exactly one \`vibecompass-project-map version=1\` JSON block with journey-facing features, entry points, and evidence-backed relationships. Accepted local decisions may be fenced as \`vibecompass-decision-recommendation target=decisions/domain.md\` blocks without D-numbers.
|
|
114
118
|
6. Keep each generated architecture doc focused and retrieval-oriented. Soft budget: under 12000 bytes per doc unless the extra detail is necessary and called out in review metadata or retrieval guidance.
|
|
115
|
-
7. Write the accepted fenced blocks to \`${outputPath}\`.
|
|
116
|
-
8. Run \`
|
|
119
|
+
7. Write the accepted fenced blocks verbatim to \`${outputPath}\`.
|
|
120
|
+
8. Run \`${applyCommand}\` to validate and apply the accepted blocks. If \`vibecompass\` is not installed on PATH, run \`${npxApplyCommand}\` instead. If accepted docs were written manually outside the output file, run \`vibecompass docs-review --root ${rootRelativePath} --complete\` after confirming the marker should be completed.
|
|
117
121
|
9. Run \`vibecompass status\` to confirm the docs-review marker is complete and not drifted. Report the applied architecture paths, coverage projection, decision recommendations, parser warnings such as oversized docs or missing review metadata, and any blindspots documented in the accepted docs-review output.
|
|
118
122
|
|
|
119
123
|
## Rebuild option
|