Skip to content

Commit 3952531

Browse files
maystudiosclaude
andcommitted
feat(cli): use figlet ANSI Shadow for banner instead of hardcoded Unicode escapes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 84e8b89 commit 3952531

21 files changed

Lines changed: 881 additions & 76 deletions

‎.planning/ROADMAP.md‎

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ Decimal phases appear between their surrounding integers in numeric order.
2020
- [x] **Phase 6: Test Migration** - Port all 8 test files from node:test to Vitest 4 with correct timeout and coverage config (completed 2026-02-23)
2121
- [ ] **Phase 7: Wire Hooks into CLI Package** - Add @maxsim/hooks to CLI dependencies/bundledDependencies, fix hooksSrc resolution, validate tarball includes hooks
2222
- [x] **Phase 8: Fix commands/maxsim/ Path Resolution** - Restructure packages/templates/commands/ to include maxsim/ subdirectory, fixing install.ts ENOENT crash for all runtimes (completed 2026-02-24)
23+
- [x] **Phase 9: End-to-end install and publish test loop** - Self-contained e2e test script with auto-bump-publish-retry loop (completed 2026-02-24)
24+
- [x] **Phase 10: CLI UX — chalk, ora spinners, @inquirer/prompts** - Replace raw ANSI codes with chalk, add ora spinners, replace readline prompts with @inquirer/prompts (completed 2026-02-24)
25+
- [ ] **Phase 11: Remove Discord command and deploy website via GitHub Pages** - Remove `/maxsim:join-discord` from shipped command set, set up GitHub Actions deploy workflow for GitHub Pages
26+
- [x] **Phase 12: UX Polish + Core Hardening** - ASCII progress bars in `/maxsim:progress`, new `/maxsim:roadmap` read command, sanity check guard at workflow start, centralized `getPhasePattern()` helper, atomic ROADMAP.md writes, and zero silent `catch {}` blocks in `packages/core/src/` (completed 2026-02-24)
2327

2428
## Phase Details
2529

@@ -175,7 +179,7 @@ Plans:
175179
## Progress
176180

177181
**Execution Order:**
178-
Phases execute in dependency order: 1 → 2 → 3 → 4 → 5, with Phase 6 executable after Phase 2 completes. Phases 3 and 4 are independent of each other and can run in any order after Phase 2.
182+
Phases execute in dependency order: 1 → 2 → 3 → 4 → 5, with Phase 6 executable after Phase 2 completes. Phases 3 and 4 are independent of each other and can run in any order after Phase 2. Phases 7–12 execute sequentially in dependency order.
179183

180184
| Phase | Plans Complete | Status | Completed |
181185
|-------|----------------|--------|-----------|
@@ -189,7 +193,8 @@ Phases execute in dependency order: 1 → 2 → 3 → 4 → 5, with Phase 6 exec
189193
| 8. Fix commands/maxsim/ Path Resolution | 1/1 | Complete | 2026-02-24 |
190194
| 9. End-to-end install and publish test loop | 2/2 | Complete | 2026-02-24 |
191195
| 10. CLI UX — chalk, ora, @inquirer/prompts | 2/2 | Complete | 2026-02-24 |
192-
| 11. Remove Discord command and deploy website via GitHub Pages | 0/2 | Not started | - |
196+
| 11. Remove Discord command and deploy website via GitHub Pages | 2/2 | Complete | 2026-02-24 |
197+
| 12. UX Polish + Core Hardening | 1/3 | In Progress | - |
193198

194199
### Phase 10: CLI UX — chalk, ora spinners, @inquirer/prompts
195200

@@ -227,3 +232,23 @@ Plans:
227232
Plans:
228233
- [ ] 11-01-PLAN.md — Remove join-discord.md from templates; update "31" count references in CLAUDE.md, website Docs.tsx, and docs/USER-GUIDE.md; remove from help.md workflow
229234
- [ ] 11-02-PLAN.md — Add packages/website/project.json NX build target; create CNAME file; create .github/workflows/deploy-website.yml
235+
236+
### Phase 12: UX Polish + Core Hardening
237+
238+
**Goal:** Improve developer-facing UX of the `/maxsim:progress` command (ASCII phase progress bars), add a dedicated `/maxsim:roadmap` read command, add a sanity check guard at workflow start, centralize all phase regex patterns into a single `getPhasePattern()` helper in `packages/core/src/core.ts`, make all ROADMAP.md write operations atomic (build in memory, single write), and eliminate all silent `catch {}` blocks across `packages/core/src/`.
239+
**Depends on:** Phase 11
240+
**Requirements:** None new — internal quality and UX improvements
241+
**Success Criteria** (what must be TRUE):
242+
1. `/maxsim:progress` output shows ASCII progress bars per phase (e.g. `[██████░░░░] 60%`)
243+
2. `/maxsim:roadmap` command exists and renders ROADMAP.md with status icons in a readable format
244+
3. A sanity check runs at the start of execute/plan workflows and warns if `.planning/` is missing or corrupt
245+
4. A single `getPhasePattern(phaseNum?: string)` function in `packages/core/src/core.ts` replaces all inline phase regex literals across the codebase
246+
5. ROADMAP.md updates in `phase.ts` and `roadmap.ts` use a read-modify-write helper that writes once per operation
247+
6. Zero silent `catch {}` blocks remain in `packages/core/src/` — each has either a comment or a `logger.debug()` call
248+
7. `nx build core` passes with 0 TypeScript errors
249+
**Plans:** 3 plans
250+
251+
Plans:
252+
- [ ] 12-01-PLAN.md — Add `getPhasePattern()` to core.ts; replace all inline phase regex in phase.ts, roadmap.ts, verify.ts; atomic write helper; fix silent catch blocks; build green
253+
- [ ] 12-02-PLAN.md — Update `/maxsim:progress` workflow to render ASCII progress bars; add `/maxsim:roadmap` command file; add sanity check guard to execute/plan workflows
254+
- [ ] 12-03-PLAN.md — Integration validation — nx build clean, run tests, verify progress/roadmap commands render correctly

