vibeflow
AGENTS.md9 starsChanged 28 days agoMITView on GitHub
- Read docs/CODING_CONVENTIONS.md before changing source, tests, protocols, subprocesses, or build configuration. - Bun drives development and tests; shipped source must remain compatible with the Node-targeted ESM bundle. - Do not add TypeScript enum or const enum. Shared closed vocabularies use one frozen as const runtime authority with inferred unions and total satisfies projections. Do not centralize genuinely local one-use literals. - Keep strict TypeScript, portable argv-based process launches, deterministic cleanup, descriptive bun:test coverage, and the 400-line source cap. -…
We split this AGENTS.md into the rules it gives an agent
5 rules. About 0 are common, 0 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 21
Read docs/CODING_CONVENTIONS.md before changing source, tests, protocols, subprocesses, or build configuration.
- Very specific: line 25
Do not add TypeScript enum or const enum.
- Very specific: line 28
Keep strict TypeScript, portable argv-based process launches, deterministic cleanup, descriptive bun:test coverage, and the 400-line source …
- Very specific: line 30
Run focused checks while iterating and the final vf verify confidence gate after any code edit.
- Very specific: line 87
Remove the last-release-sha key from release-please-config.json.
≈ “Common” is an estimate: at least 1 in 5 of the 36,368 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
<!-- vibeflow:start -->AGENTS.md
⚡ VibeFlow v0.15.0 Active — local-first orchestrator for AI coding agents (https://github.com/magicpro97/vibeflow).
Project: vibeflow-hermes-execution · Goal: Complete Draft v7 brainstorming/debate end-to-end across runtime, CLI, policies, API/SSE, UI, and verification.
- For code navigation (definitions, references, callers, impact): prefer the language-server (LSP) MCP tools first; only fall back to grep/find/read if the others are unavailable.
VibeFlow commands (use these)
vf doctor— check engine readiness before dispatching.vf init— regenerate context/engine files after editing .vibeflow/*.vf orchestrate— plan + dispatch work units in parallel under the confidence gate.vf verify— typecheck/lint/test + confidence/evidence/scope gates BEFORE claiming done.vf skills— list/resolve verified skills; prefer them over inventing steps.vf hooks emit --yes— ARM the guardrail (blocks destructive/free-handed actions;vf doctorshows ON/OFF). Working with vf — Confidence gate (MANDATORY): After ANY code edit, and BEFORE you claim a task is done, YOU MUST runvf verifyand include its output as evidence. Nothing is "done" untilvf verifypasses at confidence 1.0 (command output, file path, or test result), within scope. No verification, no completion. Drive every task through vf — do not free-hand it. Arm the guardrail once withvf hooks emit --yesso this is enforced, not just advised. Learn from the run: capture a reusable procedure or worked-around mistake as a DRAFT skill (vf skills draft <name>), and record non-obvious decisions withvf decision add.vf orchestrateauto-crystallizes recurring patterns into a DRAFT for review. Full workflow guide: load thevfskill (or/vfin a CLI) — Flow A–D, pitfalls, and hooks live there. Powered by VibeFlow v0.15.0 — https://github.com/magicpro97/vibeflow
<!-- vibeflow:end -->Bun and TypeScript conventions
- Read
docs/CODING_CONVENTIONS.mdbefore changing source, tests, protocols, subprocesses, or build configuration. - Bun drives development and tests; shipped source must remain compatible with the Node-targeted ESM bundle.
- Do not add TypeScript
enumorconst enum. Shared closed vocabularies use one frozenas construntime authority with inferred unions and totalsatisfiesprojections. Do not centralize genuinely local one-use literals. - Keep strict TypeScript, portable argv-based process launches, deterministic
cleanup, descriptive
bun:testcoverage, and the 400-line source cap. - Run focused checks while iterating and the final
vf verifyconfidence gate after any code edit.
Commit messages (Conventional Commits)
VibeFlow integrates release-please (see commit d88d061), so the commit message on main is the only signal that decides the next version bump. Write commits accordingly.
Bump mapping (release-please changelog sections in release-please-config.json):
| Prefix | Bump | Use for |
feat: | minor | user-facing feature |
fix: | patch | user-facing bug fix |
perf: | patch | performance improvement |
feat!: or BREAKING CHANGE: footer | major | breaking change |
refactor: | none | code change, no behavior diff |
docs:, test:, build:, ci:, style: | none | scope-specific change |
chore: | none | internal (deps, config) |
Good examples (scope matches this repo's surface area):
feat(cli): add --dry-run flag to vf orchestratefix(ui): prevent dashboard re-render on tab switchci: integrate release-please for auto-publish on mainchore(deps): bump biome to 1.9.5feat(workflow): support parallel work units with overlapping scopes
Anti-patterns — reword before merging to main:
update stuff->fix(cli): handle empty work unit list gracefullyWIP: trying things->refactor(workflow): split orchestrator into plan + dispatch phases(or squash/reword — never merge WIP tomain)Feature: add X->feat: add X(lowercase, exact spec)
Escape hatch: commits with chore: / docs: / refactor: (or other non-bumping types) do not trigger a release. To ship a new version, land at least one feat: / fix: / perf: / BREAKING CHANGE: commit on main since the last release.
See release-please-config.json for the full changelog-sections mapping.
Release-please setup (first run)
VibeFlow uses release-please (commit d88d061). The bot opens/updates a
Release PR on every push to main and publishes npm when merged. For the bot
to work on this repo, two one-time settings are required:
- Repo Settings → Actions → General → Workflow permissions:
enable "Allow GitHub Actions to create and approve pull requests".
Without it the job fails with:
GitHub Actions is not permitted to create or approve pull requests. release-please-config.jsoncontainslast-release-sha: 3e5bd90at root level — that SHA is the last manual release (release: v0.3.17). The bot uses it to skip the pre-release-please history that contains git tags but no Release PRs (otherwise it would bump0.3.17 → 0.4.0on the first run, since it falls back to the old git tagv0.3.8as the anchor).
Cleanup after the first release-please Release PR is merged (i.e. once the bot has tracked one release via PR):
- Remove the
last-release-shakey fromrelease-please-config.json. - Commit as
chore(ci): drop last-release-sha after first release-please run. - The bot will then self-track versions via merged Release PRs.
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 28,693 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository54 other files it gives its agents.
- .claude/CLAUDE.mdCLAUDE.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- algorithmic-artSkill
- brand-guidelinesSkill
- brandkitSkill
- industrial-brutalist-uiSkill
- bun-typescript-conventionsSkill
- canvas-designSkill
- claude-apiSkill
- claude-opus-4-5-migrationSkill
- coordinatorSkill
- deterministic-async-teardownSkill
- doc-coauthoringSkill
- docxSkill
- durable-authority-crash-replaySkill
- exact-coverage-repairSkill
- frontend-designSkill
- gpt-tasteSkill
- gsap-coreSkill
- gsap-frameworksSkill
- gsap-performanceSkill
- gsap-pluginsSkill
- gsap-reactSkill
- gsap-scrolltriggerSkill
- gsap-timelineSkill
- gsap-utilsSkill
- imagegen-frontend-mobileSkill
- imagegen-frontend-webSkill
- image-to-codeSkill
- internal-commsSkill
- mcp-builderSkill
- merge-when-greenSkill
- minimalist-uiSkill
- full-output-enforcementSkill
- pdfSkill
- playwright-cliSkill
- pptxSkill
- redesign-existing-projectsSkill
- runtime-portable-process-fixturesSkill
- skill-creatorSkill
- slack-gif-creatorSkill
- high-end-visual-designSkill
- stitch-design-tasteSkill
- design-taste-frontendSkill
- design-taste-frontend-v1Skill
- template-skillSkill
- theme-factorySkill
- typed-protocol-contractsSkill
- vfSkill
- webapp-testingSkill
- web-artifacts-builderSkill
- windows-path-authority-leasesSkill
- xlsxSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

