minimal-vibe-coding-kit 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.
- package/.agents/skills/agentshield-security-review/SKILL.md +75 -0
- package/.agents/skills/agentshield-security-review/agents/openai.yaml +5 -0
- package/.agents/skills/agentshield-security-review/references/native-install.md +97 -0
- package/.agents/skills/agentshield-security-review/references/report-template.md +54 -0
- package/.agents/skills/agentshield-security-review/references/review-checklist.md +45 -0
- package/.agents/skills/agentshield-security-review/scripts/agentshield_repo_probe.py +110 -0
- package/.agents/skills/autoresearch-coding/README.md +15 -0
- package/.agents/skills/autoresearch-coding/SKILL.md +101 -0
- package/.agents/skills/autoresearch-coding/references/experiment-contract.md +13 -0
- package/.agents/skills/autoresearch-coding/references/metric-extraction.md +8 -0
- package/.agents/skills/autoresearch-coding/references/result-ledger.md +15 -0
- package/.agents/skills/autoresearch-coding/scripts/log_result.py +24 -0
- package/.agents/skills/autoresearch-coding/scripts/run_logged.py +30 -0
- package/.agents/skills/clearthought/SKILL.md +100 -0
- package/.agents/skills/clearthought/examples/decision-framework.md +441 -0
- package/.agents/skills/clearthought/examples/metagame-examples.md +536 -0
- package/.agents/skills/clearthought/examples/sequential-thinking.md +380 -0
- package/.agents/skills/clearthought/references/output-schemas.md +494 -0
- package/.agents/skills/clearthought/references/parameter-reference.md +482 -0
- package/.agents/skills/coding-level/SKILL.md +27 -0
- package/.agents/skills/coding-level/references/level-0.md +131 -0
- package/.agents/skills/coding-level/references/level-1.md +118 -0
- package/.agents/skills/coding-level/references/level-2.md +140 -0
- package/.agents/skills/coding-level/references/level-3.md +142 -0
- package/.agents/skills/coding-level/references/level-4.md +152 -0
- package/.agents/skills/coding-level/references/level-5.md +84 -0
- package/.agents/skills/daily-workflow-curator/SKILL.md +52 -0
- package/.agents/skills/memento/SKILL.md +36 -0
- package/.agents/skills/reviewing-4p-priorities/SKILL.md +72 -0
- package/.agents/skills/reviewing-4p-priorities/examples.md +298 -0
- package/.agents/skills/sequential-thinking/SKILL.md +106 -0
- package/.agents/skills/sequential-thinking/examples/adaptive-depth.md +542 -0
- package/.agents/skills/sequential-thinking/examples/branching-exploration.md +474 -0
- package/.agents/skills/sequential-thinking/examples/linear-reasoning.md +210 -0
- package/.agents/skills/sequential-thinking/examples/revision-pattern.md +304 -0
- package/.agents/skills/sequential-thinking/references/output-schema.md +483 -0
- package/.agents/skills/sequential-thinking/references/parameters.md +463 -0
- package/.agents/skills/sequential-thinking/references/patterns.md +666 -0
- package/.agents/skills/vibekit-init/SKILL.md +52 -0
- package/.agents/skills/visual-design-loop/SKILL.md +103 -0
- package/.agents/skills/visual-design-loop/agents/openai.yaml +4 -0
- package/.claude/agents/code-reviewer.md +11 -0
- package/.claude/agents/context-architect.md +11 -0
- package/.claude/agents/debug-fixer.md +11 -0
- package/.claude/agents/hypothesis-planner.md +11 -0
- package/.claude/agents/implementation-hacker.md +11 -0
- package/.claude/agents/research-coordinator.md +11 -0
- package/.claude/agents/results-analyst.md +11 -0
- package/.claude/agents/security-reviewer.md +11 -0
- package/.claude/agents/test-runner.md +11 -0
- package/.claude/agents/workflow-curator.md +11 -0
- package/.claude/commands/autoresearch-coding.md +15 -0
- package/.claude/commands/council.md +7 -0
- package/.claude/commands/daily-enhance.md +7 -0
- package/.claude/commands/init-vibe.md +7 -0
- package/.claude/commands/security-scan.md +7 -0
- package/.claude/commands/vibe-finalize.md +7 -0
- package/.claude/rules/autoresearch.md +3 -0
- package/.claude/rules/security.md +3 -0
- package/.claude/rules/tooling.md +6 -0
- package/.claude/rules/vibe-core.md +8 -0
- package/.claude/settings.json +22 -0
- package/.claude/skills/agentshield-security-review/SKILL.md +75 -0
- package/.claude/skills/agentshield-security-review/agents/openai.yaml +5 -0
- package/.claude/skills/agentshield-security-review/references/native-install.md +97 -0
- package/.claude/skills/agentshield-security-review/references/report-template.md +54 -0
- package/.claude/skills/agentshield-security-review/references/review-checklist.md +45 -0
- package/.claude/skills/agentshield-security-review/scripts/agentshield_repo_probe.py +110 -0
- package/.claude/skills/autoresearch-coding/README.md +15 -0
- package/.claude/skills/autoresearch-coding/SKILL.md +101 -0
- package/.claude/skills/autoresearch-coding/references/experiment-contract.md +13 -0
- package/.claude/skills/autoresearch-coding/references/metric-extraction.md +8 -0
- package/.claude/skills/autoresearch-coding/references/result-ledger.md +15 -0
- package/.claude/skills/autoresearch-coding/scripts/log_result.py +24 -0
- package/.claude/skills/autoresearch-coding/scripts/run_logged.py +30 -0
- package/.claude/skills/clearthought/SKILL.md +100 -0
- package/.claude/skills/clearthought/examples/decision-framework.md +441 -0
- package/.claude/skills/clearthought/examples/metagame-examples.md +536 -0
- package/.claude/skills/clearthought/examples/sequential-thinking.md +380 -0
- package/.claude/skills/clearthought/references/output-schemas.md +494 -0
- package/.claude/skills/clearthought/references/parameter-reference.md +482 -0
- package/.claude/skills/coding-level/SKILL.md +27 -0
- package/.claude/skills/coding-level/references/level-0.md +131 -0
- package/.claude/skills/coding-level/references/level-1.md +118 -0
- package/.claude/skills/coding-level/references/level-2.md +140 -0
- package/.claude/skills/coding-level/references/level-3.md +142 -0
- package/.claude/skills/coding-level/references/level-4.md +152 -0
- package/.claude/skills/coding-level/references/level-5.md +84 -0
- package/.claude/skills/daily-workflow-curator/SKILL.md +52 -0
- package/.claude/skills/memento/SKILL.md +36 -0
- package/.claude/skills/reviewing-4p-priorities/SKILL.md +72 -0
- package/.claude/skills/reviewing-4p-priorities/examples.md +298 -0
- package/.claude/skills/sequential-thinking/SKILL.md +106 -0
- package/.claude/skills/sequential-thinking/examples/adaptive-depth.md +542 -0
- package/.claude/skills/sequential-thinking/examples/branching-exploration.md +474 -0
- package/.claude/skills/sequential-thinking/examples/linear-reasoning.md +210 -0
- package/.claude/skills/sequential-thinking/examples/revision-pattern.md +304 -0
- package/.claude/skills/sequential-thinking/references/output-schema.md +483 -0
- package/.claude/skills/sequential-thinking/references/parameters.md +463 -0
- package/.claude/skills/sequential-thinking/references/patterns.md +666 -0
- package/.claude/skills/vibekit-init/SKILL.md +52 -0
- package/.claude/skills/visual-design-loop/SKILL.md +103 -0
- package/.claude/skills/visual-design-loop/agents/openai.yaml +4 -0
- package/.codex/README.md +11 -0
- package/.codex/config.example.toml +8 -0
- package/.codex-plugin/plugin.json +10 -0
- package/.cursor/commands/autoresearch-coding.md +11 -0
- package/.cursor/commands/council.md +3 -0
- package/.cursor/commands/daily-enhance.md +3 -0
- package/.cursor/commands/init-vibe.md +3 -0
- package/.cursor/commands/security-scan.md +3 -0
- package/.cursor/commands/vibe-finalize.md +3 -0
- package/.cursor/rules/001-vibe-core.mdc +6 -0
- package/.cursor/rules/010-init.mdc +7 -0
- package/.cursor/rules/020-security-agentshield.mdc +7 -0
- package/.cursor/rules/030-autoresearch-loop.mdc +7 -0
- package/.cursor/settings.json +22 -0
- package/.cursor/skills/clearthought/SKILL.md +100 -0
- package/.cursor/skills/clearthought/examples/decision-framework.md +441 -0
- package/.cursor/skills/clearthought/examples/metagame-examples.md +536 -0
- package/.cursor/skills/clearthought/examples/sequential-thinking.md +380 -0
- package/.cursor/skills/clearthought/references/output-schemas.md +494 -0
- package/.cursor/skills/clearthought/references/parameter-reference.md +482 -0
- package/.cursor/skills/coding-level/SKILL.md +27 -0
- package/.cursor/skills/coding-level/references/level-0.md +131 -0
- package/.cursor/skills/coding-level/references/level-1.md +118 -0
- package/.cursor/skills/coding-level/references/level-2.md +140 -0
- package/.cursor/skills/coding-level/references/level-3.md +142 -0
- package/.cursor/skills/coding-level/references/level-4.md +152 -0
- package/.cursor/skills/coding-level/references/level-5.md +84 -0
- package/.cursor/skills/memento/SKILL.md +36 -0
- package/.cursor/skills/reviewing-4p-priorities/SKILL.md +72 -0
- package/.cursor/skills/reviewing-4p-priorities/examples.md +298 -0
- package/.cursor/skills/sequential-thinking/SKILL.md +106 -0
- package/.cursor/skills/sequential-thinking/examples/adaptive-depth.md +542 -0
- package/.cursor/skills/sequential-thinking/examples/branching-exploration.md +474 -0
- package/.cursor/skills/sequential-thinking/examples/linear-reasoning.md +210 -0
- package/.cursor/skills/sequential-thinking/examples/revision-pattern.md +304 -0
- package/.cursor/skills/sequential-thinking/references/output-schema.md +483 -0
- package/.cursor/skills/sequential-thinking/references/parameters.md +463 -0
- package/.cursor/skills/sequential-thinking/references/patterns.md +666 -0
- package/.vbkit-commands/autoresearch-coding.md +11 -0
- package/.vbkit-commands/council.md +3 -0
- package/.vbkit-commands/daily-enhance.md +3 -0
- package/.vbkit-commands/init-vibe.md +3 -0
- package/.vbkit-commands/security-scan.md +3 -0
- package/.vbkit-commands/vibe-finalize.md +3 -0
- package/.vbkit-docs/AUTORESEARCH_LEDGER.md +11 -0
- package/.vbkit-docs/BACKBONE_REFERENCE.md +59 -0
- package/.vbkit-docs/INSTALL.md +120 -0
- package/.vbkit-docs/RESEARCH_NOTES.md +22 -0
- package/.vbkit-docs/SECURITY_MODEL.md +40 -0
- package/.vbkit-docs/TOOLING_GUIDE.md +22 -0
- package/.vbkit-docs/backbone.schema.json +110 -0
- package/.vbkit-docs/templates/CONTEXT_TEMPLATE.md +47 -0
- package/.vbkit-docs/templates/PRD_TEMPLATE.md +48 -0
- package/.vbkit-scripts/agentshield-probe.mjs +22 -0
- package/.vbkit-scripts/daily-enhance.mjs +62 -0
- package/.vbkit-scripts/doctor.mjs +323 -0
- package/.vbkit-scripts/init-backbone.mjs +628 -0
- package/.vbkit-scripts/mvck.mjs +444 -0
- package/.vbkit-scripts/pack-dry-run.mjs +16 -0
- package/.vbkit-scripts/test-install.mjs +118 -0
- package/.vbkit-scripts/validate-kit.mjs +419 -0
- package/.vbkit-scripts/vibekit-finalize.mjs +185 -0
- package/AGENTS.md +60 -0
- package/CHANGELOG.md +34 -0
- package/CLAUDE-template.md +52 -0
- package/CODE_OF_CONDUCT.md +18 -0
- package/CONTRIBUTING.md +28 -0
- package/FIRST_PROMPT.md +54 -0
- package/FIRST_TIME_INIT.md +165 -0
- package/LICENSE +21 -0
- package/README.md +493 -0
- package/README.vi.md +431 -0
- package/SECURITY.md +28 -0
- package/backbone.yml +103 -0
- package/bin/mvck.js +2 -0
- package/bin/vibe-kit.js +2 -0
- package/install.ps1 +14 -0
- package/install.sh +8 -0
- package/package.json +92 -0
- package/skills/agentshield-security-review/SKILL.md +75 -0
- package/skills/agentshield-security-review/agents/openai.yaml +5 -0
- package/skills/agentshield-security-review/references/native-install.md +97 -0
- package/skills/agentshield-security-review/references/report-template.md +54 -0
- package/skills/agentshield-security-review/references/review-checklist.md +45 -0
- package/skills/agentshield-security-review/scripts/agentshield_repo_probe.py +110 -0
- package/skills/autoresearch-coding/README.md +15 -0
- package/skills/autoresearch-coding/SKILL.md +101 -0
- package/skills/autoresearch-coding/references/experiment-contract.md +13 -0
- package/skills/autoresearch-coding/references/metric-extraction.md +8 -0
- package/skills/autoresearch-coding/references/result-ledger.md +15 -0
- package/skills/autoresearch-coding/scripts/log_result.py +24 -0
- package/skills/autoresearch-coding/scripts/run_logged.py +30 -0
- package/skills/clearthought/SKILL.md +100 -0
- package/skills/clearthought/examples/decision-framework.md +441 -0
- package/skills/clearthought/examples/metagame-examples.md +536 -0
- package/skills/clearthought/examples/sequential-thinking.md +380 -0
- package/skills/clearthought/references/output-schemas.md +494 -0
- package/skills/clearthought/references/parameter-reference.md +482 -0
- package/skills/coding-level/SKILL.md +27 -0
- package/skills/coding-level/references/level-0.md +131 -0
- package/skills/coding-level/references/level-1.md +118 -0
- package/skills/coding-level/references/level-2.md +140 -0
- package/skills/coding-level/references/level-3.md +142 -0
- package/skills/coding-level/references/level-4.md +152 -0
- package/skills/coding-level/references/level-5.md +84 -0
- package/skills/daily-workflow-curator/SKILL.md +52 -0
- package/skills/memento/SKILL.md +36 -0
- package/skills/reviewing-4p-priorities/SKILL.md +72 -0
- package/skills/reviewing-4p-priorities/examples.md +298 -0
- package/skills/sequential-thinking/SKILL.md +106 -0
- package/skills/sequential-thinking/examples/adaptive-depth.md +542 -0
- package/skills/sequential-thinking/examples/branching-exploration.md +474 -0
- package/skills/sequential-thinking/examples/linear-reasoning.md +210 -0
- package/skills/sequential-thinking/examples/revision-pattern.md +304 -0
- package/skills/sequential-thinking/references/output-schema.md +483 -0
- package/skills/sequential-thinking/references/parameters.md +463 -0
- package/skills/sequential-thinking/references/patterns.md +666 -0
- package/skills/vibekit-init/SKILL.md +52 -0
- package/skills/visual-design-loop/SKILL.md +103 -0
- package/skills/visual-design-loop/agents/openai.yaml +4 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Backbone reference
|
|
2
|
+
|
|
3
|
+
`backbone.yml` is the project map. Keep it short enough that agents can read it every session.
|
|
4
|
+
|
|
5
|
+
## Required sections
|
|
6
|
+
|
|
7
|
+
- `meta`: init status and schema version.
|
|
8
|
+
- `project`: name, description, repo type, primary language, package manager, `mode` (greenfield/brownfield), `prd` (path or `none`), `context` (glossary path or `none`).
|
|
9
|
+
- `paths`: code, tests, docs, and generated output.
|
|
10
|
+
- `conventions`: user-reviewed project rules inferred from existing code.
|
|
11
|
+
- `commands`: install, test, lint, typecheck, build, validate.
|
|
12
|
+
- `policy`: branch, commit, editable paths, protected paths.
|
|
13
|
+
- `agent_surfaces`: Claude, Cursor, Codex, shared skills, shared commands.
|
|
14
|
+
- `automation`: autoresearch, daily enhance, finalize (graduation cleanup), security.
|
|
15
|
+
|
|
16
|
+
## Init status
|
|
17
|
+
|
|
18
|
+
`meta.template_status` is the durable init flag.
|
|
19
|
+
|
|
20
|
+
- `uninitialized`: agent must run `FIRST_TIME_INIT.md`.
|
|
21
|
+
- `initialized`: agent skips init and proceeds.
|
|
22
|
+
|
|
23
|
+
`.vibekit/INIT_DONE` is a local cache only. It helps prevent same-machine repeat init, but does not need to be committed.
|
|
24
|
+
|
|
25
|
+
## Command selection
|
|
26
|
+
|
|
27
|
+
Use the most specific command the repo already supports.
|
|
28
|
+
|
|
29
|
+
Examples:
|
|
30
|
+
|
|
31
|
+
- Node: `pnpm test`, `npm test`, `npm run build`.
|
|
32
|
+
- Python: `pytest -q`, `ruff check .`, `pyright`.
|
|
33
|
+
- Go: `go test ./...`, `go build ./...`.
|
|
34
|
+
- Rust: `cargo test`, `cargo clippy --all-targets`.
|
|
35
|
+
- Java: `mvn test`, `gradle test`.
|
|
36
|
+
|
|
37
|
+
If no command is known, leave `validate` as a safe echo and ask the user to fill it.
|
|
38
|
+
|
|
39
|
+
## Conventions
|
|
40
|
+
|
|
41
|
+
The `conventions` section is created during first-time init and must be reviewed before writing. It should capture repo-specific rules with evidence, not a fixed framework template.
|
|
42
|
+
|
|
43
|
+
Include:
|
|
44
|
+
|
|
45
|
+
- Naming style for files, directories, and symbols.
|
|
46
|
+
- Architecture or folder patterns, scoped per app/package when evidence differs.
|
|
47
|
+
- Resource access rules for assets, images, routes, API paths, config keys, design tokens, or generated definitions.
|
|
48
|
+
- Localization/message access rules when catalogs or generated accessors exist.
|
|
49
|
+
- Custom team rules confirmed by the user.
|
|
50
|
+
|
|
51
|
+
If the repo has an accessor such as `AppImages.logo`, an asset registry, generated routes, `.arb` localization, or a message helper, future work should use that pattern instead of hardcoded literals. If no convention exists and adding one would affect many files, ask before adding the abstraction.
|
|
52
|
+
|
|
53
|
+
## Protected paths
|
|
54
|
+
|
|
55
|
+
Protect secrets, generated output, dependency folders, lockfiles, migrations, and infra by default. The user can explicitly approve a narrow exception.
|
|
56
|
+
|
|
57
|
+
## Editable paths
|
|
58
|
+
|
|
59
|
+
For normal tasks, editable paths should be narrow. For an initial kit install, `.` is acceptable only until project-specific paths are detected.
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# Install guide
|
|
2
|
+
|
|
3
|
+
## Local install
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
./install.sh /path/to/project
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## Node install
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
node .vbkit-scripts/mvck.mjs install /path/to/project --profile all
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Profiles:
|
|
16
|
+
|
|
17
|
+
- `claude`: `CLAUDE.md`, `.claude/`, Claude skills, agents, commands, rules.
|
|
18
|
+
- `cursor`: `.cursor/rules`, `.cursor/commands`, Cursor skill entrypoints.
|
|
19
|
+
- `codex`: `AGENTS.md`, `.agents/skills`, `.codex-plugin`, `.codex` examples.
|
|
20
|
+
- `all`: every profile.
|
|
21
|
+
|
|
22
|
+
## Safe behavior
|
|
23
|
+
|
|
24
|
+
The installer:
|
|
25
|
+
|
|
26
|
+
- skips existing files unless `--force` is passed;
|
|
27
|
+
- appends managed blocks instead of replacing existing `CLAUDE.md`, `AGENTS.md`, and `.gitignore`;
|
|
28
|
+
- does not mark `backbone.yml` initialized;
|
|
29
|
+
- does not run package scripts in the target project.
|
|
30
|
+
|
|
31
|
+
Preview without writing:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
node .vbkit-scripts/mvck.mjs install /path/to/project --profile all --dry-run
|
|
35
|
+
node .vbkit-scripts/mvck.mjs install /path/to/project --profile all --dry-run --json
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Update an existing project
|
|
39
|
+
|
|
40
|
+
When a newer kit version ships, refresh kit-owned files without touching user-owned ones:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
npx --yes minimal-vibe-coding-kit@latest update .
|
|
44
|
+
# or from a local kit clone:
|
|
45
|
+
node /path/to/kit/.vbkit-scripts/mvck.mjs update /path/to/project
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
The updater:
|
|
49
|
+
|
|
50
|
+
- refreshes kit-owned surfaces (`skills/`, `.vbkit-commands/`, `.vbkit-scripts/`, `.vbkit-docs/`, and the `.claude/`, `.cursor/`, `.agents/`, `.codex*` mirrors) and adds any new kit skills;
|
|
51
|
+
- never overwrites `backbone.yml`, `CLAUDE.md`, `AGENTS.md` content outside the managed block, or `settings.json` files — those are seeded only if missing;
|
|
52
|
+
- backs up every replaced kit file to `.vibekit/update-backup/<timestamp>/` (disable with `--no-backup`);
|
|
53
|
+
- never deletes files you added, and skips re-seeding one-time files after `mvck finalize`;
|
|
54
|
+
- records the kit version in `.vibekit/KIT_VERSION` (shown by `mvck doctor`).
|
|
55
|
+
|
|
56
|
+
Preview without writing:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
npx --yes minimal-vibe-coding-kit@latest update . --dry-run
|
|
60
|
+
npx --yes minimal-vibe-coding-kit@latest update . --dry-run --json
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Note: run the updater from a newer kit (npx or a local clone), not via the project's own `.vbkit-scripts/mvck.mjs` copy — source and target would be the same files.
|
|
64
|
+
|
|
65
|
+
## After install
|
|
66
|
+
|
|
67
|
+
Paste the universal prompt from `FIRST_PROMPT.md`, or run:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
node .vbkit-scripts/init-backbone.mjs . --propose
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Use a preset when you already know the target stack:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
node .vbkit-scripts/mvck.mjs init . --preset nextjs --propose
|
|
77
|
+
node .vbkit-scripts/mvck.mjs init . --preset wordpress --propose
|
|
78
|
+
node .vbkit-scripts/mvck.mjs init . --preset python --propose
|
|
79
|
+
node .vbkit-scripts/mvck.mjs init . --preset laravel --propose
|
|
80
|
+
node .vbkit-scripts/mvck.mjs init . --preset docker --propose
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Review the proposal. After approval:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
node .vbkit-scripts/init-backbone.mjs . --write --yes
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Doctor
|
|
90
|
+
|
|
91
|
+
Run a read-only health check after install:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
node .vbkit-scripts/mvck.mjs doctor .
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Generate a handoff report:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
node .vbkit-scripts/mvck.mjs doctor . --write-report
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Native reasoning skills
|
|
104
|
+
|
|
105
|
+
The installer includes three flexible custom reasoning skills across Claude, Codex, and Cursor. These install as full skill folders, including examples and references for progressive disclosure:
|
|
106
|
+
|
|
107
|
+
- `clearthought`: clarify ambiguous tasks and choose a reasoning mode.
|
|
108
|
+
- `sequential-thinking`: split complex work into ordered implementation steps.
|
|
109
|
+
- `reviewing-4p-priorities`: classify review findings or bugs as P0-P4 and choose fix order.
|
|
110
|
+
|
|
111
|
+
## Visual design loop skill
|
|
112
|
+
|
|
113
|
+
The installer also includes `visual-design-loop` for Claude and Codex surfaces. Use it when a loop goal touches UI polish, screenshots, rendering, visual QA, or visible frontend behavior.
|
|
114
|
+
|
|
115
|
+
## User-invoked utility skills
|
|
116
|
+
|
|
117
|
+
Two user-invoked skills install across Claude, Codex, and Cursor surfaces:
|
|
118
|
+
|
|
119
|
+
- `memento`: write a `MEMENTO.md` working note before closing a multi-day task (`/memento`), then resume from it in the next session (`/memento resume`).
|
|
120
|
+
- `coding-level`: set the explanation register from 0 (ELI5) to 5 (expert peer) with `/coding-level N`; stays active until reinvoked.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Research notes used for this enhancement
|
|
2
|
+
|
|
3
|
+
The kit follows these design decisions:
|
|
4
|
+
|
|
5
|
+
1. Keep always-loaded instruction files short.
|
|
6
|
+
2. Move procedures into skills because skills load only when used.
|
|
7
|
+
3. Provide tool-specific discovery paths instead of assuming one tool reads every folder.
|
|
8
|
+
4. Use a canonical shared skill body plus thin harness shims to reduce drift.
|
|
9
|
+
5. Run security review on agent surfaces, not only application source code.
|
|
10
|
+
6. Make daily improvement propose-only by default.
|
|
11
|
+
7. Use deterministic validation as the autoresearch metric for the kit itself.
|
|
12
|
+
|
|
13
|
+
## Autoresearch metric for this repo
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
Goal: improve Minimal Vibe Coding Kit quality.
|
|
17
|
+
Metric command: node .vbkit-scripts/validate-kit.mjs .
|
|
18
|
+
Direction: higher pass count and zero failures.
|
|
19
|
+
Editable paths: docs, scripts, skills, commands, .claude, .cursor, .agents, .codex-plugin, .github, root templates.
|
|
20
|
+
Protected paths: .git, .env*, node_modules, vendor packages, secrets, lockfiles.
|
|
21
|
+
Budget: 3.
|
|
22
|
+
```
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Security model
|
|
2
|
+
|
|
3
|
+
## Agent surfaces
|
|
4
|
+
|
|
5
|
+
Review these before merging changes:
|
|
6
|
+
|
|
7
|
+
- `CLAUDE.md`, `AGENTS.md`, `.github/copilot-instructions.md`
|
|
8
|
+
- `.claude/**`, `.cursor/**`, `.agents/**`, `.codex-plugin/**`
|
|
9
|
+
- `skills/**`, `.vbkit-commands/**`, `.vbkit-scripts/**`, `hooks/**`
|
|
10
|
+
- `.mcp.json`, `mcp.json`, `mcp-configs/**`
|
|
11
|
+
- installer scripts and CI workflows
|
|
12
|
+
|
|
13
|
+
## AgentShield workflow
|
|
14
|
+
|
|
15
|
+
Read-only probe:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
node .vbkit-scripts/agentshield-probe.mjs .
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Full scanner when available:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npx ecc-agentshield scan --path . --format text --min-severity medium
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Findings labels
|
|
28
|
+
|
|
29
|
+
- `scanner-backed`: comes from AgentShield or deterministic probe output.
|
|
30
|
+
- `manual-confirmed`: verified by reading active repo files.
|
|
31
|
+
- `manual-suspected`: plausible risk that needs maintainer confirmation.
|
|
32
|
+
|
|
33
|
+
## Do not do these silently
|
|
34
|
+
|
|
35
|
+
- Run untrusted hooks or MCP servers.
|
|
36
|
+
- Execute install scripts from remote sources.
|
|
37
|
+
- Deploy or run migrations.
|
|
38
|
+
- Rotate or print secrets.
|
|
39
|
+
- Relax tool permissions.
|
|
40
|
+
- Enable wildcard shell execution.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Tooling guide
|
|
2
|
+
|
|
3
|
+
## Claude Code
|
|
4
|
+
|
|
5
|
+
Use root `CLAUDE.md` plus project skills in `.claude/skills/`. Keep long instructions out of `CLAUDE.md` and in skills. The kit provides shims that point to canonical shared skills under `skills/`.
|
|
6
|
+
|
|
7
|
+
## Cursor
|
|
8
|
+
|
|
9
|
+
Use `.cursor/rules/*.mdc`. The kit creates always-on core rules plus scoped rules for init, autoresearch, and security. Keep Cursor rules short; link to skills and docs for long procedures.
|
|
10
|
+
|
|
11
|
+
## Codex
|
|
12
|
+
|
|
13
|
+
Use `AGENTS.md` for repo instructions and `.agents/skills/*/SKILL.md` for skills. The kit also includes `.codex-plugin/plugin.json` so the shared skills can be packaged as a plugin.
|
|
14
|
+
|
|
15
|
+
## Shared skill strategy
|
|
16
|
+
|
|
17
|
+
Canonical skill bodies live in `skills/<skill-name>/`. Harness-specific folders contain small shims:
|
|
18
|
+
|
|
19
|
+
- `.claude/skills/<skill-name>/SKILL.md`
|
|
20
|
+
- `.agents/skills/<skill-name>/SKILL.md`
|
|
21
|
+
|
|
22
|
+
This reduces drift while still giving each tool the path it expects.
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://github.com/giang6283623/minimal-vibe-coding-kit/backbone.schema.json",
|
|
4
|
+
"title": "Minimal Vibe Coding Kit backbone.yml",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"version",
|
|
8
|
+
"meta",
|
|
9
|
+
"project",
|
|
10
|
+
"conventions",
|
|
11
|
+
"commands",
|
|
12
|
+
"policy",
|
|
13
|
+
"agent_surfaces",
|
|
14
|
+
"automation"
|
|
15
|
+
],
|
|
16
|
+
"properties": {
|
|
17
|
+
"version": {
|
|
18
|
+
"type": "integer",
|
|
19
|
+
"minimum": 1
|
|
20
|
+
},
|
|
21
|
+
"meta": {
|
|
22
|
+
"type": "object",
|
|
23
|
+
"required": ["template_status", "schema_version"],
|
|
24
|
+
"properties": {
|
|
25
|
+
"template_status": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"enum": ["uninitialized", "initialized"]
|
|
28
|
+
},
|
|
29
|
+
"schema_version": {
|
|
30
|
+
"type": "integer",
|
|
31
|
+
"minimum": 1
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"project": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"required": ["name", "primary_language", "mode"],
|
|
38
|
+
"properties": {
|
|
39
|
+
"name": { "type": "string", "minLength": 1 },
|
|
40
|
+
"primary_language": { "type": "string", "minLength": 1 },
|
|
41
|
+
"mode": { "type": "string", "enum": ["greenfield", "brownfield"] },
|
|
42
|
+
"prd": { "type": "string" },
|
|
43
|
+
"context": { "type": "string" }
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"conventions": {
|
|
47
|
+
"type": "object",
|
|
48
|
+
"required": ["review_required_before_write"],
|
|
49
|
+
"properties": {
|
|
50
|
+
"review_required_before_write": { "type": "boolean" },
|
|
51
|
+
"scope": { "type": "string" },
|
|
52
|
+
"naming": { "type": "object" },
|
|
53
|
+
"architecture": { "type": "object" },
|
|
54
|
+
"resources": { "type": "object" },
|
|
55
|
+
"localization": { "type": "object" },
|
|
56
|
+
"custom_rules": {
|
|
57
|
+
"type": "array",
|
|
58
|
+
"items": { "type": "string" }
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"commands": {
|
|
63
|
+
"type": "object",
|
|
64
|
+
"required": ["validate"],
|
|
65
|
+
"properties": {
|
|
66
|
+
"validate": { "type": ["string", "null"] }
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"policy": {
|
|
70
|
+
"type": "object",
|
|
71
|
+
"required": ["protected_paths"],
|
|
72
|
+
"properties": {
|
|
73
|
+
"protected_paths": {
|
|
74
|
+
"type": "array",
|
|
75
|
+
"items": { "type": "string" },
|
|
76
|
+
"minItems": 1
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"agent_surfaces": {
|
|
81
|
+
"type": "object",
|
|
82
|
+
"minProperties": 1
|
|
83
|
+
},
|
|
84
|
+
"automation": {
|
|
85
|
+
"type": "object",
|
|
86
|
+
"required": ["finalize", "security"],
|
|
87
|
+
"properties": {
|
|
88
|
+
"finalize": {
|
|
89
|
+
"type": "object",
|
|
90
|
+
"required": ["cleanup_dir"],
|
|
91
|
+
"properties": {
|
|
92
|
+
"cleanup_dir": { "type": "string", "minLength": 1 },
|
|
93
|
+
"marker": { "type": "string" },
|
|
94
|
+
"one_time_files": {
|
|
95
|
+
"type": "array",
|
|
96
|
+
"items": { "type": "string" }
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"security": {
|
|
101
|
+
"type": "object",
|
|
102
|
+
"required": ["probe"],
|
|
103
|
+
"properties": {
|
|
104
|
+
"probe": { "type": "string", "minLength": 1 }
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Project context
|
|
2
|
+
|
|
3
|
+
> Scaffolded by Minimal Vibe Coding Kit. A short, shared glossary and map so any
|
|
4
|
+
> agent (Claude, Cursor, Codex) navigates this project with less back-and-forth.
|
|
5
|
+
> Keep it current and terse — definitions, not prose.
|
|
6
|
+
|
|
7
|
+
## Domain glossary
|
|
8
|
+
|
|
9
|
+
Terms, acronyms, and entities specific to this project. One line each.
|
|
10
|
+
|
|
11
|
+
- **<Term>** — <plain-language meaning, and where it lives in code if relevant>.
|
|
12
|
+
- **<Acronym>** — <expansion + what it refers to here>.
|
|
13
|
+
|
|
14
|
+
## Key areas
|
|
15
|
+
|
|
16
|
+
Where the important things live, so agents jump straight to them.
|
|
17
|
+
|
|
18
|
+
- Entry point(s):
|
|
19
|
+
- Core domain logic:
|
|
20
|
+
- Configuration:
|
|
21
|
+
- Tests:
|
|
22
|
+
- Build/deploy:
|
|
23
|
+
|
|
24
|
+
## Conventions in use
|
|
25
|
+
|
|
26
|
+
Pointers to the patterns this repo already follows (also captured in `backbone.yml` `conventions`).
|
|
27
|
+
|
|
28
|
+
- Naming:
|
|
29
|
+
- Architecture / folder layout:
|
|
30
|
+
- Shared resources (assets, routes, config, generated code) — accessor to use:
|
|
31
|
+
- User-facing copy / localization — accessor to use:
|
|
32
|
+
|
|
33
|
+
## External systems & integrations
|
|
34
|
+
|
|
35
|
+
- Services, APIs, queues, or third parties this project talks to:
|
|
36
|
+
- Credentials/secrets location (names only, never values):
|
|
37
|
+
|
|
38
|
+
## Gotchas
|
|
39
|
+
|
|
40
|
+
Non-obvious things that have surprised people. Save the next agent the debugging.
|
|
41
|
+
|
|
42
|
+
-
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
Related: `.vbkit-docs/PRD.md` (intent and focus) and `backbone.yml` (project map, commands,
|
|
47
|
+
protected paths). Link `project.context` in `backbone.yml` to this file.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# <Project name> — Product Requirements
|
|
2
|
+
|
|
3
|
+
> Scaffolded by Minimal Vibe Coding Kit during init. Keep it short and current;
|
|
4
|
+
> agents read this to understand intent. Fill answers from the init interview.
|
|
5
|
+
|
|
6
|
+
## 1. Summary
|
|
7
|
+
|
|
8
|
+
One or two sentences: what this project is and who it is for.
|
|
9
|
+
|
|
10
|
+
## 2. Problem & goal
|
|
11
|
+
|
|
12
|
+
- Problem it solves:
|
|
13
|
+
- Primary goal / focus right now:
|
|
14
|
+
- Why now / motivation:
|
|
15
|
+
|
|
16
|
+
## 3. Users & use cases
|
|
17
|
+
|
|
18
|
+
- Primary users:
|
|
19
|
+
- Top use cases (1–3):
|
|
20
|
+
|
|
21
|
+
## 4. Success criteria
|
|
22
|
+
|
|
23
|
+
- What good looks like (outcomes or metrics):
|
|
24
|
+
- How we will know we shipped the right thing:
|
|
25
|
+
|
|
26
|
+
## 5. Scope
|
|
27
|
+
|
|
28
|
+
- In scope (this iteration):
|
|
29
|
+
- Out of scope / non-goals:
|
|
30
|
+
|
|
31
|
+
## 6. Constraints & assumptions
|
|
32
|
+
|
|
33
|
+
- Technical / platform constraints:
|
|
34
|
+
- Deadlines, budget, compliance, or other constraints:
|
|
35
|
+
- Assumptions to validate:
|
|
36
|
+
|
|
37
|
+
## 7. Focus area (brownfield)
|
|
38
|
+
|
|
39
|
+
If existing code: which module, surface, or flow are we improving first, and why.
|
|
40
|
+
|
|
41
|
+
## 8. Open questions
|
|
42
|
+
|
|
43
|
+
- Things still undecided that need an answer before building.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
Linked context: see `.vbkit-docs/CONTEXT.md` for domain terminology and `backbone.yml`
|
|
48
|
+
for the project map (`project.mode`, `project.prd`, conventions, commands).
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { spawnSync } from 'node:child_process';
|
|
5
|
+
|
|
6
|
+
const target = path.resolve(process.argv[2] || process.cwd());
|
|
7
|
+
const extra = process.argv.slice(3);
|
|
8
|
+
const probe = path.join(target, 'skills/agentshield-security-review/scripts/agentshield_repo_probe.py');
|
|
9
|
+
|
|
10
|
+
if (!fs.existsSync(probe)) {
|
|
11
|
+
console.error(`AgentShield probe not found: ${path.relative(target, probe)}`);
|
|
12
|
+
process.exit(1);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
for (const python of ['python', 'python3', 'py']) {
|
|
16
|
+
const result = spawnSync(python, [probe, target, ...extra], { stdio: 'inherit' });
|
|
17
|
+
if (result.error?.code === 'ENOENT') continue;
|
|
18
|
+
process.exit(result.status ?? 1);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
console.error('No Python executable found. Install Python 3 or run the probe manually.');
|
|
22
|
+
process.exit(1);
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { spawnSync } from 'node:child_process';
|
|
5
|
+
|
|
6
|
+
const args = process.argv.slice(2);
|
|
7
|
+
const target = path.resolve(args.find((a) => !a.startsWith('--')) || process.cwd());
|
|
8
|
+
const writeReport = args.includes('--write-report');
|
|
9
|
+
const now = new Date();
|
|
10
|
+
|
|
11
|
+
function exists(rel) { return fs.existsSync(path.join(target, rel)); }
|
|
12
|
+
function list(dir) {
|
|
13
|
+
const p = path.join(target, dir);
|
|
14
|
+
if (!fs.existsSync(p)) return [];
|
|
15
|
+
const out = [];
|
|
16
|
+
function walk(current) {
|
|
17
|
+
for (const entry of fs.readdirSync(current, { withFileTypes: true })) {
|
|
18
|
+
const child = path.join(current, entry.name);
|
|
19
|
+
if (entry.isDirectory()) walk(child);
|
|
20
|
+
else out.push(path.relative(target, child).replaceAll(path.sep, '/'));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
walk(p);
|
|
24
|
+
return out;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const checks = [];
|
|
28
|
+
for (const rel of ['backbone.yml', 'AGENTS.md', 'FIRST_TIME_INIT.md', 'skills/autoresearch-coding/SKILL.md', 'skills/agentshield-security-review/SKILL.md']) {
|
|
29
|
+
checks.push(`- ${rel}: ${exists(rel) ? 'found' : 'missing'}`);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const skills = list('skills').filter((f) => f.endsWith('SKILL.md'));
|
|
33
|
+
const claudeSkills = list('.claude/skills').filter((f) => f.endsWith('SKILL.md'));
|
|
34
|
+
const codexSkills = list('.agents/skills').filter((f) => f.endsWith('SKILL.md'));
|
|
35
|
+
const cursorRules = list('.cursor/rules').filter((f) => f.endsWith('.mdc'));
|
|
36
|
+
|
|
37
|
+
let validation = 'not run';
|
|
38
|
+
const validator = path.join(target, '.vbkit-scripts/validate-kit.mjs');
|
|
39
|
+
if (fs.existsSync(validator)) {
|
|
40
|
+
const result = spawnSync(process.execPath, [validator, target], { encoding: 'utf8' });
|
|
41
|
+
validation = result.stdout.trim() || result.stderr.trim() || `exit ${result.status}`;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const suggestions = [];
|
|
45
|
+
if (!exists('.claude/skills/agentshield-security-review/SKILL.md')) suggestions.push('Add Claude AgentShield skill shim.');
|
|
46
|
+
if (!exists('.agents/skills/agentshield-security-review/SKILL.md')) suggestions.push('Add Codex AgentShield skill shim.');
|
|
47
|
+
if (!exists('.cursor/rules/020-security-agentshield.mdc')) suggestions.push('Add Cursor AgentShield security rule.');
|
|
48
|
+
if (skills.length > 12) suggestions.push('Review skill descriptions for progressive disclosure; keep trigger text concise.');
|
|
49
|
+
if (!exists('.github/workflows/vibekit-validate.yml')) suggestions.push('Add CI validation for agent surfaces.');
|
|
50
|
+
if (!suggestions.length) suggestions.push('No structural gaps found. Review docs for stale project-specific examples and run AgentShield full scan when npm is available.');
|
|
51
|
+
|
|
52
|
+
const report = `# Daily Minimal Vibe Coding Kit report\n\nGenerated: ${now.toISOString()}\n\n## Required files\n\n${checks.join('\n')}\n\n## Surface counts\n\n- Shared skills: ${skills.length}\n- Claude skill shims: ${claudeSkills.length}\n- Codex skill shims: ${codexSkills.length}\n- Cursor rules: ${cursorRules.length}\n\n## Validation output\n\n\`\`\`text\n${validation}\n\`\`\`\n\n## Suggested next improvements\n\n${suggestions.map((s) => `- ${s}`).join('\n')}\n\n## Write policy\n\nThis report is propose-only. An agent may turn suggestions into a diff, but must wait for explicit user approval before writing.\n`;
|
|
53
|
+
|
|
54
|
+
console.log(report);
|
|
55
|
+
|
|
56
|
+
if (writeReport) {
|
|
57
|
+
const dir = path.join(target, '.vibekit', 'reports');
|
|
58
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
59
|
+
const name = `daily-${now.toISOString().slice(0, 10)}.md`;
|
|
60
|
+
fs.writeFileSync(path.join(dir, name), report);
|
|
61
|
+
console.log(`\nWrote ${path.relative(target, path.join(dir, name))}`);
|
|
62
|
+
}
|