5. Shared boilerplate
Every project of a family carries the same files besides its code: CI workflows, release and test scripts, the documentation's configuration, the licence. fobis scaffold keeps them identical to FoBiS's templates (with each project's name and URLs filled in), and the ecosystem checks them all:
console
$ fobis ecosystem scaffold status
core: in sync
SKIPPED scripts/release.sh (project-owned)
mathx: in sync
SKIPPED scripts/release.sh (project-owned)
app: in sync
SKIPPED scripts/release.sh (project-owned)A file a project must own (here each demo project's release.sh) is listed in the fobos [scaffold] skip and never touched. A local edit to a managed file is drift:
console
$ fobis ecosystem scaffold status
core: in sync
SKIPPED scripts/release.sh (project-owned)
mathx: 1 not in sync
OUTDATED .github/workflows/ci.yml
SKIPPED scripts/release.sh (project-owned)
app: in sync
SKIPPED scripts/release.sh (project-owned)
[exit status 1]In the project, the file by file view:
console
$ cd mathx && fobis scaffold status
OUTDATED .github/workflows/ci.yml
OK .github/workflows/docs.yml
OK .github/workflows/install.yml
OK .github/actions/setup-build-env/action.yml
OK .github/actions/run-coverage-analysis/action.yml
SKIPPED scripts/release.sh (project-owned: fobos [scaffold] skip)
OK scripts/run_tests.sh
OK scripts/install.sh
OK scripts/compute-coverage.sh
OK docs/package.json
OK cliff.toml
OK docs/guide/contributing.md
OK CONTRIBUTING.md
OK LICENSE.gpl3.md
OK .github/workflows/release.yml
OK docs/.vitepress/config.mts
OK docs/ford.md
OK fpm.toml
OK fobossync shows each difference and asks before writing (--yes does not ask, --dry-run only shows):
console
$ cd mathx && fobis scaffold sync --yes && git status --short
--- .github/workflows/ci.yml ---
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -27,4 +27,3 @@
- name: Run tests with coverage
id: cov
uses: ./.github/actions/run-coverage-analysis
-# local edit
Written .github/workflows/ci.yml
1 file(s) updated.What you learned
fobis scaffold status and sync, [scaffold] skip, fobis ecosystem scaffold status. Reference: scaffold.
Next: 6. The release train.