| name | project-config-and-tests |
| description | Project overlay for config precedence, defaults, parsing, normalization, path helpers, and deterministic tests at those seams. Not for general test strategy or unrelated test implementation. |
Project Config And Tests
This is a composable project overlay, not a standalone implementation workflow.
Use it with matching language or discipline guidance when the main task is a
configuration contract or deterministic tests at that boundary.
When to use
The task involves configuration sources or precedence, defaults, parsing,
normalization, path resolution, or deterministic tests around those seams.
Not for
Do not use this for general feature work (use the matching principle skill and
add project-core-dev only when repository-specific completion evidence is not
concrete), general test strategy (tester-mindset), framework-specific test
implementation, vendored dependency changes (project-vendor-boundary),
release-only work (project-release-maintainer), or environment diagnosis whose
cause has not been isolated (project-platform-diagnose).
Workflow
- Establish the contract before editing: sources, precedence, defaults, and
the behavior of missing, empty, malformed, and unsupported values.
- Preserve help, version, and recovery paths when they can operate safely
without valid config. Fail fast or fail closed when continuing would be
unsafe or would silently apply misleading behavior.
- Separate pure parsing and normalization from environment, filesystem, and
process-global lookup when the existing design permits it.
- Make tests independent of ambient environment, current directory, user home,
wall-clock time, and shared filesystem state. Use the repo's fixtures and
temporary-directory helpers, and clean up any remaining state.
- Cover precedence and representative missing, empty, invalid, override,
relative, absolute, and platform-sensitive path cases that belong to the
supported contract. Do not simulate unsupported platforms and present the
result as observed evidence.
- Keep defaults, example config, help text, and documentation aligned. Avoid
printing secret values in diagnostics or test output.
Completion
- Run the narrowest relevant config and path tests plus the checks required by
any selected principle skill.
- Use coverage or benchmarks only when they answer a concrete risk; do not make
percentage coverage or routine benchmarking the objective.
- Report untested platform behavior, unavailable tooling, and any remaining
dependence on ambient state.