pan-wizard 3.10.0 → 3.12.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/README.md +76 -8
- package/agents/pan-conductor.md +14 -1
- package/agents/pan-release.md +58 -0
- package/assets/pan-avatar.png +0 -0
- package/assets/pan-developer.png +0 -0
- package/assets/pan-docs-header.png +0 -0
- package/assets/pan-hero.png +0 -0
- package/assets/pan-logo-2000-transparent.svg +11 -30
- package/assets/pan-logo-2000.svg +12 -43
- package/assets/pan-logo-lockup.svg +11 -0
- package/assets/pan-mark.svg +7 -0
- package/assets/pan-orchestration.png +0 -0
- package/assets/pan-readme-hero.png +0 -0
- package/assets/terminal.svg +39 -119
- package/commands/pan/army.md +169 -0
- package/commands/pan/dashboard.md +25 -0
- package/commands/pan/focus-auto.md +32 -4
- package/commands/pan/hud.md +91 -0
- package/package.json +1 -1
- package/pan-wizard-core/bin/lib/campaign.cjs +198 -0
- package/pan-wizard-core/bin/lib/constants.cjs +8 -0
- package/pan-wizard-core/bin/lib/core.cjs +11 -0
- package/pan-wizard-core/bin/lib/focus.cjs +13 -1
- package/pan-wizard-core/bin/lib/hud.cjs +887 -0
- package/pan-wizard-core/bin/lib/squads.cjs +152 -0
- package/pan-wizard-core/bin/lib/worktree.cjs +123 -0
- package/pan-wizard-core/bin/pan-tools.cjs +68 -0
- package/pan-wizard-core/learnings/universal/autonomous-loop.md +56 -0
package/README.md
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
<img src="
|
|
3
|
+
<img src="assets/pan-readme-hero.png" alt="PanWizard — context engineering that makes AI coding reliable" width="820" />
|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# PanWizard
|
|
6
6
|
|
|
7
7
|
**Project Automation Navigator — A lightweight workflow automation and context engineering system for Claude Code, OpenCode, Gemini CLI, Codex, and Copilot CLI.**
|
|
8
8
|
|
|
9
9
|
**Solves context rot — the quality degradation that happens as Claude fills its context window.**
|
|
10
10
|
|
|
11
|
-
[](https://www.npmjs.com/package/pan-wizard)
|
|
12
|
+
[](https://www.npmjs.com/package/pan-wizard)
|
|
13
|
+
[](LICENSE)
|
|
14
14
|
|
|
15
15
|
<br>
|
|
16
16
|
|
|
@@ -22,7 +22,7 @@ npx pan-wizard@latest
|
|
|
22
22
|
|
|
23
23
|
<br>
|
|
24
24
|
|
|
25
|
-

|
|
26
26
|
|
|
27
27
|
<br>
|
|
28
28
|
|
|
@@ -74,6 +74,46 @@ PAN is the context engineering layer that makes Claude Code reliable. It breaks
|
|
|
74
74
|
|
|
75
75
|
---
|
|
76
76
|
|
|
77
|
+
## Bot Army
|
|
78
|
+
|
|
79
|
+
> **Don't run one phase — run the whole project.** `/pan:army` turns PAN's agents into a coordinated army that delivers a goal end-to-end: an Opus **Mission Control** plans the mission and delegates to specialist **squads**, parallel builders each work an isolated git worktree, and **nothing reaches your main branch without green checks and your explicit approval.**
|
|
80
|
+
|
|
81
|
+
<div align="center">
|
|
82
|
+
<img src="assets/pan-orchestration.png" alt="PanWizard specialist agents orchestrated along a pipeline" width="340" />
|
|
83
|
+
</div>
|
|
84
|
+
|
|
85
|
+
| Tier | Squad | Does | Access |
|
|
86
|
+
|------|-------|------|--------|
|
|
87
|
+
| **0 · Mission Control** | `pan-conductor` (Opus) | Plans + delegates. Never writes code. | delegation-only |
|
|
88
|
+
| **1 · Architecture** | roadmapper · planner · researchers | Designs the contract before code | read-only |
|
|
89
|
+
| **1 · Build** | `pan-executor` | Turns the contract into committed code | read / write · one `army/<task>` worktree per agent |
|
|
90
|
+
| **1 · Quality** | reviewer · hardener · verifier · … | Adversarially tries to break it | read-only |
|
|
91
|
+
| **1 · Release** | `pan-release` | Ships behind a human gate | always-ask |
|
|
92
|
+
| **2 · Workers** | document_code · distiller | Narrow, high-volume jobs | scoped |
|
|
93
|
+
|
|
94
|
+
**The loop:** `Muster → Plan → Delegate → Execute → Review → Integrate → Learn` ↺ — repeating until the goal ships or a stop condition fires.
|
|
95
|
+
|
|
96
|
+
**Bounded by a hard safety harness:**
|
|
97
|
+
|
|
98
|
+
- **A human merges. Always.** The Release squad prepares a squash-merge and surfaces an `always-ask` approval — a bot never touches a protected branch. Recovery is `git revert` or the previous tag, never a force-push.
|
|
99
|
+
- **Isolated builders.** Each Build agent forks its own `army/<task>` branch + git worktree, so parallel agents never share a file.
|
|
100
|
+
- **Caps that don't relax.** Delegation-depth cap, per-cycle spawn + budget ceilings, and a `.planning/orchestration/abort` kill-switch — the same harness as hierarchical exec, at campaign scale.
|
|
101
|
+
|
|
102
|
+
**Run it over days.** `--schedule` arms a self-resuming campaign with a per-day budget that burns the backlog down across sessions — and *still* waits for you at every merge. **Autonomy runs up to the irreversible step; a human is at the step.**
|
|
103
|
+
|
|
104
|
+
**Watch it live.** `/pan:hud` renders a single self-contained HTML dashboard — Mission Control over the squads, in-flight worktrees, campaign budget, telemetry, and the safety harness — in one page.
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
/pan:army "ship the v1 reporting module" # plan → delegate → build → review → human-gated ship
|
|
108
|
+
/pan:army "harden auth across the app" --schedule daily --daily-budget 200
|
|
109
|
+
/pan:army --status # where the campaign stands
|
|
110
|
+
/pan:hud --open # watch the army work, live
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Resolve the live squad roster any time with `pan-tools squad list`.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
77
117
|
## Who This Is For
|
|
78
118
|
|
|
79
119
|
People who want to describe what they want and have it built correctly — without managing complex project management overhead.
|
|
@@ -537,6 +577,7 @@ PAN is not a replacement for your IDE or AI agent — it's the orchestration lay
|
|
|
537
577
|
| Command | What it does |
|
|
538
578
|
|---------|--------------|
|
|
539
579
|
| `/pan:progress` | Where am I? What's next? (supports `health` subformat) |
|
|
580
|
+
| `/pan:hud` (alias `/pan:dashboard`) | Render a self-contained HTML dashboard of project + bot-army state to `.planning/hud.html` (`--open`, `--out`, `--stdout`) |
|
|
540
581
|
| `/pan:help` | Show all commands and usage guide |
|
|
541
582
|
| `/pan:update` | Update PAN with changelog preview |
|
|
542
583
|
| `/pan:discord` | Join the PAN Discord community |
|
|
@@ -547,6 +588,12 @@ PAN is not a replacement for your IDE or AI agent — it's the orchestration lay
|
|
|
547
588
|
|---------|--------------|
|
|
548
589
|
| `/pan:map-codebase` | Analyze existing codebase before new-project |
|
|
549
590
|
|
|
591
|
+
### Bot Army
|
|
592
|
+
|
|
593
|
+
| Command | What it does |
|
|
594
|
+
|---------|--------------|
|
|
595
|
+
| `/pan:army "<goal>"` | Campaign-scale delivery: Mission Control (Opus) delegates a whole-project goal to architecture/build/quality/release squads with branch-per-agent worktrees, behind CI + a human merge gate; `--schedule`/`--continue` run it over time |
|
|
596
|
+
|
|
550
597
|
### Phase Management
|
|
551
598
|
|
|
552
599
|
| Command | What it does |
|
|
@@ -588,7 +635,7 @@ PAN is not a replacement for your IDE or AI agent — it's the orchestration lay
|
|
|
588
635
|
| Command | What it does |
|
|
589
636
|
|---------|--------------|
|
|
590
637
|
| `pan-tools preflight [target]` | Pre-flight validation: state, blockers, git clean, config, error patterns |
|
|
591
|
-
| `pan-tools dashboard` | Aggregated project overview: phase, progress, blockers, next action |
|
|
638
|
+
| `pan-tools dashboard` | Aggregated project overview as JSON: phase, progress, blockers, next action (for the visual HTML dashboard, see `/pan:hud`) |
|
|
592
639
|
| `pan-tools learnings extract` | Auto-extract learnings from sessions, error patterns, and summaries |
|
|
593
640
|
| `pan-tools learnings list` | List all extracted learnings with type breakdown |
|
|
594
641
|
| `pan-tools learnings prune` | Remove old learnings by age (`--days N`) or ID (`--id LEARN-NNN`) |
|
|
@@ -652,7 +699,7 @@ Control which Claude model each agent uses. Balance quality vs token spend.
|
|
|
652
699
|
| `balanced` (default) | Opus | Sonnet | Sonnet |
|
|
653
700
|
| `budget` | Sonnet | Sonnet | Haiku |
|
|
654
701
|
|
|
655
|
-
> Simplified view — actual model assignment varies by agent role. See [User Guide](docs/USER-GUIDE.md#model-profiles) for the full per-agent breakdown.
|
|
702
|
+
> Simplified view — actual model assignment varies by agent role. See [User Guide](docs/USER-GUIDE.md#model-profiles-per-agent-breakdown) for the full per-agent breakdown.
|
|
656
703
|
|
|
657
704
|
Switch profiles:
|
|
658
705
|
```
|
|
@@ -786,6 +833,10 @@ This removes all PAN commands, agents, hooks, and settings while preserving your
|
|
|
786
833
|
|
|
787
834
|
## Documentation
|
|
788
835
|
|
|
836
|
+
<div align="center">
|
|
837
|
+
<img src="assets/pan-docs-header.png" alt="" width="720" />
|
|
838
|
+
</div>
|
|
839
|
+
|
|
789
840
|
| Document | Audience | What it covers |
|
|
790
841
|
|----------|----------|---------------|
|
|
791
842
|
| [User Guide](docs/USER-GUIDE.md) | Users | Workflow diagrams, command reference, config schema, troubleshooting |
|
|
@@ -811,6 +862,23 @@ MIT License. See [LICENSE](LICENSE) for details.
|
|
|
811
862
|
|
|
812
863
|
---
|
|
813
864
|
|
|
865
|
+
## Brand
|
|
866
|
+
|
|
867
|
+
| Token | Hex | Use |
|
|
868
|
+
| --- | --- | --- |
|
|
869
|
+
| Ember | `#FF5A3C` | Primary / CTAs |
|
|
870
|
+
| Conduit | `#5B4BE6` | Links, agent connectors |
|
|
871
|
+
| Verify | `#1E8E5A` | Success / verified |
|
|
872
|
+
| Butter | `#FFCE4A` | Highlights |
|
|
873
|
+
| Ink | `#211E18` | Dark surfaces, terminals |
|
|
874
|
+
| Paper | `#F3ECDD` | Light surfaces |
|
|
875
|
+
|
|
876
|
+
Type: **Gabarito** (display) + **JetBrains Mono** (code & labels). Logo: a node-graph mark (coral parent → indigo links → butter + green children) beside the `PanWizard` wordmark.
|
|
877
|
+
|
|
878
|
+
> Banner, avatar, and illustration art are generated from the prompts in [`docs/branding/image-prompts.md`](docs/branding/image-prompts.md).
|
|
879
|
+
|
|
880
|
+
---
|
|
881
|
+
|
|
814
882
|
<div align="center">
|
|
815
883
|
|
|
816
884
|
**Claude Code is powerful. PAN makes it reliable.**
|
package/agents/pan-conductor.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pan-conductor
|
|
3
|
-
description: Hierarchical orchestrator for /pan:exec-phase --hierarchical. Decomposes a phase, spawns sub-agents in sequence (executors, reviewers, verifiers), tracks audit trail via bus.cjs, enforces safety caps. Claude + Opus 4.
|
|
3
|
+
description: Hierarchical orchestrator for /pan:exec-phase --hierarchical. Decomposes a phase, spawns sub-agents in sequence (executors, reviewers, verifiers), tracks audit trail via bus.cjs, enforces safety caps. Claude + Opus 4.8 only.
|
|
4
4
|
tools: Read, Write, Bash, Glob, Grep, Task
|
|
5
5
|
color: orange
|
|
6
6
|
effort: xhigh
|
|
@@ -186,3 +186,16 @@ This agent file ships to all runtimes (keeps the installer uniform), but only ge
|
|
|
186
186
|
- First-time runs in a new codebase where flat exec telemetry is more informative
|
|
187
187
|
|
|
188
188
|
</calibration>
|
|
189
|
+
|
|
190
|
+
<campaign_mode>
|
|
191
|
+
|
|
192
|
+
When invoked by `/pan:army` (ADR-0033), you are **Mission Control** for a whole-project campaign, not a single phase — same harness, wider scope. The differences:
|
|
193
|
+
|
|
194
|
+
- **You delegate to squads, not bare agents.** Resolve the roster at runtime with `pan-tools squad list` / `squad show <name>` — never hardcode it. Route each mission to the squad that owns its lifecycle role: Architecture (design, read-only), Build (code, read/write), Quality (adversarial, read-only), Release (`pan-release`, always-ask). Workers (document_code, distiller) are Haiku-tier narrow jobs.
|
|
195
|
+
- **Build parallelizes by worktree.** When the Build squad runs multiple tasks at once, each `pan-executor` gets its own `army/<task>` branch + isolated worktree (`pan-tools worktree create "<task>"`) so concurrent builders never share a tree or a file. The spawn cap and budget ceiling still bound the fan-out.
|
|
196
|
+
- **Integration is human-gated.** You never merge to a protected branch. The Release squad prepares the merge and surfaces an `always-ask` approval request; a human approves. Recovery is `git revert` / previous tag — never force-push, never rewrite history.
|
|
197
|
+
- **The loop carries learnings.** After each mission, squad summaries return to you; `/pan:retro --write-memory` persists recurring patterns to agent memory (the "Dreaming" step) so the next mission plans smarter.
|
|
198
|
+
|
|
199
|
+
Every Tier-0 cap from the safety harness still applies, unchanged: nesting depth 2, the spawn/budget ceiling per cycle, and the `.planning/orchestration/abort` kill-switch checked before every spawn. The campaign is a longer loop around the same bounded core — it does not relax a single cap.
|
|
200
|
+
|
|
201
|
+
</campaign_mode>
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pan-release
|
|
3
|
+
description: Release squad agent for the bot-army campaign. Ships approved, green work safely behind a human gate — squash-merge intent, tag, deploy hand-off, and fast rollback. Never merges to a protected branch itself; surfaces an always-ask approval request instead.
|
|
4
|
+
tools: Read, Grep, Glob, Bash
|
|
5
|
+
color: amber
|
|
6
|
+
effort: high
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
<role>
|
|
10
|
+
You are the PAN release agent — the Release squad (bot-army model, ADR-0033). You own the path to production: you ship safely and you undo fast. You run only after Quality has returned green and a human is in the loop.
|
|
11
|
+
|
|
12
|
+
You are NOT a coder. You do not modify source files. You operate git and release tooling, and you stop at every destructive boundary to ask.
|
|
13
|
+
</role>
|
|
14
|
+
|
|
15
|
+
<critical_safety>
|
|
16
|
+
These are hard rules, not advice:
|
|
17
|
+
|
|
18
|
+
- **Never push to or merge into a protected branch yourself.** Merging to `main` is an `always-ask` gate — you prepare the merge and surface an approval request; a human performs or confirms it.
|
|
19
|
+
- **Never force-push, never rewrite history.** Recovery is always `git revert` or redeploying the previous tag — never `reset --hard` on a shared branch, never `push --force`.
|
|
20
|
+
- **Tags are signing-safe.** Create tags with `-c tag.gpgsign=false` unless the project explicitly signs releases (PAN tags are automation markers).
|
|
21
|
+
- **Respect the project's verification gate.** Do not tag or hand off a deploy unless the build/verification commands from `.planning/config.json` (`build`, `verification`) passed. If they are unset, ask rather than guess.
|
|
22
|
+
</critical_safety>
|
|
23
|
+
|
|
24
|
+
<responsibilities>
|
|
25
|
+
- Confirm the work is green: Quality verdict passed, required checks satisfied, working tree clean.
|
|
26
|
+
- Prepare the integration: summarize the squash-merge (branches, commit set), run the project's `verification` command if configured, and surface an approval request on the `orchestrator` bus channel.
|
|
27
|
+
- After human approval: tag the release (`-c tag.gpgsign=false`), record the deploy hand-off, and report the tag + previous tag (the rollback target).
|
|
28
|
+
- On a failure signal: execute rollback = `git revert` of the merge, or instruct redeploy of the previous tag. Log the event; never silently patch.
|
|
29
|
+
</responsibilities>
|
|
30
|
+
|
|
31
|
+
<inputs>
|
|
32
|
+
- Approved, Quality-green artifacts and the branch/commit set to integrate.
|
|
33
|
+
- `.planning/config.json` → `build` / `verification` commands; `git` branching config.
|
|
34
|
+
- Health/failure signals from telemetry (cost/trace hooks).
|
|
35
|
+
</inputs>
|
|
36
|
+
|
|
37
|
+
<outputs>
|
|
38
|
+
- An always-ask approval request for the merge (on the `orchestrator` bus channel).
|
|
39
|
+
- After approval: the release tag, the previous tag (rollback target), and a deploy hand-off note.
|
|
40
|
+
- Rollback events when a threshold trips.
|
|
41
|
+
</outputs>
|
|
42
|
+
|
|
43
|
+
<key_behaviors>
|
|
44
|
+
- Progressive and reversible: prefer the smallest safe step; every action has a named undo.
|
|
45
|
+
- Pause for human confirmation on any destructive or production-facing op.
|
|
46
|
+
- Return a tight verdict (tag, rollback target, status) — not a wall of git output.
|
|
47
|
+
- Roll back, never rewrite. History stays intact and auditable.
|
|
48
|
+
</key_behaviors>
|
|
49
|
+
|
|
50
|
+
<output_format>
|
|
51
|
+
Return a compact report:
|
|
52
|
+
- `status`: prepared | tagged | rolled_back | blocked
|
|
53
|
+
- `merge`: branch(es) → target, commit count
|
|
54
|
+
- `tag`: the release tag (or null)
|
|
55
|
+
- `rollback_target`: previous tag / revert sha
|
|
56
|
+
- `approval`: the human gate state (pending | granted)
|
|
57
|
+
- `notes`: anything the coordinator must act on
|
|
58
|
+
</output_format>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,30 +1,11 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 2000" width="2000" height="2000">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
</linearGradient>
|
|
13
|
-
<filter id="softShadow">
|
|
14
|
-
<feDropShadow dx="0" dy="8" stdDeviation="16" flood-color="#EE1515" flood-opacity="0.3"/>
|
|
15
|
-
</filter>
|
|
16
|
-
</defs>
|
|
17
|
-
|
|
18
|
-
<!-- Pokeball stripe accent -->
|
|
19
|
-
<rect x="0" y="960" width="2000" height="80" fill="url(#accentGrad)" opacity="0.15"/>
|
|
20
|
-
|
|
21
|
-
<!-- Main wordmark -->
|
|
22
|
-
<g transform="translate(1000, 920)" filter="url(#softShadow)">
|
|
23
|
-
<text fill="url(#panGrad)" font-family="'Helvetica Neue', 'Arial Black', Helvetica, Arial, sans-serif" font-size="420" font-weight="900" text-anchor="middle" letter-spacing="-10">PAN</text>
|
|
24
|
-
</g>
|
|
25
|
-
|
|
26
|
-
<!-- Subtitle -->
|
|
27
|
-
<g transform="translate(1000, 1100)">
|
|
28
|
-
<text fill="#666" font-family="'Helvetica Neue', Helvetica, Arial, sans-serif" font-size="72" font-weight="300" text-anchor="middle" letter-spacing="24">W I Z A R D</text>
|
|
29
|
-
</g>
|
|
30
|
-
</svg>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 2000" width="2000" height="2000">
|
|
2
|
+
<!-- PanWizard mark, transparent (for light surfaces) — node-graph + wordmark -->
|
|
3
|
+
<g transform="translate(740,360) scale(5.2)" stroke-linecap="round">
|
|
4
|
+
<line x1="50" y1="26" x2="26" y2="74" stroke="#5B4BE6" stroke-width="7"/>
|
|
5
|
+
<line x1="50" y1="26" x2="74" y2="74" stroke="#5B4BE6" stroke-width="7"/>
|
|
6
|
+
<circle cx="50" cy="26" r="13" fill="#FF5A3C"/>
|
|
7
|
+
<circle cx="26" cy="74" r="11" fill="#FFCE4A"/>
|
|
8
|
+
<circle cx="74" cy="74" r="11" fill="#1E8E5A"/>
|
|
9
|
+
</g>
|
|
10
|
+
<text x="1000" y="1240" text-anchor="middle" font-family="'Gabarito','Segoe UI',system-ui,sans-serif" font-size="300" font-weight="800" letter-spacing="-8"><tspan fill="#FF5A3C">Pan</tspan><tspan fill="#211E18">Wizard</tspan></text>
|
|
11
|
+
</svg>
|
package/assets/pan-logo-2000.svg
CHANGED
|
@@ -1,43 +1,12 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 2000" width="2000" height="2000">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
<
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
<stop offset="0%" stop-color="#FFCC00"/>
|
|
14
|
-
<stop offset="100%" stop-color="#FFE066"/>
|
|
15
|
-
</linearGradient>
|
|
16
|
-
<filter id="glow">
|
|
17
|
-
<feDropShadow dx="0" dy="0" stdDeviation="20" flood-color="#EE1515" flood-opacity="0.4"/>
|
|
18
|
-
</filter>
|
|
19
|
-
<filter id="subtleGlow">
|
|
20
|
-
<feDropShadow dx="0" dy="0" stdDeviation="8" flood-color="#FFCC00" flood-opacity="0.3"/>
|
|
21
|
-
</filter>
|
|
22
|
-
</defs>
|
|
23
|
-
|
|
24
|
-
<!-- Background -->
|
|
25
|
-
<rect width="2000" height="2000" fill="url(#bgGrad)"/>
|
|
26
|
-
|
|
27
|
-
<!-- Pokeball divider line -->
|
|
28
|
-
<rect x="0" y="960" width="2000" height="4" fill="url(#accentGrad)" opacity="0.4"/>
|
|
29
|
-
|
|
30
|
-
<!-- Small pokeball circle accent (center of divider) -->
|
|
31
|
-
<circle cx="1000" cy="962" r="36" fill="none" stroke="url(#accentGrad)" stroke-width="4" opacity="0.3"/>
|
|
32
|
-
<circle cx="1000" cy="962" r="14" fill="url(#accentGrad)" opacity="0.25"/>
|
|
33
|
-
|
|
34
|
-
<!-- Main wordmark -->
|
|
35
|
-
<g transform="translate(1000, 920)" filter="url(#glow)">
|
|
36
|
-
<text fill="url(#panGrad)" font-family="'Helvetica Neue', 'Arial Black', Helvetica, Arial, sans-serif" font-size="420" font-weight="900" text-anchor="middle" letter-spacing="-10">PAN</text>
|
|
37
|
-
</g>
|
|
38
|
-
|
|
39
|
-
<!-- Subtitle -->
|
|
40
|
-
<g transform="translate(1000, 1100)" filter="url(#subtleGlow)">
|
|
41
|
-
<text fill="url(#accentGrad)" font-family="'Helvetica Neue', Helvetica, Arial, sans-serif" font-size="72" font-weight="300" text-anchor="middle" letter-spacing="24">W I Z A R D</text>
|
|
42
|
-
</g>
|
|
43
|
-
</svg>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 2000" width="2000" height="2000">
|
|
2
|
+
<!-- PanWizard mark on ink — node-graph: coral parent → indigo links → butter + green children -->
|
|
3
|
+
<rect width="2000" height="2000" rx="220" fill="#211E18"/>
|
|
4
|
+
<g transform="translate(740,360) scale(5.2)" stroke-linecap="round">
|
|
5
|
+
<line x1="50" y1="26" x2="26" y2="74" stroke="#5B4BE6" stroke-width="7"/>
|
|
6
|
+
<line x1="50" y1="26" x2="74" y2="74" stroke="#5B4BE6" stroke-width="7"/>
|
|
7
|
+
<circle cx="50" cy="26" r="13" fill="#FF5A3C"/>
|
|
8
|
+
<circle cx="26" cy="74" r="11" fill="#FFCE4A"/>
|
|
9
|
+
<circle cx="74" cy="74" r="11" fill="#1E8E5A"/>
|
|
10
|
+
</g>
|
|
11
|
+
<text x="1000" y="1240" text-anchor="middle" font-family="'Gabarito','Segoe UI',system-ui,sans-serif" font-size="300" font-weight="800" letter-spacing="-8"><tspan fill="#FF5A3C">Pan</tspan><tspan fill="#FBF7EE">Wizard</tspan></text>
|
|
12
|
+
</svg>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 200" width="400" height="200">
|
|
2
|
+
<rect width="400" height="200" rx="28" fill="#211E18"></rect>
|
|
3
|
+
<g transform="translate(60,54)">
|
|
4
|
+
<line x1="46" y1="24" x2="24" y2="68" stroke="#5B4BE6" stroke-width="6.5" stroke-linecap="round"></line>
|
|
5
|
+
<line x1="46" y1="24" x2="68" y2="68" stroke="#5B4BE6" stroke-width="6.5" stroke-linecap="round"></line>
|
|
6
|
+
<circle cx="46" cy="24" r="12" fill="#FF5A3C"></circle>
|
|
7
|
+
<circle cx="24" cy="68" r="10" fill="#FFCE4A"></circle>
|
|
8
|
+
<circle cx="68" cy="68" r="10" fill="#1E8E5A"></circle>
|
|
9
|
+
</g>
|
|
10
|
+
<text x="170" y="112" font-family="'Gabarito','Segoe UI',sans-serif" font-size="46" font-weight="800" letter-spacing="-1"><tspan fill="#FF5A3C">Pan</tspan><tspan fill="#FBF7EE">Wizard</tspan></text>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="200" height="200">
|
|
2
|
+
<line x1="50" y1="26" x2="26" y2="74" stroke="#5B4BE6" stroke-width="7" stroke-linecap="round"></line>
|
|
3
|
+
<line x1="50" y1="26" x2="74" y2="74" stroke="#5B4BE6" stroke-width="7" stroke-linecap="round"></line>
|
|
4
|
+
<circle cx="50" cy="26" r="13" fill="#FF5A3C"></circle>
|
|
5
|
+
<circle cx="26" cy="74" r="11" fill="#FFCE4A"></circle>
|
|
6
|
+
<circle cx="74" cy="74" r="11" fill="#1E8E5A"></circle>
|
|
7
|
+
</svg>
|
|
Binary file
|
|
Binary file
|
package/assets/terminal.svg
CHANGED
|
@@ -1,119 +1,39 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
<
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
</
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
<
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
</
|
|
26
|
-
</
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
<!-- Title bar text -->
|
|
42
|
-
<text x="480" y="25" text-anchor="middle" class="mono" font-size="12" fill="#555570">pan-wizard</text>
|
|
43
|
-
|
|
44
|
-
<!-- Content -->
|
|
45
|
-
<g transform="translate(36, 62)">
|
|
46
|
-
|
|
47
|
-
<!-- Prompt + command -->
|
|
48
|
-
<text class="mono" font-size="14" y="0">
|
|
49
|
-
<tspan fill="#9ece6a">~/my-project</tspan>
|
|
50
|
-
<tspan fill="#555570"> $ </tspan>
|
|
51
|
-
<tspan fill="#c0caf5">npx pan-wizard</tspan>
|
|
52
|
-
</text>
|
|
53
|
-
|
|
54
|
-
<!-- Clean PAN wordmark -->
|
|
55
|
-
<g transform="translate(36, 40)" filter="url(#glow)">
|
|
56
|
-
<text fill="url(#panGrad)" class="sans" font-size="72" font-weight="900" letter-spacing="-2">PAN</text>
|
|
57
|
-
<text fill="url(#gold)" class="sans" font-size="20" font-weight="300" x="188" y="0" letter-spacing="6">WIZARD</text>
|
|
58
|
-
</g>
|
|
59
|
-
|
|
60
|
-
<!-- Pokeball divider -->
|
|
61
|
-
<line x1="0" y1="124" x2="888" y2="124" stroke="#FFCC00" stroke-opacity="0.2" stroke-width="1"/>
|
|
62
|
-
<circle cx="444" cy="124" r="6" fill="none" stroke="#FFCC00" stroke-opacity="0.2" stroke-width="1"/>
|
|
63
|
-
<circle cx="444" cy="124" r="2" fill="#FFCC00" opacity="0.25"/>
|
|
64
|
-
|
|
65
|
-
<!-- Version + description -->
|
|
66
|
-
<text class="mono" font-size="13" y="152">
|
|
67
|
-
<tspan fill="#555570">v0.1.0</tspan>
|
|
68
|
-
<tspan fill="#3a3a52"> · </tspan>
|
|
69
|
-
<tspan fill="#8888aa">Workflow automation for Claude Code</tspan>
|
|
70
|
-
</text>
|
|
71
|
-
|
|
72
|
-
<!-- Install steps -->
|
|
73
|
-
<text class="mono" font-size="13" y="192">
|
|
74
|
-
<tspan fill="#9ece6a"> ✔</tspan>
|
|
75
|
-
<tspan fill="#c0caf5"> Detected project</tspan>
|
|
76
|
-
<tspan fill="#555570"> package.json</tspan>
|
|
77
|
-
</text>
|
|
78
|
-
<text class="mono" font-size="13" y="216">
|
|
79
|
-
<tspan fill="#9ece6a"> ✔</tspan>
|
|
80
|
-
<tspan fill="#c0caf5"> Installed</tspan>
|
|
81
|
-
<tspan fill="#EE1515"> 32</tspan>
|
|
82
|
-
<tspan fill="#c0caf5"> slash commands</tspan>
|
|
83
|
-
</text>
|
|
84
|
-
<text class="mono" font-size="13" y="240">
|
|
85
|
-
<tspan fill="#9ece6a"> ✔</tspan>
|
|
86
|
-
<tspan fill="#c0caf5"> Configured agents, workflows, hooks</tspan>
|
|
87
|
-
</text>
|
|
88
|
-
|
|
89
|
-
<!-- Divider -->
|
|
90
|
-
<line x1="0" y1="264" x2="888" y2="264" stroke="#3a3a52" stroke-width="1"/>
|
|
91
|
-
|
|
92
|
-
<!-- Quick start hints -->
|
|
93
|
-
<text class="mono" font-size="13" y="292">
|
|
94
|
-
<tspan fill="#FFCC00"> ▸</tspan>
|
|
95
|
-
<tspan fill="#c0caf5"> New project</tspan>
|
|
96
|
-
<tspan fill="#555570"> ········ </tspan>
|
|
97
|
-
<tspan fill="#EE1515">/pan:new-project</tspan>
|
|
98
|
-
</text>
|
|
99
|
-
<text class="mono" font-size="13" y="316">
|
|
100
|
-
<tspan fill="#FFCC00"> ▸</tspan>
|
|
101
|
-
<tspan fill="#c0caf5"> Check progress</tspan>
|
|
102
|
-
<tspan fill="#555570"> ····· </tspan>
|
|
103
|
-
<tspan fill="#EE1515">/pan:progress</tspan>
|
|
104
|
-
</text>
|
|
105
|
-
<text class="mono" font-size="13" y="340">
|
|
106
|
-
<tspan fill="#FFCC00"> ▸</tspan>
|
|
107
|
-
<tspan fill="#c0caf5"> All commands</tspan>
|
|
108
|
-
<tspan fill="#555570"> ······· </tspan>
|
|
109
|
-
<tspan fill="#EE1515">/pan:help</tspan>
|
|
110
|
-
</text>
|
|
111
|
-
|
|
112
|
-
<!-- Final prompt -->
|
|
113
|
-
<text class="mono" font-size="14" y="390">
|
|
114
|
-
<tspan fill="#9ece6a">~/my-project</tspan>
|
|
115
|
-
<tspan fill="#555570"> $ </tspan>
|
|
116
|
-
<tspan fill="#c0caf5">▌</tspan>
|
|
117
|
-
</text>
|
|
118
|
-
</g>
|
|
119
|
-
</svg>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 980 470" font-family="'JetBrains Mono','SFMono-Regular',Consolas,monospace">
|
|
2
|
+
<rect width="980" height="470" rx="16" fill="#211E18"/>
|
|
3
|
+
<rect width="980" height="46" rx="16" fill="#2A251D"/>
|
|
4
|
+
<rect y="32" width="980" height="14" fill="#2A251D"/>
|
|
5
|
+
<circle cx="28" cy="23" r="6.5" fill="#FF5A3C"/>
|
|
6
|
+
<circle cx="50" cy="23" r="6.5" fill="#FFCE4A"/>
|
|
7
|
+
<circle cx="72" cy="23" r="6.5" fill="#1E8E5A"/>
|
|
8
|
+
<g transform="translate(434,12) scale(0.22)">
|
|
9
|
+
<line x1="50" y1="26" x2="26" y2="74" stroke="#5B4BE6" stroke-width="9" stroke-linecap="round"/>
|
|
10
|
+
<line x1="50" y1="26" x2="74" y2="74" stroke="#5B4BE6" stroke-width="9" stroke-linecap="round"/>
|
|
11
|
+
<circle cx="50" cy="26" r="13" fill="#FF5A3C"/>
|
|
12
|
+
<circle cx="26" cy="74" r="11" fill="#FFCE4A"/>
|
|
13
|
+
<circle cx="74" cy="74" r="11" fill="#1E8E5A"/>
|
|
14
|
+
</g>
|
|
15
|
+
<text x="460" y="28" font-family="'Gabarito','Segoe UI',sans-serif" font-size="13" font-weight="700"><tspan fill="#FF9077">Pan</tspan><tspan fill="#A7A091">Wizard · pan army</tspan></text>
|
|
16
|
+
|
|
17
|
+
<g transform="translate(40,84)" font-size="14">
|
|
18
|
+
<text y="0"><tspan fill="#76D2A2">~/billing-app</tspan><tspan fill="#6E685B"> $ </tspan><tspan fill="#FF9077">/pan:army </tspan><tspan fill="#FBF7EE">"ship the billing module"</tspan></text>
|
|
19
|
+
|
|
20
|
+
<text y="40"><tspan fill="#FF5A3C" font-weight="700">◆ Mission Control</tspan><tspan fill="#8C8475"> Opus · plans the goal, delegates to squads, never writes code</tspan></text>
|
|
21
|
+
|
|
22
|
+
<text y="78"><tspan fill="#76D2A2"> ✓ </tspan><tspan fill="#8A7DF0" font-weight="700">Architecture</tspan><tspan fill="#C9C3B6"> contract designed</tspan><tspan fill="#6E685B"> · read-only</tspan></text>
|
|
23
|
+
|
|
24
|
+
<text y="110"><tspan fill="#FF9077"> ◐ </tspan><tspan fill="#FF9077" font-weight="700">Build</tspan><tspan fill="#C9C3B6"> parallel agents — one isolated worktree each</tspan></text>
|
|
25
|
+
<text y="138"><tspan fill="#6E685B"> ↳ </tspan><tspan fill="#C9C3B6">army/webhooks </tspan><tspan fill="#FF5A3C">████████</tspan><tspan fill="#3A352C">░░</tspan><tspan fill="#8C8475"> building</tspan></text>
|
|
26
|
+
<text y="162"><tspan fill="#6E685B"> ↳ </tspan><tspan fill="#C9C3B6">army/invoice-pdf </tspan><tspan fill="#FF5A3C">██████</tspan><tspan fill="#3A352C">░░░░</tspan><tspan fill="#8C8475"> building</tspan></text>
|
|
27
|
+
<text y="186"><tspan fill="#6E685B"> ↳ </tspan><tspan fill="#C9C3B6">army/usage-meter </tspan><tspan fill="#3FB07A">██████████</tspan><tspan fill="#76D2A2"> ✓ ready</tspan></text>
|
|
28
|
+
|
|
29
|
+
<text y="224"><tspan fill="#76D2A2"> ◐ </tspan><tspan fill="#76D2A2" font-weight="700">Quality</tspan><tspan fill="#C9C3B6"> adversarial review</tspan><tspan fill="#6E685B"> · queued</tspan></text>
|
|
30
|
+
|
|
31
|
+
<text y="256"><tspan fill="#FFD86B"> ⏸ </tspan><tspan fill="#FFD86B" font-weight="700">Release</tspan><tspan fill="#C9C3B6"> squash-merge prepared, CI green</tspan><tspan fill="#FFD86B"> · awaiting human ✋</tspan></text>
|
|
32
|
+
|
|
33
|
+
<line x1="0" y1="284" x2="900" y2="284" stroke="#3A352C" stroke-width="1"/>
|
|
34
|
+
|
|
35
|
+
<text y="314" font-size="13"><tspan fill="#A7A091">autonomy runs up to the irreversible step — </tspan><tspan fill="#FBF7EE">a human approves every merge.</tspan></text>
|
|
36
|
+
|
|
37
|
+
<text y="356"><tspan fill="#76D2A2">~/billing-app</tspan><tspan fill="#6E685B"> $ </tspan><tspan fill="#FBF7EE">▌</tspan></text>
|
|
38
|
+
</g>
|
|
39
|
+
</svg>
|