‎.planning/STATE.md‎

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
See: .planning/PROJECT.md (updated 2026-02-23)
66

77
**Core value:** Users run `npx maxsim@latest` and everything works — the monorepo restructure is invisible to end users
8-
**Current focus:** Phase 11 — Remove Discord command + GitHub Pages deployment
8+
**Current focus:** Phase 12 complete — milestone 1 complete
99

1010
## Current Position
1111

12-
Phase: 11 of 11 (Remove Discord command and deploy website via GitHub Pages)
13-
Plan: 2 of 2 in current phase
14-
Status: Phase 11 plan 02 complete
15-
Last activity: 2026-02-24 — GitHub Pages deployment setup for packages/website
12+
Phase: 12 of 12 (UX Polish + Core Hardening) — COMPLETE
13+
Plan: 3 of 3 in current phase
14+
Status: ALL PHASES COMPLETE — milestone ready for archive
15+
Last activity: 2026-02-24 — phase 12 integration validation passed, ROADMAP.md updated
1616

1717
Progress: [██████████] 100%
1818

@@ -67,6 +67,8 @@ Progress: [██████████] 100%
6767
| Phase 10 P01 | 10min | 3 tasks | 3 files |
6868
| Phase 10 P02 | 20min | 7 tasks | 1 files |
6969
| Phase 11 P02 | 1min | 2 tasks | 3 files |
70+
| Phase 12 P02 | 3min | 4 tasks | 12 files |
71+
| Phase 12 P03 | 4min | 3 tasks | 2 files |
7072

7173
## Accumulated Context
7274

@@ -128,13 +130,18 @@ Recent decisions affecting current work:
128130
- [10-02]: ora .start()/.succeed()/.fail() are synchronous — install() function stays synchronous
129131
- [11-02]: CNAME placed in public/ — Vite copies public/ contents to dist/ root automatically during build
130132
- [11-02]: Two-job workflow (build + deploy) required by actions/deploy-pages pattern; deploy job needs needs: build dependency
133+
- [12-02]: chalk added to packages/core dependencies (not devDependencies) — used at runtime in cmdProgressRender output
134+
- [12-02]: phase-bars branch inserted between bar and JSON else branches for clean fallthrough ordering
135+
- [12-02]: sanity_check inserted before <purpose> tag as first content in each workflow file
136+
- [12-03]: init.ts and milestone.ts comment-only catches missed by 12-01 scope; fixed during integration validation
131137

132138
### Roadmap Evolution
133139

134140
- Phase 9 added: End-to-end install and publish test loop
135141
- Phase 10 added: Wir wollen auf eine richtige CLI Ui beim install und etc. wechseln mithilfe von chalk, ora (Spinner) und @inquirer/prompts
136142
- Phase 11 added: Remove join-discord command; deploy packages/website to GitHub Pages via GitHub Actions
137143
- Phase 11 added: Remove Discord command and deploy website via GitHub Actions to GitHub Pages
144+
- Phase 12 added: UX Polish + Core Hardening
138145

139146
### Pending Todos
140147

@@ -149,5 +156,5 @@ None yet.
149156
## Session Continuity
150157

151158
Last session: 2026-02-24
152-
Stopped at: Completed 11-02-PLAN.md (GitHub Pages deployment: project.json + CNAME + deploy-website.yml)
153-
Resume file: .planning/phases/11-remove-discord-command-github-pages-deploy/11-02-SUMMARY.md
159+
Stopped at: Completed 12-03-PLAN.md (integration validation — builds green, phase-bars verified, roadmap files confirmed, catch blocks cleaned up)
160+
Resume file: .planning/phases/12-ux-polish-core-hardening/12-03-SUMMARY.md

