| name | strict-architecture |
| description | Enforces universal strict governance rules (500 lines, 5 funcs, 4 args) and interface-first I/O for Python, Golang, and .NET. |
| license | MIT |
| model | inherit |
| mode | false |
| allowed-tools | Read, Grep |
| disable-model-invocation | false |
| when-to-use | Enforce hard architecture limits and I/O contracts |
| requires-container | false |
| disallow-container | true |
Strict Architecture Governance
These rules apply to ALL code in this project, regardless of language.
1. Universal Limits (Non-Negotiable)
These constraints apply to every source file:
- MAX_LINES: 500 lines per file. (Split file if exceeded)
- MAX_FUNCS: 5 public functions/methods per class/struct.
- MAX_ARGS: 4 arguments per function/constructor.
- NO_DEFAULTS: No default argument values allowed.
- NO_ENV_VARS: No reading environment variables inside constructors or methods (pass values in).
2. Implementation Patterns by Language
Python Implementation
- Interfaces: Use
typing.Protocolfor all dependencies.class IClient(Protocol): def fetch(self) -> dict: ... - Config: Use
@dataclassfor configuration objects if args > 4. - Env Block: Reject
os.environoros.getenvanywhere exceptmain.py.
Golang Implementation
- Interfaces: Define
type Service interfacefor all dependencies. - Config: Use strict structs for config.
- Env Block: Reject
os.Getenvanywhere exceptmain.go. - Forbidden: Do not use struct pointers for dependencies; use interfaces.
.NET / C# Implementation
- Interfaces: Use
IInterfaceprefix. - Config: Use
IOptions<T>pattern or simple POCO config objects. - Env Block: Reject
Environment.GetEnvironmentVariableanywhere exceptProgram.cs.
3. Enforcement Checklist
Before saving any file, verify:
- Is the file < 500 lines?
- Does the constructor have dependencies passed as Interfaces?
- Are there 0 calls to env var readers?
- Are there 0 default arguments?