Skip to content

Commit 8a0a4bc

Browse files
committed
Unify build transforms, add validation, clean stale output
Three transform functions (~80% shared logic) replaced by single transform() that delegates content-type and format differences to provider config. TOML special case moved into Gemini's formatOutput. Shared format utilities extracted to scripts/lib/format.js. Single-provider builds now clean their output directory first, preventing stale files from accumulating. Build validation checks structural correctness — directories exist, file counts match source, format is correct for each provider. Resolves: duplicate transforms, provider abstraction leak, stale output on single-provider builds, missing build validation.
1 parent 3ddaf6a commit 8a0a4bc

File tree

5 files changed

+291
-209
lines changed

5 files changed

+291
-209
lines changed

.gitignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ node_modules/
55
.astro/
66
dist/
77

8-
# Deprecated
9-
.deprecated/
8+
# Walter
9+
.walter/
1010

1111
# OS
1212
**/.DS_Store

CLAUDE.md

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,28 +23,23 @@ npm run clean # Remove dist/
2323
## Status
2424

2525
- 1 skill, 9 commands, 6 agents, 12 references — all functional
26-
- Build system: 4 providers, placeholders, conditionals, auto-copy, ZIPs
26+
- Build system: 4 providers, unified transforms, validation, placeholders, conditionals, auto-copy, ZIPs
2727
- Site: Astro, OG image, SEO meta, sitemap, favicons, 404
2828
- Plugin: marketplace.json + plugin.json ready
2929
- Quality: lint + build pass clean, Husky pre-commit hooks enforced
3030
- CI: GitHub Actions on PR and push to main
3131
- Repo: README, DEVELOP.md, CONTRIBUTING.md, SECURITY.md, issue/PR templates — all in place
32+
- Deployed: walter.cooking live on Vercel, domain pointed, SSL active
3233

3334
## Known Issues
3435

3536
- YAML parser doesn't strip quotes (latent — round-trip works)
36-
- No build transformation validation (output not verified beyond "it runs")
37-
- Provider abstraction leaks (TOML special case in build.js)
38-
- Duplicate transform functions in build.js (~80% shared logic)
39-
- Single-provider build doesn't clean stale output from other providers
4037

4138
## Next
4239

43-
Deploy walter.cooking via Vercel, then first commit to GitHub.
40+
Content audit, frontmatter descriptions, Heisenberg evolution.
4441

4542
### Remaining Before Release
46-
47-
- **Vercel deployment** — walter.cooking live, build command configured, domain pointed
4843
- **Content audit** — Walk every skill, command, agent, reference for tone, accuracy, completeness
4944
- **Frontmatter descriptions** — Audit all command and agent descriptions for clarity. These are what users and agents see first — clear and accurate, not gimmicky
5045
- **Heisenberg evolution** — Make write-capable, expand agent definition. Walter's subconscious — same thinking and discipline, can do real work (not just read-only advisory). Deep systems thinking + execution
@@ -53,7 +48,6 @@ Deploy walter.cooking via Vercel, then first commit to GitHub.
5348

5449
**Developer Experience**
5550
- install.sh — Interactive installer (choose provider, target dir, global vs local)
56-
- Build validation — Verify transforms produce correct output, not just that they run
5751

5852
**Extensions**
5953
- Hooks in SKILL.md frontmatter (Claude Code lifecycle events)
@@ -71,4 +65,6 @@ Deploy walter.cooking via Vercel, then first commit to GitHub.
7165

7266
**Making changes:** Edit `src/`, run `npm run build`, test with the relevant provider, run `npm run lint`. Husky catches lint and format issues at commit time. See [DEVELOP.md](DEVELOP.md) for architecture and source format.
7367

68+
**Working docs:** `.walter/` is the scratch space for formulas, preps, reports, and other process artifacts. It's gitignored — use it for in-flight work without producing noise in the repo. Clean up when done.
69+
7470
**Keeping docs current:** CLAUDE.md is the bootstrap — status, next action, where to look. Technical detail lives in [DEVELOP.md](DEVELOP.md). Contribution process lives in [CONTRIBUTING.md](CONTRIBUTING.md). If it doesn't help the next agent take their first action, it doesn't belong in CLAUDE.md.

0 commit comments

Comments
 (0)