Skip to content

Deliver all templates as embedded source files - #3

Merged
jabahum merged 2 commits into
mainfrom
cleanup/direct-template-delivery
Oct 24, 2026
Merged

jabahum merged 2 commits into
mainfrom
cleanup/direct-template-delivery

Conversation

@jabahum

@jabahum jabahum commented Oct 24, 2026

Copy link
Copy Markdown
Collaborator

Both Go and Flutter templates now ship as source files embedded directly in the Foundry executable. Project generation copies these files without archive extraction, and template changes require only rebuilding Foundry.

The Go sources and module manifest use .go.tmpl and go.mod.tmpl so Go can embed them without treating the foundation as another compiled module. Generation restores their normal filenames, substitutes project settings, and preserves runnable shell scripts. Embed patterns exclude local SDK and package caches; the Flutter workspace includes an empty apps folder.

Removed the bundled Go ZIP, archive extractors, template pack/download code, external registry/cache packages, and their CLI commands. template list now lists bundled templates. --version asserts a bundled version, upgrade reports use bundled versions, and the obsolete --offline flag is removed. Foundry executable release archives are unchanged.

Validation passed:

  • make check smoke: formatting, all Foundry tests, vet, binary build, generation, migration and service smoke checks.
  • Generated Go project: formatting hook, go test -race ./..., and go vet ./....
  • Generated Flutter workspace: SDK/dependency setup and fvm dart run melos run quality (formatting, analysis of all 18 packages, and tests).
  • ./scripts/build-release.sh ci: all six release targets.
  • Regression tests cover restored filenames, executable scripts, module substitution, absence of local tool caches, bundled version selection, retired commands, and bundled-only upgrades.
  • git diff --check.

@jabahum jabahum left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jabahum
jabahum merged commit 56f1dc4 into main Oct 24, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant