wiki-vault/Sources/Dev/project-scaffolding-skill.md
Travis Herbranson 34a268d8dc migration: copy 62 notes from pbs-projects and homelab-projects
Two-layer structure: Sources (raw notes) + Wiki (compile output)
Four domains: Dev (40), Venture (3), Homelab (23), Reference (0)
Includes CLAUDE.md spec, index pages at all levels, compile log

Co-Authored-By: Lovebug <lovebug@herbylab.dev>
2026-05-08 17:21:13 -04:00

127 lines
4.7 KiB
Markdown

---
created: 2026-04-22
path: Sources/Dev
project: project-scaffolding-skill
status: active
tags:
- claude-code
- skills
- python
- go
- web
- homelab
type: project-plan
updated: 2026-04-22
---
## Project Scaffolding Skill
Fork and customize a Claude Code skill that scaffolds new projects with
opinionated defaults across Python, Go, and web stacks. Complements the
existing `zero-check` skill (validation) by handling the other end of the
lifecycle (initialization).
### Goals
- One skill that handles project creation for Python, Go, and web work
- Opinionated defaults baked in: uv + Ruff + Pyright for Python, Polars
over pandas for data work, standard Go layout
- ~12-15 project types covering real current and near-term needs — not 70
- Deploys cleanly to Manjaro tower, ThinkPad, and Ubuntu VM
- Lives in a future `claude-skills` monorepo alongside `zero-check`
### Approach
Fork `hmohamed01/Claude-Code-Scaffolding-Skill` rather than build from
scratch. The scaffolding logic, wizard flow, and per-type templates are
already written. Trim to the ~13 needed types and customize defaults to
match stack preferences.
Before committing to trim-vs-rebuild, read the fork's actual `SKILL.md` and
`scaffold.py` to assess code quality. If clean, trim. If messy, rebuild
using the draft already started (in `/home/claude/project-scaffolding/`
from the planning session) and keep the fork as structural reference.
### Scope — project types to keep
Python: FastAPI, Flask, CLI (Typer), Library (PyPI), Data analysis (Polars
+ Jupyter)
Go: Gin API, Chi API, CLI (Cobra), Module (library)
Web: React + Vite, Astro, Hono, T3 Stack
Plus static HTML/CSS as a lightweight fallback — 13 total.
### Opinions to apply
- Python: uv + Ruff + Pyright (not ty, not mypy). Polars default for data,
pandas only when needed for sklearn compat. `src/` layout via `uv init
--package`. Python 3.13 (not 3.14).
- Ruff rules: `E4, E7, E9, F, B, I, UP, N, SIM, RET, PTH` — opinionated but
not ALL.
- Go: standard cmd/internal/pkg layout, Makefile included.
- Web: TypeScript by default, Tailwind for React/Astro.
- Every project: `src/` layout where applicable, git init + first commit,
`CLAUDE.md` referencing zero-check skill, MIT license default.
### Tasks
- [ ] Fork `hmohamed01/Claude-Code-Scaffolding-Skill` on GitHub to
`trucktrav/`
- [ ] Clone fork to Manjaro tower
- [ ] Read `project-scaffolding/SKILL.md` and `scripts/scaffold.py` to
assess structure
- [ ] Decide: trim existing vs. rebuild from scratch using drafted
`SKILL.md` in `/home/claude/project-scaffolding/`
- [ ] Delete unused project type references and scaffold.py logic
- [ ] Update `SKILL.md` decision table to list only kept types
- [ ] Swap Python defaults: mypy → Pyright, add Polars as data default,
customize Ruff rule set
- [ ] Update each kept reference file (or equivalent) with opinionated
templates
- [ ] Write `CLAUDE.md` template that references zero-check skill at
`~/zero-check-pipeline/validate/run-all.sh`
- [ ] Verify Go templates match existing Go project conventions
- [ ] Decide `claude-skills` monorepo now or later — if now, create repo
and move both skills in with symlink deploy pattern
- [ ] Deploy to `~/.claude/skills/project-scaffolding/` on Manjaro tower
- [ ] Test with a real new project (Python data analysis candidate: pick
something from the photo app or Immich tooling backlog)
- [ ] Test with the existing Go project pattern to verify Go template
matches
- [ ] Iterate on SKILL.md description for triggering accuracy
- [ ] Deploy to ThinkPad and `us-test-authy` once stable
- [ ] Update `claude-skills` README index with new skill entry
### Open decisions
- Monorepo now or wait until 3rd skill?
- Include a `web-static` (HTML/CSS) type, or skip?
- CLAUDE.md absolute path to zero-check — is `~/zero-check-pipeline/`
correct on all three target machines?
- Keep `scaffold.py` (programmatic scaffolding) or convert to
pure-instructional like `zero-check`?
### References
- Draft skill in planning session:
`/home/claude/project-scaffolding/SKILL.md` and `references/python-data.md`
- Upstream: `github.com/hmohamed01/Claude-Code-Scaffolding-Skill`
- Structural inspiration: `github.com/a5chin/python-uv` (Python template,
not a skill — for reading)
- Source article: `
kdnuggets.com/python-project-setup-2026-uv-ruff-ty-polars`
- Existing skill: `zero-check` at `~/.claude/skills/zero-check/` on
`us-test-authy`
### Next session
On Manjaro tower with Claude Code:
1. `gh repo fork hmohamed01/Claude-Code-Scaffolding-Skill --clone` (or fork
via web UI, then clone)
2. `cd Claude-Code-Scaffolding-Skill && cat project-scaffolding/SKILL.md`
3. Decide trim vs rebuild with Claude Code
4. Begin trimming / rebuilding
...sent from Jenny & Travis