Skip to content

Align project commands and document all workflows - #6

Merged
jabahum merged 1 commit into
mainfrom
chore/align-and-document-commands
Oct 24, 2026
Merged

jabahum merged 1 commit into
mainfrom
chore/align-and-document-commands

Conversation

@jabahum

@jabahum jabahum commented Oct 24, 2026

Copy link
Copy Markdown
Collaborator

Foundry and its generated foundations now use consistent command responsibilities: formatting is explicit, quality checks do not regenerate tracked source, and code generation/deployment actions are separate. docs/commands.md documents every CLI command/flag, root and template commands, prerequisites, working directories, side effects, outputs, aliases, Windows alternatives, and CI/release behavior. Every template README includes its own command reference.

  • Root and Go Makefiles expose help/format/format-check/lint/test/build/check/ci/clean. Existing fmt/fmt-check/vet/proto/run/release-snapshot names remain aliases where applicable. Bare make displays help. Go test/dev no longer regenerate contracts; Go ci explicitly sequences codegen, contract lint, and checks.
  • Flutter adds canonical lint/check tasks, retains analyze/quality aliases, and makes ci generate code, run checks, and validate every Mason brick using FVM's Mason entry point.
  • Rust gains equivalent POSIX and native PowerShell check scripts, used by the existing stable/MSRV CI matrix. Web templates gain portable artifact-only cleanup commands.
  • Helpers resolve their project root, provide help, validate arguments, and stop on errors. Smoke generation uses an isolated temporary workspace for all five templates. Release builds stage fresh archives, include the documentation, replace stale ZIP contents, and checksum only the current six archives.
  • Command help returns success, unexpected arguments are rejected, read-only upgrade mode is explicit, and use-case creation honors --project before or after its optional name. New regression tests cover those behaviors, SDK setup failure handling, app environment execution, and project-local key generation without replacing existing keys.

Validation passed:

  • make ci: Foundry formatting/vet/tests/build and all-template generation/add smoke checks.
  • Generated Go: help, format, check (vet/race tests/build), CI dry-run, and cleanup.
  • Flutter: full fvm dart run melos run ci, including analysis of all packages, tests, and generated app/package brick validation.
  • Fresh JS/React projects: npm ci/check and cleanup; cleanup also verified from another directory while preserving node_modules.
  • Generated Rust: full POSIX check script invoked from another directory, offline.
  • Six release builds invoked outside the repository: all checksums verified, unrelated archives excluded, stale ZIP entry removed, docs packaged, staging cleaned up.
  • Shell syntax, YAML parsing, and git diff --check.

Database migrations/container startup and SDK installation are documented explicit actions; validation does not run database-changing commands. Native PowerShell Rust checks run in Windows CI.

@jabahum
jabahum merged commit 780c0c9 into main Oct 24, 2026
26 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