By netguy204
Documentation-driven development workflow: chunks, narratives, investigations, and orchestration backed by the ve CLI.
Migrate the project's ACTIVE chunks to the present-tense, intent-owning standard. Audits each chunk's goal against the code it claims to govern; rewrites retrospective framing inline; logs over-claims that need operator triage; historicalizes chunks with no enduring intent. Designed for full-corpus migrations — fans out across many parallel sub-agents at 5 chunks per agent. Use when the operator asks to audit chunk intent, migrate the chunk corpus, or clean up retrospective chunk framing.
Create a single conventional-format git commit that includes chunk documentation and source changes while excluding ephemeral files. Use when the operator asks to commit chunk work or commit changes in a ve project.
Update code references in the current chunk and move both the PLAN.md and the GOAL.md to the ACTIVE state. Use when implementation is done and the operator asks to complete, finalize, or close out the current chunk, or as the COMPLETE phase of the chunk lifecycle.
Create a new chunk of work and refine its goal. Use when the operator wants to start new intent-bearing work, chunk something, define a piece of work, or break work into a chunk.
Demote a cross-repo chunk to a single project, collapsing all external bookkeeping in one atomic operation. Use when a multi-project chunk's scope has collapsed to one project, or the operator asks to demote a chunk out of the external artifact repo.
Executes a single vibe-engineer chunk through its full lifecycle (plan, implement, review, complete) in a parallel session. Used by narrative-execute to run each chunk in a wave as a background agent. Use when a chunk needs to be driven end-to-end to ACTIVE status without occupying the main session.
Audits a batch of ~5 ACTIVE vibe-engineer chunks against the intent-ownership principles in docs/trunk/CHUNKS.md. Rewrites retrospective framing in place, logs over-claims to docs/trunk/INCONSISTENCIES/, fixes unambiguous code_paths drift, and historicalizes chunks with no enduring intent. Used by audit-intent's parallel fan-out (10 agents per wave, 5 chunks each).
Uses power tools
Uses Bash, Write, or Edit tools
Runs pre-commands
Contains inline bash commands via ! syntax
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Documentation-driven development for AI-assisted coding.
ve is a CLI for organizing AI-assisted code changes around architectural intent. Vibe coding is magic on day 1: you describe what you want, the agent builds it, it works. Day 2 breaks because the codebase kept the implementation but not the judgment that produced it. ve adds the missing layer: chunks that record why a piece of the system has the shape it has and stay current as the code evolves.
Website: veng.dev
pip install vibe-engineer
Or with UV:
uv tool install vibe-engineer
Install directly from the repository:
uv tool install git+https://github.com/netguy204/vibe-engineer.git
Or install from a local clone:
git clone https://github.com/netguy204/vibe-engineer.git
cd vibe-engineer
uv tool install .
After installation, the ve command is available from anywhere:
ve --help
ve init
ve chunk create my-feature
To upgrade to the latest version:
uv tool upgrade vibe-engineer
To uninstall:
uv tool uninstall vibe-engineer
VE 1.0 attaches entities as git worktrees of a shared canonical clone
in ~/Entities/<name>. VE 0.x attached them as git submodules.
The 1.0 attach code has no submodule code path: it cannot detect or
upgrade in-place a 0.x submodule attachment.
If you have any .entities/<name> directories created by VE 0.x, do this
before upgrading ve:
ve entity list to see what is attached, then
ve entity detach <name> (with your existing 0.x ve) for each one.
Commit the resulting .gitmodules deletion.ve (e.g. uv tool upgrade vibe-engineer).~/.ve-config.toml once for this machine:
entities_dir = "~/Entities"
git_base = "[email protected]:my-org"
ve entity attach <name> to re-attach via the
worktree pathway. The canonical clone at ~/Entities/<name> is
cloned on first use and shared across every project on this machine.If you skip step 1, VE 1.0 will refuse to clobber the pre-existing
.entities/<name> directory at attach time — your old submodule sits
untouched until you remove it by hand.
For the full rationale and a script-friendly version, see
docs/chunks/entity_worktree_attach/MIGRATION.md.
This repository is also a Claude Code plugin marketplace. The plugin is the
distribution channel for the agent-facing workflow content (slash commands,
skills, hooks, subagents); the ve CLI installed above remains the workflow
engine that the plugin shells out to.
Install the plugin from within Claude Code:
/plugin marketplace add netguy204/vibe-engineer
/plugin install vibe-engineer
Or from a local checkout:
/plugin marketplace add /path/to/vibe-engineer
/plugin install vibe-engineer
Both the plugin and the ve CLI are required: install the CLI with uv/pip
(see above), install the plugin through Claude Code, and run ve init in
your project to scaffold the workflow documentation. Plugin updates arrive
through /plugin update vibe-engineer — no re-rendering into your
repository.
The plugin installs a SessionStart hook that runs whenever you open a session
inside a ve project (detected by docs/trunk/GOAL.md). It surfaces the
currently IMPLEMENTING chunk, and when the ve CLI is missing it installs it
for you from the plugin's own checkout (uv tool install), announcing what it
is doing first — so on a machine with uv, installing the plugin is the only
setup step (see DEC-013 in docs/trunk/DECISIONS.md). Installs the hook
created this way are kept version-synced with the plugin automatically; a
ve you installed yourself is never touched — the hook only warns when the
versions diverge. The plugin and the ve package are co-versioned: they are
compatible when their major.minor versions match (DEC-011). Check your CLI
version with ve --version. Without uv the hook falls back to a one-line
install hint, and outside ve projects it is silent.
Initialize the vibe-engineer scaffolding in a project:
ve init
This creates docs/trunk/ for project-level docs (GOAL, SPEC, DECISIONS, TESTING_PHILOSOPHY), docs/chunks/ for the work itself, and AGENTS.md plus CLAUDE.md so agents know how to navigate the layout.
Edit docs/trunk/ next: this is where you describe what the project is for and the rules an agent should respect when working in it. The docs/trunk/ of this repository is a worked example.
npx claudepluginhub netguy204/vibe-engineer --plugin vibe-engineerComprehensive feature development workflow with specialized agents for codebase exploration, architecture design, and quality review
Comprehensive C4 architecture documentation workflow with bottom-up code analysis, component synthesis, container mapping, and context diagram generation
Harness-native ECC operator layer - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses
Access thousands of AI prompts and skills directly in your AI coding assistant. Search prompts, discover skills, save your own, and improve prompts with AI.
Upstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.
Complete developer toolkit for Claude Code