Claude Code Plugins

Community-maintained marketplace

Feedback

strict-architecture

@vinhnx/vtcode
299
0

Enforces universal strict governance rules (500 lines, 5 funcs, 4 args) and interface-first I/O for Python, Golang, and .NET.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

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.Protocol for all dependencies.
    class IClient(Protocol):
        def fetch(self) -> dict: ...
    
  • Config: Use @dataclass for configuration objects if args > 4.
  • Env Block: Reject os.environ or os.getenv anywhere except main.py.

Golang Implementation

  • Interfaces: Define type Service interface for all dependencies.
  • Config: Use strict structs for config.
  • Env Block: Reject os.Getenv anywhere except main.go.
  • Forbidden: Do not use struct pointers for dependencies; use interfaces.

.NET / C# Implementation

  • Interfaces: Use IInterface prefix.
  • Config: Use IOptions<T> pattern or simple POCO config objects.
  • Env Block: Reject Environment.GetEnvironmentVariable anywhere except Program.cs.

3. Enforcement Checklist

Before saving any file, verify:

  1. Is the file < 500 lines?
  2. Does the constructor have dependencies passed as Interfaces?
  3. Are there 0 calls to env var readers?
  4. Are there 0 default arguments?