‎packages/cli/dist/.tsbuildinfo‎

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

‎packages/cli/dist/assets/CHANGELOG.md‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
1+
## 1.0.11 (2026-02-24)
2+
3+
### 🚀 Features
4+
5+
- **core:** add chalk dependency and phase-bars format to cmdProgressRender ([121f17c](https://github.com/maystudios/maxsim/commit/121f17c))
6+
- **templates:** add /maxsim:roadmap command and workflow ([372c8a3](https://github.com/maystudios/maxsim/commit/372c8a3))
7+
- **templates:** update progress workflow to use phase-bars format ([c9672ee](https://github.com/maystudios/maxsim/commit/c9672ee))
8+
- **templates:** add sanity_check guard to five major workflow files ([fca2b19](https://github.com/maystudios/maxsim/commit/fca2b19))
9+
10+
### ❤️ Thank You
11+
12+
- Sven
13+
14+
## 1.0.10 (2026-02-24)
15+
16+
This was a version bump only, there were no code changes.
17+
118
## 1.0.1 (2026-02-24)
219

320
This was a version bump only, there were no code changes.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
name: maxsim:roadmap
3+
description: Display the project roadmap with phase status icons, plan counts, and milestone summary
4+
allowed-tools:
5+
- Read
6+
- Bash
7+
- Glob
8+
---
9+
<objective>
10+
Render the project roadmap in a human-readable format with phase status icons (✓ DONE, ► IN PROGRESS, □ PLANNED), plan progress counts per phase, and a milestone summary header.
11+
</objective>
12+
13+
<execution_context>
14+
@./workflows/roadmap.md
15+
</execution_context>
16+
17+
<process>
18+
Execute the roadmap workflow from @./workflows/roadmap.md end-to-end.
19+
</process>

‎packages/cli/dist/assets/templates/workflows/discuss-phase.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
<sanity_check>
2+
Before executing any step in this workflow, verify:
3+
1. The current directory contains a `.planning/` folder — if not, stop and tell the user to run `/maxsim:new-project` first.
4+
2. `.planning/ROADMAP.md` exists — if not, stop and tell the user to initialize the project.
5+
</sanity_check>
6+
17
<purpose>
28
Extract implementation decisions that downstream agents need. Analyze the phase to identify gray areas, let the user choose what to discuss, then deep-dive each selected area until satisfied.
39

‎packages/cli/dist/assets/templates/workflows/execute-phase.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
<sanity_check>
2+
Before executing any step in this workflow, verify:
3+
1. The current directory contains a `.planning/` folder — if not, stop and tell the user to run `/maxsim:new-project` first.
4+
2. `.planning/ROADMAP.md` exists — if not, stop and tell the user to initialize the project.
5+
</sanity_check>
6+
17
<purpose>
28
Execute all plans in a phase using wave-based parallel execution. Orchestrator stays lean — delegates plan execution to subagents.
39
</purpose>

‎packages/cli/dist/assets/templates/workflows/plan-phase.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
<sanity_check>
2+
Before executing any step in this workflow, verify:
3+
1. The current directory contains a `.planning/` folder — if not, stop and tell the user to run `/maxsim:new-project` first.
4+
2. `.planning/ROADMAP.md` exists — if not, stop and tell the user to initialize the project.
5+
</sanity_check>
6+
17
<purpose>
28
Create executable phase prompts (PLAN.md files) for a roadmap phase with integrated research and verification. Default flow: Research (if needed) -> Plan -> Verify -> Done. Orchestrates maxsim-phase-researcher, maxsim-planner, and maxsim-plan-checker agents with a revision loop (max 3 iterations).
39
</purpose>

‎packages/cli/dist/assets/templates/workflows/progress.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ Use this instead of manually reading/parsing ROADMAP.md.
8888

8989
```bash
9090
# Get formatted progress bar
91-
PROGRESS_BAR=$(node ~/.claude/maxsim/bin/maxsim-tools.cjs progress bar --raw)
91+
PROGRESS_BAR=$(node ~/.claude/maxsim/bin/maxsim-tools.cjs progress phase-bars --raw)
9292
```
9393

9494
Present:

‎packages/cli/dist/assets/templates/workflows/quick.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
<sanity_check>
2+
Before executing any step in this workflow, verify:
3+
1. The current directory contains a `.planning/` folder — if not, stop and tell the user to run `/maxsim:new-project` first.
4+
2. `.planning/ROADMAP.md` exists — if not, stop and tell the user to initialize the project.
5+
</sanity_check>
6+
17
<purpose>
28
Execute small, ad-hoc tasks with MAXSIM guarantees (atomic commits, STATE.md tracking). Quick mode spawns maxsim-planner (quick mode) + maxsim-executor(s), tracks tasks in `.planning/quick/`, and updates STATE.md's "Quick Tasks Completed" table.
39

0 commit comments

Comments
 (0)