Skip to content

spin v0.0.1-alpha

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 15 Jul 23:45

spin v0.0.1-alpha

Released 2026-07-15T23:44:27Z.

Changelog

  • 86a6c40 .planning update
  • 317fc70 Add task install target for local development
  • 6f79af6 Add terminal-aware table rendering with auto-truncation
  • 7468efd Block scaffolding when template requires a newer spin version
  • 9cb0a95 Build test binary once and reuse across all integration tests
  • a5255b1 Create govulncheck.yml
  • d33c731 Fix broken symlinks for relative local paths and validate templates at pin time
  • ea3845e Flatten CLI error messages to zero-level and document the convention
  • 76b36c6 Improve terminal table display with column separators and ~ path shorthand
  • cdfd371 Prevent git clone tests from hanging for 2 minutes
  • 7cf071f Remove version field from spin.toml and wire min_spin_version to all load paths
  • 6101677 Wire git describe output into spin version at build time
  • ccc8380 added better docs to use with docus (i may remove it later)
  • 9885709 another fix on goreleaser >:
  • 2c336bb bump
  • 1975303 charm: promote bubbletea/v2 to a direct dependency
  • 8c82071 chore(02): gofumpt formatting + Phase 2 closeout
  • ebc6090 chore(04-01): promote charm.land/lipgloss/v2 to direct dep
  • 0d372bf chore(04-05): strip generated-by markers from 26 .tmpl files per D-12
  • 343a1c4 chore(deps): add charm.land/log/v2 for structured logging
  • 95b6fe4 chore(deps): bump charm.land/lipgloss/v2 from 2.0.3 to 2.0.5
  • 6c4e402 chore(deps): bump golang.org/x/text from 0.24.0 to 0.40.0
  • 1e8d8d2 chore: add project config
  • 86cca5c chore: add trailing newline to internal/version/doc.go
  • e67b0e4 chore: merge Plan 02-05 worktree (template restructure + walker substitution)
  • 73ff988 chore: merge executor worktree (worktree-agent-a0bb80fd652e968c2)
  • 7e36846 chore: merge executor worktree (worktree-agent-aa49889d557bf80a1)
  • 8cfd101 chore: merge quick task 260604-7jt worktree (drop glow + modifiers)
  • 2b95acb chore: remaining infrastructure and utility changes
  • 9adbbf3 chore: remove unused dogfood workflow and v1-leak grep script
  • b7b6013 chore: remove unused taskfile targets and scripts
  • 811692f chore: switch license from MIT to Apache 2.0
  • 24df007 chore: update Go toolchain to 1.26.5
  • 39f8136 chore: update linter to v2 format, add Taskfile fmt task, fix goreleaser install path
  • c215d8e ci(04-06): add dogfood + base CI workflows and dependabot
  • 674be8b ci(04-06): add dogfood smoke-test script
  • 3ffe957 ci: update workflows to Go 1.26.5, add fmt/tidy/staticcheck/install checks
  • 6bd5cf2 docs(01): add code review report
  • 04c7759 docs(01): add phase verification report
  • 058c4d2 docs(01): create phase 1 plan — scaffolder foundation + core TUI stack
  • bad2dd5 docs(01): track wave 1+2 plan completion
  • 0672353 docs(01-01): complete walking skeleton plan summary
  • ae0b574 docs(01-02): complete plan 02 summary
  • 445e5d9 docs(01-03): complete template engine + full TUI scaffold plan
  • 83ab252 docs(01-04): complete CI grep suite + integration test + repo polish plan
  • 1d2a377 docs(02): add code review report
  • 108af1c docs(02): research + 4 plans + plan-check report (CLI variant + wrappers + libs + external templates)
  • 34aa270 docs(02): update VERIFICATION status to verified (WR-010 fixed)
  • 4b702e6 docs(02-01): add plan summary (foundation refactor)
  • eca3a14 docs(02-02): add plan summary (post-executor recovery)
  • 285cee1 docs(02-03): add plan summary (post-quota recovery)
  • 561cd64 docs(02-04): add plan summary
  • 9d392d6 docs(02-05): plan + summary + verification addendum; update 03-04 for new layout
  • c16b099 docs(03): UI design contract
  • 4c58289 docs(03): add code review report
  • b2a4c24 docs(03): add phase verification report
  • 5877940 docs(03): create phase plan
  • f9f2ced docs(03): research phase 3 — interactive prompts + AGENTS.md
  • 40ab4a7 docs(03-01): add plan summary
  • b053507 docs(03-02): add plan summary
  • 7446d3b docs(03-03): complete gum shell-out backend plan
  • 5900aaa docs(03-04): complete AGENTS.md + --ai flag plan
  • ea2d981 docs(04): capture phase context
  • b88d849 docs(04): create phase 4 plan — 6 plans in 4 waves (post-scaffold health + dogfooding)
  • 42dde6d docs(04): create phase plan
  • 7e5e8d8 docs(04): mark phase 4 complete in STATE + ROADMAP
  • 7ca150c docs(04-01): complete spin doctor plan
  • b076488 docs(04-02): complete spin lint plan
  • db6ee5f docs(04-03): complete spin update engine plan
  • 7b56d05 docs(04-04): complete plan summary
  • 6a2b56e docs(04-05): complete plan summary
  • 5d9267a docs(04-06): complete CI dogfood plan summary
  • cce1905 docs(05): add CONTEXT.md from conversation
  • 31eb1be docs(05): add code review report
  • bd03b34 docs(05): add loader.go to plan 04 task 3 files (cloner field)
  • 935a161 docs(05): complete phase execution
  • 7ac97c3 docs(05): create phase 5 plan (4 plans, 2 waves)
  • 26e8773 docs(05): create phase plan
  • e5c6853 docs(05): evolve PROJECT.md after phase completion
  • 55c7439 docs(05): revise plans per plan-checker feedback
  • b71ed9f docs(05-02): complete ecosystem dispatch + template loader plan
  • 10bbf9a docs(05-02): update STATE.md and ROADMAP.md after plan 05-02
  • 0de7ac0 docs(05-03): complete registry client hardening plan summary
  • c39fc55 docs(05-04): complete runner integration plan summary
  • 0234035 docs(260604-7jt): pre-dispatch plan for remove glow + modifiers
  • 26ea3b3 docs(quick-260604-7jt): remove glow library + modifiers flag from spin
  • 436ef67 docs(research): synthesize v2.x local-registry research
  • d759fa8 docs(state): record phase 04 context session
  • 7361cf3 docs: create roadmap (4 phases)
  • c64acc6 docs: create v2.x local-registry roadmap (3 phases)
  • 954f57f docs: define v1 requirements
  • c67e93b docs: define v2.x local-registry requirements
  • 42c4ced docs: initialize project
  • 83db6b7 docs: minor CONTRIBUTING.md update
  • 311abf3 docs: research charmbracelet v2 ecosystem for spin
  • 91c255c docs: rewrite README to be minimal and human-readable
  • 1862871 docs: start milestone v2.x local-registry
  • 03479c9 docs: update README, remove CLAUDE.md and PRD.md, add AGENTS.md and spin-registry.md
  • 2d0bedc feat(01-01): scaffold engine with Project struct, embed walker, and render pipeline
  • 83c02af feat(01-01): spin binary scaffold (go.mod + main.go + cmd/root.go + cmd/new.go)
  • 5b779a1 feat(01-01): walking skeleton end-to-end smoke test
  • bf3ef3b feat(01-01): walking skeleton templates (_base + variant_tui + lib/bubbletea)
  • 86ccb74 feat(01-02): VerifyBuild smoke test + GitInit (env-guarded)
  • b823e89 feat(01-02): expand Project struct + ResolveFlags for full flag binding
  • cad2eee feat(01-02): validate project name regex + dir conflict + --force
  • 77cecc0 feat(01-02): wire fang version + flag-error suggestions (SCAF-07, FLAG-18)
  • 624c234 feat(01-03): full TUI variant + lib overlays + Phase 2/3/4 stubs
  • 16cd4fa feat(01-03): refactor template engine to overlay composition
  • 7fd46bf feat(01-03): ship .air.toml, Taskfile.yml, LICENSE templates, expanded README
  • 8be935f feat(01-04): CI grep suite for v1 charmbracelet API leaks
  • 3a3eec2 feat(01-04): TOOL-05 integration test — full scaffold + build + test + grep
  • 6359aac feat(01-04): spin repo polish — README, .gitignore, .golangci.yml, LICENSE
  • 66bf45f feat(02): add 5 wrapper cobra subcommands (run, build, test, vet, fmt)
  • 4652591 feat(02): add 7 lib overlays (huh, glamour, wish, log, harmonica, glow, viper)
  • 0dc05ce feat(02): add CloneTemplateRepo for --template-repo
  • c4c1738 feat(02): add ExternalDir + KeepTemplateCache to Project
  • de04d9b feat(02): add check-air-bin.sh + check-taskfile-setup.sh + wire into grep-v1-leaks
  • fcf4025 feat(02): add internal/wrap package with ToolSpec + RunWithFallback
  • fd8f6c2 feat(02): add templateFS interface + currentFS for external template override
  • f20af52 feat(02): add wrap.Build producing bin/ with CGO_ENABLED=0
  • 91eeee5 feat(02): add wrap.Run with air/ go run fallback
  • 0f297dc feat(02): add wrap.Test with prism Go-1.24+ detector
  • 54f8ace feat(02): add wrap.Vet and wrap.Fmt (gofumpt → goimports → gofmt chain)
  • 3ee4929 feat(02): bump all 11 charmbracelet pins to latest stable
  • 0f194f5 feat(02): extend air include_ext to watch md and mod files
  • 97a8633 feat(02): extend go.mod and README with 9 new lib require entries + glow note
  • c9832e2 feat(02): refactor walker to currentFS + add 7 FuncMap helpers for Phase 2 libs
  • 9e8d2c5 feat(02): ship variant_all template (TUI + CLI combo with tui and hello subcommands + viper wiring)
  • d5507ba feat(02): ship variant_cli template (cobra root + fang + hello subcommand + viper wiring)
  • 0efa836 feat(02): simplify go directive to 1.25.0 for all generated projects
  • 064ef06 feat(02): wire --template-repo and --keep-template-cache flags
  • 97479c6 feat(02): wire 6 new lib overlays into variant_tui main.go via hasX blocks
  • 8432139 feat(02-05): All variant restructured layout (combines TUI + CLI)
  • 163d1d4 feat(02-05): CLI variant restructured layout (cmd/name + internal/cmd + internal/ui + internal/config)
  • 91a8baa feat(02-05): TUI variant restructured layout (cmd/name + internal/app + internal/ui)
  • cbf9414 feat(02-05): drop obsolete lib/* overlays; keep only lib/glow
  • 9184ef8 feat(02-05): walker substitutes name -> p.Name in output path
  • f86aeda feat(03-01): add internal/prompt skeleton with Canceled error + Fill stub
  • 6a41b1d feat(03-01): implement three-layer TTY + CI guard in IsInteractive
  • 8601b8d feat(03-01): map *prompt.Canceled to exit code 130 in main.go
  • 595c3ff feat(03-01): wire --no-interactive/--yes/--batch; relax Args; add prompt.Fill chokepoint
  • 3c857c9 feat(03-02): add Library catalog (13 charm libs) + LibsForType
  • 39194c6 feat(03-02): add Project.AllLibs() — union of p.Libs and per-lib bools
  • aa18a53 feat(03-02): implement huh v2 form layer — 8 ask* functions + fillWithHuh
  • 1a4e8d8 feat(03-02): wire Fill to dispatch to fillWithHuh + nil-guard
  • 982d2d6 feat(03-03): add resolveBackend() and wire Fill to dispatch to gum-or-huh
  • 8037dc9 feat(03-03): implement gum shell-out backend
  • 87d7187 feat(03-04): add --agents alias for --ai flag
  • cc33a7a feat(03-04): add charmLibInfo, allLibs FuncMap helpers + ai overlay key
  • b483b22 feat(03-04): add lib/ai/AGENTS.md.tmpl template
  • 5c867e8 feat(04-01): add human + JSON renderers and Run() exit-code tests
  • 133f659 feat(04-01): add internal/doctor package with 4 universal checks + orchestrator
  • ef07af7 feat(04-01): wire spin doctor cobra subcommand with 4 flags
  • 5a1f6e0 feat(04-02): add wrap.Lint — golangci-lint detect + passthrough + install hint
  • b5d93b9 feat(04-02): wire spin lint cobra subcommand with argv passthrough
  • eb3c989 feat(04-03): add internal/update apply layer — go get + tidy + CGO=0 build
  • 1da0da7 feat(04-03): add internal/update parse layer — go.mod reader
  • 6209722 feat(04-03): add internal/update resolve layer — proxy version picker
  • bc5f04e feat(04-04): huh v2 form for spin update with non-TTY table fallback
  • 397259a feat(04-04): wire spin update cobra subcommand with --all flag
  • 84ada31 feat(05-01): add rust ecosystem package skeleton (flags, struct, detector, validate)
  • 157ab0d feat(05-01): implement Render, PostScaffold, and Tasks for rust
  • 30a4428 feat(05-01): register rust ecosystem and add spin new rust cobra subcommand
  • 549ec71 feat(05-02): external template loader upgrade + v2 dispatch end-to-end
  • 1d1fe82 feat(05-02): one-time deprecation notice + ecosystem dispatch in cmd/new
  • c20a4ef feat(05-03): harden registry client + add 11 unit tests
  • e9a2c29 feat(05-03): wire cmd/add (clone-or-pin) and cmd/list (show local path)
  • 5445602 feat(05-04): inject ecosystem tasks into runner source chain
  • 09e40eb feat(05-04): wire --json for list/explain, add Task.Env, add runner tests
  • 6e48f61 feat(cmd): add hook flags, trust prompt, context-aware loader, fix tryAutoPin
  • 7e00949 feat(cmd): add interactive TUI for spin new
  • 68ce6fd feat(params): sort params alphabetically and add textarea placeholder
  • 6b023d7 feat(registry): Phase 6 manager + spin registry CLI + registries.json
  • f16cbc7 feat(registry): Phase 7 index reader + resolver + rewire search/add
  • a54c14a feat(registry): Phase 8 delete HTTP client + docs
  • 537811a feat(search): include pinned templates in spin search results
  • cdcfd90 feat(template): add [[include]] rules, _pre/ hooks, multi-file hook dirs, has/not_has/one_of helpers
  • 5fbc649 feat(template): support ** globs, remove redundant os.Stat, pin-aware shorthand
  • 2fe4f03 feat: create internal/spec and internal/log packages
  • 1cba7a9 fix on release workflow
  • 797aa5d fix(01): CR-001 --tui implies --bubbletea in ResolveFlags
  • df6158c fix(01): CR-002 validate --license against a whitelist (mit, apache-2.0, none)
  • 15c2284 fix(01): WR-001 rename forward-compat lib//README.md.tmpl to LIBS.md.tmpl
  • 6802338 fix(01): WR-002 move log.SetDefault out of init() into New() / InitLogger
  • 0662308 fix(01): WR-003 drop duplicate Project.Validate() call from scaffold.New()
  • 4a99a22 fix(01): WR-004 widen isUnknownFlagErr to catch "unknown switch" + bare flag
  • 8d8e1a0 fix(02): CR-001 wish template fix (initial + signal-aware Shutdown)
  • 09bf13f fix(02): CR-004 CR-005 add -- separator, leading-dash guard, and clone timeout
  • 605a55a fix(02): WR-001 use golang.org/x/mod/semver.Compare for version check
  • 5164e6d fix(02): WR-002 use errors.Is(err, io.EOF)
  • a930de6 fix(02): WR-005 WR-006 replace chdirTo with t.Chdir, drop time import
  • a57d509 fix(02): WR-007 drop _ = errors.Is hack and unused import
  • e52f89b fix(02): WR-008 delete indexOf, use strings.Index
  • 1094cf6 fix(02): WR-010 reject explicit empty --template-repo
  • 8cf36e1 fix(02): refine v1-leak grep to per-module deny-list (allow harmonica + glow)
  • 9585618 fix(02): reject template output paths that escape the project root
  • 6c4a792 fix(02): remove --cli/--all Phase 2 rejection now that templates exist
  • 45d84c7 fix(02): walker overlays for active bool flags (--viper, --cobra, etc.)
  • d76baa4 fix(02): walker root prefix + missing-file wording; accept file:// template repo
  • d8c2b1b fix(02-05): drop v1 tea.WithAltScreen + merge all-variant styles struct
  • 7cc09c1 fix(02-05): hoist time import in update.go.tmpl out of bubbletea OR-block
  • 124697a fix(blockers): B1-B6 from pre-push audit
  • 233b808 fix(install): fix API failure handling, add go install fallback
  • 08e9b48 fix(nice-to-have): N3, N4 from pre-push audit
  • bd7265b fix(params): capitalize non-number validation message
  • 79b9525 fix(registry): remove GitHub shorthand expansion from Client.Add()
  • b9e7bd5 fix(registry): stamp PinnedAt inside Add(), remove unused ctx from writers
  • 7c5daac fix(should-fix): S7, S8 from pre-push audit
  • ee436d0 fix(template): expand ~ home prefix in Detect
  • 5c9edf3 fixing the temporary domain to the correct one.
  • e779f1a formatting
  • 0b67ebb formatting.
  • 8ed8fbf github workflow enhancements and goreleaser
  • 97a10bf merge(04-01): spin doctor — 4 universal checks, --format/--strict/--deep/--fix
  • a128a9d merge(04-02): spin lint — golangci-lint wrapper with argv passthrough
  • 4dfba0a merge(04-03): spin update engine — parse/resolve/apply
  • caf0e2e merge(04-04): spin update form + cobra subcommand
  • 760198f merge(04-06): CI dogfood — workflow + reusable script
  • a8baff5 pivot(v2): external templates only
  • f27f348 refactor(02-05): split bool->name map; filter overlayOrder by surviving overlays
  • 5995f3f refactor(03): aggressive comment diet — 67% fewer comment lines
  • 8250f52 refactor(03): apply all 13 code-review findings inline
  • 0b90bba refactor(params): add SetDefault() to Param interface, simplify SetDefaults
  • 985862d refactor(params): add Value.Kind discriminator, fix zero-value bug, remove dead code
  • 3234b1e refactor(quick-260604-7jt): drop --glow and --modifiers source code
  • 2630bca refactor(quick-260604-7jt): drop readme subcommand, lib/glow/ overlay, and glow-related test fixtures
  • 8e2b2eb refactor(registry): use internal/spec and internal/log, clean up error messages
  • 351ff5a refactor(templates): drop "DO NOT EDIT" from generated headers
  • 9c83fd9 refactor: aggressive comment diet — 12 files, 628 lines of comments removed
  • 11c217b refactor: remove %w error chaining that produced colon-heavy messages
  • 8d40c2b refactor: strip plan-anchor comments from source + tests
  • c940e32 release: remove homebrew tap, trim changelog filters
  • bf7556a remove outdated plans files to make better new ones
  • 8ccd390 staticcheck (ST1005) error fix <:
  • a2618a9 stdlib modernize.
  • f2ff0fa test(02): add tests for templateFS, CloneTemplateRepo, and new flag binding
  • 3905efe test(02): integration tests for 5 wrapper subcommands
  • a278437 test(02): unit tests for all 5 wrappers + 2 new grep scripts
  • 58274c7 test(02): update tests for new pins, 1.25.0 always, and traversal guard
  • 6580bc3 test(02-05): adjust existing tests for new layout
  • 1f55bc2 test(02-05): integration tests for restructured layout + walker substitution
  • 42bd3bd test(03-03): gum arg construction + fillWithGum writeback + cancel tests
  • c9d1c89 test(03-04): unit + integration tests for AGENTS.md and --ai
  • 00e870a test(04-05): assert no AUTOGENERATED markers per D-12 strip
  • 64d0e8e test(05-02): registry unit tests + verify defaultRegistry is single source of truth
  • d3d984d test(05-04): add unit tests for params and template loader
  • 6e39cdc test: add comprehensive tests and benchmarks for core paths

Install

go install github.com/N1xev/spin@v0.0.1-alpha

Or download a binary below.