@esthernandez/vibe-cartographer 1.0.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 (30) hide show
  1. package/.claude-plugin/marketplace.json +21 -0
  2. package/CHANGELOG.md +122 -0
  3. package/INSTALL.md +132 -0
  4. package/README.md +148 -0
  5. package/docs/self-evolving-plugins-framework.md +347 -0
  6. package/package.json +30 -0
  7. package/plugins/vibe-cartographer/.claude-plugin/plugin.json +6 -0
  8. package/plugins/vibe-cartographer/CLAUDE.md +24 -0
  9. package/plugins/vibe-cartographer/architecture/README.md +41 -0
  10. package/plugins/vibe-cartographer/architecture/default-patterns.md +87 -0
  11. package/plugins/vibe-cartographer/architecture/example-architecture.md +80 -0
  12. package/plugins/vibe-cartographer/skills/build/SKILL.md +198 -0
  13. package/plugins/vibe-cartographer/skills/checklist/SKILL.md +217 -0
  14. package/plugins/vibe-cartographer/skills/guide/SKILL.md +207 -0
  15. package/plugins/vibe-cartographer/skills/guide/references/eval-rubric.md +103 -0
  16. package/plugins/vibe-cartographer/skills/guide/references/prd-guide.md +100 -0
  17. package/plugins/vibe-cartographer/skills/guide/references/spec-patterns.md +133 -0
  18. package/plugins/vibe-cartographer/skills/guide/templates/builder-profile-template.md +36 -0
  19. package/plugins/vibe-cartographer/skills/guide/templates/checklist-template.md +37 -0
  20. package/plugins/vibe-cartographer/skills/guide/templates/prd-template.md +49 -0
  21. package/plugins/vibe-cartographer/skills/guide/templates/reflection-template.md +55 -0
  22. package/plugins/vibe-cartographer/skills/guide/templates/scope-template.md +29 -0
  23. package/plugins/vibe-cartographer/skills/guide/templates/spec-template.md +68 -0
  24. package/plugins/vibe-cartographer/skills/iterate/SKILL.md +97 -0
  25. package/plugins/vibe-cartographer/skills/onboard/SKILL.md +329 -0
  26. package/plugins/vibe-cartographer/skills/prd/SKILL.md +112 -0
  27. package/plugins/vibe-cartographer/skills/reflect/SKILL.md +196 -0
  28. package/plugins/vibe-cartographer/skills/scope/SKILL.md +122 -0
  29. package/plugins/vibe-cartographer/skills/session-logger/SKILL.md +109 -0
  30. package/plugins/vibe-cartographer/skills/spec/SKILL.md +127 -0
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "vibe-cartographer",
3
+ "owner": {
4
+ "name": "626Labs LLC"
5
+ },
6
+ "metadata": {
7
+ "description": "Vibe Cartographer — plot your course from idea to shipped app. Spec-driven development, delivered as eight slash commands."
8
+ },
9
+ "plugins": [
10
+ {
11
+ "name": "vibe-cartographer",
12
+ "source": "./plugins/vibe-cartographer",
13
+ "description": "Vibe Cartographer — plot your course from idea to shipped app through spec-driven development, delivered as eight slash commands.",
14
+ "author": {
15
+ "name": "626Labs LLC"
16
+ },
17
+ "keywords": ["vibe-cartographer", "spec-driven", "app-readiness", "project-planning", "claude-code-plugin"],
18
+ "category": "education"
19
+ }
20
+ ]
21
+ }
package/CHANGELOG.md ADDED
@@ -0,0 +1,122 @@
1
+ <!-- markdownlint-disable MD024 -->
2
+ <!-- Keep-a-Changelog uses duplicate "Added / Changed / Fixed" headings per version by design. -->
3
+
4
+ # Changelog
5
+
6
+ All notable changes to this project are documented here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ - Nothing yet.
11
+
12
+ ## [1.0.0] — 2026-04-15 — Rebrand to Vibe Cartographer
13
+
14
+ The plugin formerly known as `@esthernandez/app-project-readiness` is now **Vibe Cartographer**. Same 8-command spec-driven workflow, same personas, same session memory — new name that actually says what the plugin does: *plot your course from idea to shipped app*.
15
+
16
+ ### Changed
17
+
18
+ - **Package rename.** `@esthernandez/app-project-readiness` → `@esthernandez/vibe-cartographer`. The old package is deprecated on npm with a pointer to the new one; existing installs keep working but get a deprecation warning on next install.
19
+ - **Plugin directory rename.** `plugins/app-project-readiness/` → `plugins/vibe-cartographer/`. Update any local pointers in Claude Desktop's Personal Plugins panel after upgrading.
20
+ - **Unified profile namespace.** `plugins.app-project-readiness` → `plugins.vibe-cartographer` in `~/.claude/profiles/builder.json`. `/onboard` auto-migrates on first v1.0.0+ run; the old key is kept side-by-side for one release as a safety net.
21
+ - **Session log path.** `~/.claude/plugins/data/app-project-readiness/sessions/` → `~/.claude/plugins/data/vibe-cartographer/sessions/`. Legacy logs are preserved untouched (append-only history doesn't migrate).
22
+ - **ASCII banner.** Replaced the 626Labs FIGlet banner with a cleaner 5-line neural-network mesh + side-by-side text — cleaner alignment, more reproducible under the LLM's rendering.
23
+ - **GitHub repository renamed.** `estevanhernandez-stack-ed/app-readinessplugin` → `estevanhernandez-stack-ed/vibe-cartographer`. GitHub auto-redirects the old URL, so existing clones keep working until you update the remote.
24
+
25
+ ### Migration
26
+
27
+ On first `/onboard` with v1.0.0+, the plugin:
28
+
29
+ 1. Checks `~/.claude/profiles/builder.json` for a legacy `plugins.app-project-readiness` block
30
+ 2. Copies it to `plugins.vibe-cartographer`, leaving the old key in place for one release as a safety net
31
+ 3. Logs the migration in `process-notes.md`
32
+
33
+ The deep-legacy markdown profile at `~/.claude/plugins/data/app-project-readiness/user-profile.md` (v0.4.x and earlier) still migrates the way it did in v0.5.0, just now into `plugins.vibe-cartographer` instead.
34
+
35
+ ### Why the rename
36
+
37
+ "App Project Readiness" described what the plugin *technically* was but said nothing about the vibe. "Vibe Cartographer" captures the whole point: vibe coding with purpose and direction. Cartographers produce maps before expeditions — this plugin produces scope, PRD, spec, and checklist docs before you write any code. Pairs with [Vibe Doc](https://www.npmjs.com/package/@esthernandez/vibe-doc) in the 626Labs ecosystem: Doc writes the documentation you need, Cartographer plots the route you'll take.
38
+
39
+ This is the "plugin has graduated from beta" moment. No new features — just the rename, the migration machinery, and a new banner.
40
+
41
+ ## [0.5.0] — 2026-04-15
42
+
43
+ ### Added
44
+
45
+ - **Persona selection** during `/onboard` (new step 9). Five named personas — **Professor**, **Cohort**, **Superdev**, **Architect**, **Coach** — plus a **System default** that preserves base behavior. Persona controls voice (relational stance, explanation depth, checkpoint style) and coexists with the Learner / Builder mode which controls pacing. Stored in `shared.preferences.persona` on the unified profile so all 626Labs plugins respect it.
46
+ - **Session-logger skill** (`skills/session-logger/SKILL.md`). Every command appends a one-line JSON entry to `~/.claude/plugins/data/app-project-readiness/sessions/<date>.jsonl` at completion — command name, outcome, user pushback flag, friction notes, key decisions. Local-first, append-only, no PII. This is the Level 2 increment of the Self-Evolving Plugin Framework: passive memory that a future `/app-readiness-evolve` step will read to propose plugin improvements.
47
+ - **Self-Evolving Plugin Framework doc** at [docs/self-evolving-plugins-framework.md](docs/self-evolving-plugins-framework.md). Thesis, 12-pattern catalog, and applied playbook (maturity ladder, retrofit/scaffold playbooks, anti-patterns, shipping cadence). The architectural north star for this plugin and all future 626Labs plugins.
48
+ - **Persona Adaptation reference table** in the guide SKILL, mapping each persona to voice / explanations / checkpoints / feedback style so every command renders a consistent voice from start to handoff.
49
+ - **Learning Hackathon credit** in the README — this plugin extends the foundational spec-driven-dev workflow from the Hackathon, rebuilt as a builder-focused tool with persistent memory and a reflective retro.
50
+
51
+ ### Changed
52
+
53
+ - **Unified builder profile** moved from plugin-scoped markdown (`~/.claude/plugins/data/app-project-readiness/user-profile.md`) to a cross-plugin JSON file at `~/.claude/profiles/builder.json`. Schema has a top-level `shared` block (identity, experience, preferences, creative sensibility) and `plugins.<plugin-name>` blocks (plugin-scoped state). Strict ownership: each plugin writes its own `plugins.<name>` block and never stomps other plugins' namespaces. `/onboard` auto-migrates the legacy file to the new location on first run; old file preserved as `.bak`.
54
+ - **README install instructions** rewritten. Removed the stale `/install-plugin` references (that command doesn't exist in current Claude Code versions) and documented three real install paths: npm, Claude Desktop Personal Plugins UI, and local clone.
55
+ - **README table formatting and code block language hints** cleaned up (markdown lint fixes).
56
+
57
+ ### Fixed
58
+
59
+ - **`/reflect` no longer feels like a classroom wrap-up.** Rewrote the reflect SKILL, the reflection template, and the eval-rubric to read like a peer retro. "What landed / What to tighten" replaces "strength / growth area", "quiz" becomes "check-in", and the defensive disclaimers ("not to grade you", "no wrong answers") are gone. The final artifact reads like feedback from a senior engineer doing a post-ship retro, not a teacher wrapping up a student project.
60
+
61
+ ## [0.4.0] — 2026-04-15
62
+
63
+ ### Added
64
+
65
+ - **Persistent global builder profile.** `/onboard` now detects returning builders, skips the background interview if a profile exists, and jumps straight to project-specific questions. The profile is written during `/onboard` and updated at the end of each full run during `/reflect`. Per-project `docs/builder-profile.md` is still created — the global profile captures the *person*, the per-project profile captures the *project*.
66
+
67
+ ## [0.3.0] — 2026-04-15
68
+
69
+ ### Changed
70
+
71
+ - **Rebranded from Marcus Corporation to 626Labs LLC** across the plugin manifest, marketplace entry, README, plugin CLAUDE.md, and the onboard welcome banner.
72
+ - **Welcome banner** replaced with a clean FIGlet-style `626Labs` ASCII logo. The previous asterisk-and-dash art rendered as a scrambled wall of characters because it was too fragile for the LLM to reproduce character-perfect.
73
+
74
+ ## [0.2.0] and earlier
75
+
76
+ Foundational work, pre-dating the first npm publish:
77
+
78
+ - Initial plugin structure with the 8-command workflow: `/onboard` → `/scope` → `/prd` → `/spec` → `/checklist` → `/build` → `/iterate` → `/reflect`.
79
+ - Learner / Builder mode split for pacing.
80
+ - Architecture docs support — the builder can point at their own stack preferences during `/onboard` and downstream commands calibrate against them.
81
+ - Per-project `docs/builder-profile.md` artifact that every command reads.
82
+ - Extensive builder-focused language cleanup after a LADDER stress-test surfaced too much "learner" framing in early drafts.
83
+
84
+ ---
85
+
86
+ ## Contributing
87
+
88
+ This plugin is maintained by [626Labs LLC](https://626labs.dev) (solo maintainer at the moment — expect slower turnaround than a team-backed project).
89
+
90
+ ### How to contribute
91
+
92
+ 1. **Fork** the repo on GitHub: [estevanhernandez-stack-ed/vibe-cartographer](https://github.com/estevanhernandez-stack-ed/vibe-cartographer).
93
+ 2. **Branch** from `main` with a short, focused name (`fix/reflect-wording`, `feat/new-persona`, etc.).
94
+ 3. **Make the change** — most of this plugin is markdown (SKILL files and templates). No build step.
95
+ 4. **Test it locally** by installing from your fork (`git clone && point Claude Code at it`) or by pointing the plugin directory in your Claude Desktop Personal Plugins panel at your working copy.
96
+ 5. **Open a PR** against `main` with a clear description of what's changing and why.
97
+
98
+ ### Development setup
99
+
100
+ There's no build, no package manager install, no test suite yet — just markdown:
101
+
102
+ ```bash
103
+ git clone https://github.com/estevanhernandez-stack-ed/vibe-cartographer
104
+ cd vibe-cartographer
105
+ # edit plugins/vibe-cartographer/skills/**/SKILL.md directly
106
+ ```
107
+
108
+ Point Claude Desktop's Personal plugins at `plugins/vibe-cartographer/` and iterate. Every change takes effect the next time you run a slash command.
109
+
110
+ ### Proposing a change
111
+
112
+ - **Small fixes and language tweaks** — open a PR directly, reference the specific SKILL file and section you're changing.
113
+ - **New personas, new commands, structural changes** — open an issue first to discuss scope. The plugin has a specific tone (builder-focused, peer-to-peer) and structural changes to the 8-command flow deserve a conversation.
114
+ - **Bug fixes** — include a short "before / after" in the PR description showing what was wrong and how the fix changes the behavior.
115
+
116
+ ### Review process
117
+
118
+ Reviews are handled by the maintainer (Estevan). Expect feedback within a few days. There's no formal approval process — if the change is sound and fits the plugin's voice, it merges.
119
+
120
+ ### Code of conduct
121
+
122
+ Be direct, be kind, don't waste each other's time. Disagreements about technical direction are welcome; personal attacks, gatekeeping, and "this is bad because I say so" are not.
package/INSTALL.md ADDED
@@ -0,0 +1,132 @@
1
+ # Installation Guide — Vibe Cartographer
2
+
3
+ ## Prerequisites
4
+
5
+ - **Claude Code** — any form of it: CLI, Desktop app, VS Code extension, or JetBrains plugin. Vibe Cartographer defines slash commands that Claude Code executes. Without Claude Code, there's nothing to run.
6
+ - **Node.js 18 or later** — only required if you plan to install via npm. Installing from a local clone doesn't need Node at all.
7
+ - **A fresh, empty project folder** — the plugin creates artifacts in `docs/` of your working directory. Running `/onboard` in a directory that already has code and docs mixed together will get messy fast. Make a new folder for your project before you start.
8
+
9
+ ## Install paths
10
+
11
+ You only need one of these. Pick whichever matches how you're already running Claude Code.
12
+
13
+ ### Option 1: npm (recommended)
14
+
15
+ ```bash
16
+ npm install -g @esthernandez/vibe-cartographer
17
+ ```
18
+
19
+ This drops the plugin files on your disk at your npm global root — typically `~/.npm-global/lib/node_modules/@esthernandez/vibe-cartographer/` on macOS/Linux or `%APPDATA%\npm\node_modules\@esthernandez\vibe-cartographer\` on Windows. You then need to tell Claude Code about them — see [Connecting to Claude Code](#connecting-to-claude-code) below.
20
+
21
+ ### Option 2: Claude Desktop — Personal plugin
22
+
23
+ If you're on the Claude Desktop app and don't want an npm install:
24
+
25
+ 1. Open **Personal plugins** in Claude Desktop (the panel in the left sidebar).
26
+ 2. Click the **+** button → **Create plugin**.
27
+ 3. Point it at a local clone of this repo (see Option 3 for the clone step).
28
+ 4. The plugin's slash commands become available immediately — no restart required.
29
+
30
+ ### Option 3: Clone and reference locally
31
+
32
+ ```bash
33
+ git clone https://github.com/estevanhernandez-stack-ed/vibe-cartographer ~/vibe-cartographer
34
+ ```
35
+
36
+ Then point Claude Code at `~/vibe-cartographer/plugins/vibe-cartographer/` as the plugin root. This is the same as Option 2 minus the Claude Desktop UI step — useful if you're on the Claude Code CLI directly.
37
+
38
+ ## Connecting to Claude Code
39
+
40
+ After installing, Claude Code needs to know where the plugin lives. The exact steps depend on your client:
41
+
42
+ - **Claude Desktop** — use the **Personal plugins** panel (**+** button → **Create plugin** → point at the folder). Same flow for Option 1 (point at the npm install path) and Option 3 (point at your local clone).
43
+ - **Claude Code CLI** — if your version has a plugin-add command, point it at the install path. Otherwise clone the repo and rely on Claude Code's plugin discovery for folders in its known marketplace list.
44
+ - **VS Code / JetBrains** — Claude Code in your IDE reads from the same global plugin config as Claude Desktop. Install via Option 2 on Claude Desktop first and the IDE will pick it up on next launch.
45
+
46
+ **Pointing at the right folder matters.** The plugin root is the folder that contains `.claude-plugin/plugin.json` — in this repo that's `plugins/vibe-cartographer/`, not the repo root. Pointing at the repo root will not work.
47
+
48
+ ## Verification
49
+
50
+ Open Claude Code in a **fresh, empty folder** for a project you want to build, then run:
51
+
52
+ ```text
53
+ /onboard
54
+ ```
55
+
56
+ You should see the Vibe Cartographer neural-network welcome banner and the first onboarding question. If you instead see `Unknown skill: onboard`, the plugin isn't wired in yet — double-check your Claude Code plugin list and confirm the path points at the folder containing `.claude-plugin/plugin.json`.
57
+
58
+ You can also check the installed version from a shell:
59
+
60
+ ```bash
61
+ npm list -g @esthernandez/vibe-cartographer
62
+ ```
63
+
64
+ ## Configuration
65
+
66
+ No required configuration. On first `/onboard`, the plugin creates a **unified builder profile** at `~/.claude/profiles/builder.json` that captures your identity, experience level, and preferences (tone, pacing, persona). This profile is shared across all 626Labs plugins — install another 626Labs plugin later (like Vibe Doc) and it reads the same file, so you don't re-onboard.
67
+
68
+ You can inspect the profile any time:
69
+
70
+ ```bash
71
+ cat ~/.claude/profiles/builder.json
72
+ ```
73
+
74
+ It's plain JSON, lives in your home directory, and never leaves your machine.
75
+
76
+ ## Migrating from `@esthernandez/app-project-readiness`
77
+
78
+ Vibe Cartographer is the rename of what used to be `@esthernandez/app-project-readiness` (v0.5.0 and earlier). v1.0.0 handles the migration automatically:
79
+
80
+ 1. **Install the new package:** `npm install -g @esthernandez/vibe-cartographer`
81
+ 2. **Uninstall the old one** when you're ready: `npm uninstall -g @esthernandez/app-project-readiness`
82
+ 3. **Run `/onboard`** in a project. The plugin will:
83
+ - Check `~/.claude/profiles/builder.json` for a legacy `plugins.app-project-readiness` block
84
+ - Copy that block to `plugins.vibe-cartographer` (leaving the old key in place for one release as a safety net)
85
+ - Note the migration in `process-notes.md`
86
+ 4. **Legacy session logs** at `~/.claude/plugins/data/app-project-readiness/sessions/` are preserved untouched — append-only history isn't migrated, it just stays where it was written.
87
+ 5. **Your per-project `docs/*.md` artifacts are untouched.** Nothing in your existing project folders needs to change.
88
+
89
+ ## Troubleshooting
90
+
91
+ **`Unknown skill: onboard` when running `/onboard`.**
92
+ Claude Code isn't loading the plugin. Confirm the plugin folder is registered in your client's plugin list, and that you're pointing at the folder that contains `.claude-plugin/plugin.json` (the plugin root — `plugins/vibe-cartographer/` in this repo), not the repo root or a parent directory.
93
+
94
+ **The welcome banner renders as a scrambled wall of characters.**
95
+ You're on an ancient install (0.2.x or earlier) that still ships the fragile asterisk-and-dash ASCII art. Upgrade:
96
+
97
+ ```bash
98
+ npm install -g @esthernandez/vibe-cartographer@latest
99
+ ```
100
+
101
+ **`/reflect` feels like a classroom quiz instead of a peer retro.**
102
+ Your Claude Code is loading a 0.4.x or earlier copy. Upgrade to 1.0.0+ (Vibe Cartographer) or 0.5.0+ (final app-project-readiness).
103
+
104
+ **My builder profile still has `plugins.app-project-readiness` and not `plugins.vibe-cartographer`.**
105
+ Run `/onboard` once on v1.0.0+ and the plugin will copy the old block to the new location automatically. Both keys will exist side-by-side for one release as a safety net; the next major bump will drop the old key.
106
+
107
+ **I picked the wrong persona or mode and want to switch.**
108
+ Tell the agent directly mid-session: "switch to Superdev persona" or "switch to Builder mode". The override sticks for the rest of the session. To change it permanently for future runs, edit `~/.claude/profiles/builder.json` directly (it's plain JSON — `shared.preferences.persona` and `plugins.vibe-cartographer.mode`).
109
+
110
+ ## Uninstalling
111
+
112
+ ```bash
113
+ npm uninstall -g @esthernandez/vibe-cartographer
114
+ # and if you still have the old package installed:
115
+ npm uninstall -g @esthernandez/app-project-readiness
116
+ ```
117
+
118
+ If you want to wipe the builder profile and session logs too:
119
+
120
+ ```bash
121
+ # macOS/Linux
122
+ rm -f ~/.claude/profiles/builder.json
123
+ rm -rf ~/.claude/plugins/data/vibe-cartographer/
124
+ rm -rf ~/.claude/plugins/data/app-project-readiness/
125
+
126
+ # Windows (PowerShell)
127
+ Remove-Item -Path "$HOME\.claude\profiles\builder.json" -Force
128
+ Remove-Item -Path "$HOME\.claude\plugins\data\vibe-cartographer" -Recurse -Force
129
+ Remove-Item -Path "$HOME\.claude\plugins\data\app-project-readiness" -Recurse -Force
130
+ ```
131
+
132
+ Both are safe to delete — the plugin recreates them on next use, and nothing else on your system depends on them.
package/README.md ADDED
@@ -0,0 +1,148 @@
1
+ # Vibe Cartographer
2
+
3
+ **Plot your course from idea to shipped app.**
4
+
5
+ ```text
6
+ ◯───◯───◯
7
+ │ ╲ │ ╱ │
8
+ ◯───◯───◯ V I B E C A R T O G R A P H E R
9
+ │ ╱ │ ╲ │ plot your course
10
+ ◯───◯───◯
11
+ ```
12
+
13
+ A spec-driven development plugin for [Claude Code](https://claude.ai/code) and Claude Desktop. Vibe coding with purpose and direction — takes you from idea spark to shipped app through eight structured commands, with documentation and security verification baked into the process.
14
+
15
+ > **Based on the Learning Hackathon spec-driven dev plugin.** Vibe Cartographer extends and productionizes the spec-driven development approach introduced in the Learning Hackathon, rebuilt from the ground up as a builder-focused tool with persistent memory, cross-plugin profiles, selectable personas, and a reflective retro in place of the original classroom quiz. Credit to the Hackathon authors for the foundational workflow pattern.
16
+
17
+ ## What It Does
18
+
19
+ Vibe Cartographer delivers a guided spec-driven development workflow as eight slash commands. Each command produces artifacts (scope doc, PRD, technical spec, build checklist, reflection) that downstream commands consume. The agent acts as a sharp, encouraging collaborator — interviewing you through each phase rather than waiting for prompts, adapting its voice to the persona you pick.
20
+
21
+ **Command chain:** `/onboard` → `/scope` → `/prd` → `/spec` → `/checklist` → `/build` → `/iterate` → `/reflect`
22
+
23
+ | Command | What It Does |
24
+ | ------------ | ---------------------------------------------------------------- |
25
+ | `/onboard` | Welcome, builder profiling, persona selection, architecture docs |
26
+ | `/scope` | Brainstorm and refine your idea into a focused project scope |
27
+ | `/prd` | Turn scope into detailed product requirements |
28
+ | `/spec` | Translate PRD into a technical blueprint using your architecture |
29
+ | `/checklist` | Break the spec into a sequenced, dependency-aware build plan |
30
+ | `/build` | Build the app — autonomous or step-by-step mode |
31
+ | `/iterate` | Optional polish pass after the core build |
32
+ | `/reflect` | Retro, peer-style feedback, and qualitative review |
33
+
34
+ The final checklist step is always **Documentation & Security Verification** — README, docs cleanup, secrets scan, dependency audit, and deployment security posture.
35
+
36
+ ## Personas
37
+
38
+ Pick a voice during `/onboard` that shapes how the agent talks to you through the whole process. Personas coexist with the Learner / Builder pacing mode — persona controls **voice**, mode controls **pacing**.
39
+
40
+ - **Professor** — *"Let me explain the why."* Patient, explanatory, frequent checkpoints.
41
+ - **Cohort** — *"Let's think through this together."* Peer, collaborative, brainstormy.
42
+ - **Superdev** — *"You know what you're doing. Let's move."* Terse, direct, minimal handholding.
43
+ - **Architect** — *"Let's design for the long game."* Strategic, tradeoff-focused.
44
+ - **Coach** — *"Keep moving. Ship it."* Momentum-focused, anti-paralysis.
45
+ - **System default** — No override. Base Claude Code behavior calibrated only by your experience level and mode.
46
+
47
+ The persona lives in `~/.claude/profiles/builder.json` under `shared.preferences.persona` and is respected cross-plugin — other 626Labs plugins (like [Vibe Doc](https://www.npmjs.com/package/@esthernandez/vibe-doc)) pick up the same voice.
48
+
49
+ ## Architecture Docs
50
+
51
+ Vibe Cartographer supports custom architecture docs so technical decisions are guided by your preferred stack, patterns, and conventions. During `/onboard`, the builder points to their architecture docs (or skips to use sensible defaults).
52
+
53
+ See [`plugins/vibe-cartographer/architecture/`](plugins/vibe-cartographer/architecture/) for the included defaults and an example.
54
+
55
+ ## Install
56
+
57
+ Requires [Claude Code](https://claude.ai/code) or Claude Desktop with plugin support.
58
+
59
+ ### Option 1: npm (recommended)
60
+
61
+ ```bash
62
+ npm install -g @esthernandez/vibe-cartographer
63
+ ```
64
+
65
+ Then in Claude Code / Claude Desktop, point your personal plugins at the installed path:
66
+
67
+ - macOS/Linux: `~/.npm-global/lib/node_modules/@esthernandez/vibe-cartographer/plugins/vibe-cartographer`
68
+ - Windows: `%APPDATA%\npm\node_modules\@esthernandez\vibe-cartographer\plugins\vibe-cartographer`
69
+
70
+ ### Option 2: Claude Desktop personal plugin
71
+
72
+ 1. Open Claude Desktop's **Personal plugins** panel.
73
+ 2. Click **+ Create a plugin**.
74
+ 3. Point it to the `plugins/vibe-cartographer` folder from this repo (cloned or downloaded).
75
+ 4. The slash commands (`/onboard`, `/scope`, `/prd`, etc.) become available.
76
+
77
+ ### Option 3: Clone and reference locally
78
+
79
+ ```bash
80
+ git clone https://github.com/estevanhernandez-stack-ed/vibe-cartographer ~/vibe-cartographer
81
+ ```
82
+
83
+ Then point your Claude Code / Claude Desktop at `~/vibe-cartographer/plugins/vibe-cartographer`.
84
+
85
+ ### Migrating from `@esthernandez/app-project-readiness`
86
+
87
+ Vibe Cartographer is the rename of what was previously `@esthernandez/app-project-readiness` (v0.5.0 and earlier). The migration is automatic:
88
+
89
+ - Your unified builder profile at `~/.claude/profiles/builder.json` gets its `plugins.app-project-readiness` block copied to `plugins.vibe-cartographer` on first v1.0.0+ run.
90
+ - The old `@esthernandez/app-project-readiness` npm package is deprecated. Run `npm install -g @esthernandez/vibe-cartographer` and uninstall the old one when you're ready.
91
+ - Legacy session logs at `~/.claude/plugins/data/app-project-readiness/sessions/` are left in place — append-only history isn't touched.
92
+
93
+ ### Start the workflow
94
+
95
+ Navigate to a **fresh, empty folder** for your project and run:
96
+
97
+ ```text
98
+ /onboard
99
+ ```
100
+
101
+ All project artifacts get created in your project folder under `docs/`.
102
+
103
+ ## Project Structure
104
+
105
+ ```text
106
+ plugins/vibe-cartographer/
107
+ ├── .claude-plugin/plugin.json # Plugin metadata
108
+ ├── CLAUDE.md # Root agent behavior config
109
+ ├── architecture/ # Architecture docs (customizable)
110
+ │ ├── README.md
111
+ │ ├── default-patterns.md # Fallback stack patterns
112
+ │ └── example-architecture.md # Example: React + Supabase
113
+ └── skills/ # One folder per slash command
114
+ ├── onboard/SKILL.md
115
+ ├── scope/SKILL.md
116
+ ├── prd/SKILL.md
117
+ ├── spec/SKILL.md
118
+ ├── checklist/SKILL.md
119
+ ├── build/SKILL.md
120
+ ├── iterate/SKILL.md
121
+ ├── reflect/SKILL.md
122
+ ├── session-logger/SKILL.md # Append-only session memory (L2)
123
+ └── guide/ # Shared references and templates
124
+ ├── SKILL.md # Core agent behavior (loaded by all commands)
125
+ ├── references/ # eval-rubric, prd-guide, spec-patterns
126
+ └── templates/ # Output templates for each artifact
127
+ ```
128
+
129
+ ## Works Independently or Together
130
+
131
+ Vibe Cartographer is part of the **626Labs plugin ecosystem**. It runs standalone or alongside other 626Labs plugins like [`@esthernandez/vibe-doc`](https://www.npmjs.com/package/@esthernandez/vibe-doc) — when both are installed, they share a **unified builder profile** at `~/.claude/profiles/builder.json` so you only onboard once across all 626Labs plugins. Persona, tone, experience, and preferences carry across.
132
+
133
+ The unified profile is part of the [Self-Evolving Plugin Framework](docs/self-evolving-plugins-framework.md) — see that doc for the thesis, 12-pattern catalog, and the maturity ladder the plugin is working through. Vibe Cartographer is currently at **Level 2** (session memory + passive feedback capture); Level 3 (reflective evolution — the plugin proposes changes to itself based on observed usage) is on the roadmap.
134
+
135
+ ## Documentation
136
+
137
+ - [INSTALL.md](INSTALL.md) — detailed install, verification, configuration, troubleshooting, and uninstall steps
138
+ - [CHANGELOG.md](CHANGELOG.md) — release history and contributing guide
139
+ - [docs/self-evolving-plugins-framework.md](docs/self-evolving-plugins-framework.md) — thesis and pattern catalog driving the plugin's architecture
140
+
141
+ ## Credits
142
+
143
+ - **Based on the Learning Hackathon spec-driven development plugin.** The 8-command workflow (onboard → scope → PRD → spec → checklist → build → iterate → reflect) is adapted from the Hackathon's original spec-driven dev pattern. Vibe Cartographer productionizes that workflow with builder-focused language, persistent cross-plugin memory, selectable personas, and a reflective retro in place of the original quiz.
144
+ - Built by [626Labs LLC](https://626labs.dev) — Fort Worth, TX.
145
+
146
+ ## License
147
+
148
+ MIT