Skip to content

Add .fips-template.yaml to opt into fips-agents patch flow#27

Merged
rdwj merged 1 commit into
mainfrom
feat/fips-template-manifest
May 7, 2026
Merged

Add .fips-template.yaml to opt into fips-agents patch flow#27
rdwj merged 1 commit into
mainfrom
feat/fips-template-manifest

Conversation

@rdwj
Copy link
Copy Markdown
Contributor

@rdwj rdwj commented May 6, 2026

Companion PR to fips-agents/fips-agents-cli#48 (the manifest loader) and the parallel gateway-template change. After both merge, `fips-agents patch` will work for projects scaffolded from this template — it doesn't today, because the CLI's hardcoded fallback raises `ValueError` for the `ui` project type.

What

Adds `.fips-template.yaml` at the repo root with `schema_version: 1`. Three categories: `chart`, `docs`, `build`.

`never_patch` (9 entries):

  • `cmd/**` — user's Go entry point.
  • `go.mod` — user's deps.
  • `chart/values.yaml` — user's deploy config.
  • `planning/**` — user-authored notes.
  • `static/**` — user's web content (HTML/CSS/JS and the embed.go that serves it).
  • `**/*_test.go` — tests are user code.
  • `.env*`, `README.md`, `LICENSE`.

Compatibility

Older CLI installs that don't know about `.fips-template.yaml` continue to refuse `patch` for UI projects exactly as before. Non-breaking.

Test plan

  • Manifest parses cleanly through `fips_agents_cli.tools.patching._load_template_manifest` and `_categories_from_manifest` (validated locally against PR #48's loader).
  • `_resolve_categories` correctly returns the manifest's categories instead of raising.
  • No secrets detected by gitleaks.
  • After CLI #48 merges and ships in a release, scaffold a UI project and run `patch check` against this template — should never offer to patch `static/` or `cmd/`.

Without this manifest, the fips-agents-cli refuses to run
`fips-agents patch` against UI projects — its
`get_categories_for_type` raises for gateway / ui / sandbox project
types because no hardcoded category set exists for them. The
presence of this file is what makes the patch flow work for
projects scaffolded from this template.

Schema: schema_version: 1, with three categories (chart, docs,
build) and a 9-entry never_patch list separating template-managed
scaffolding from the user's Go source, web content, and deploy
values.

Companion to fips-agents/fips-agents-cli#48 (the loader). Older CLI
installs that don't know about .fips-template.yaml will simply
ignore the file — nothing breaks.

Assisted-by: Claude Code (Opus 4.7)
@rdwj rdwj merged commit b812a82 into main May 7, 2026
@rdwj rdwj deleted the feat/fips-template-manifest branch May 7, 2026 00:12
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