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

4.7 KiB

created path project status tags type updated
2026-04-22 Sources/Dev project-scaffolding-skill active
claude-code
skills
python
go
web
homelab
project-plan 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