Wiki documentation — Gald3r-Labs/gald3r
gald3r Rules — Reference
gald3r Rules — Reference
Always-on guidance loaded every session: when each rule fires, what it requires, and any exemptions. Extracted from each rule file in project_template/.claude/rules/. For the rule table, see Rules.
Total rules: 12
g-rl-00-always
g-rl-00-always
When it fires / what it covers:
- Include in the final line(s) on every response to the user:
Documentation Standards
g-rl-01-documentation
When it fires / what it covers:
Documentation file placement and naming standards
Git Workflow
g-rl-02-git_workflow
When it fires / what it covers:
Git workflow conventions — commit message format and branch standards
Rules:
- Subject line ≤ 72 characters
- Use imperative mood: "add" not "added" or "adds"
- Reference task ID in every task-related commit
- Never commit secrets, API keys, or passwords
- Run
git statusbefore committing to verify staged files
Code Reusability (DRY Enforcement)
g-rl-04-code_reusability
When it fires / what it covers:
If logic appears 3+ times, it MUST be extracted to a shared module. No exceptions.
PowerShell on Windows 10/11
g-rl-08-powershell
When it fires / what it covers:
- Stop — don't retry the same command
Python Virtual Environment (UV)
g-rl-09-python_venv
When it fires / what it covers:
UV package manager and virtual environment standards for Python projects
Rule: Update Documentation at Feature Boundary
g-rl-26-readme-changelog
When it fires / what it covers:
Agents must update CHANGELOG.md and README.md when completing user-facing feature tasks
TODO/Stub Lifecycle Enforcement
g-rl-34-todo_completion_gate
When it fires / what it covers:
Stub/TODO lifecycle enforcement — fires at stub creation time AND at completion gate; stubs require forward-linking comments and follow-up tasks before moving on
What Triggers This Rule:
Mark the task as incomplete (or add mandatory annotation) when ANY of the following exist in code written for this task:
| Pattern | Examples |
|---|---|
| TODO / FIXME comments | # TODO, // TODO, /* FIXME */, -- TODO |
| Stub function bodies | pass, ..., return None # stub, throw new Error("not implemented") |
| NotImplementedError | raise NotImplementedError, todo!() (Rust), unimplemented!() |
| Hardcoded / mock data | FAKE_, MOCK_, TEST_, PLACEHOLDER_, "dummy", "example.com", 12345 as real IDs |
| Hardcoded credentials or keys | Any literal string that looks like a key, token, password, or secret |
| Commented-out real logic | Sections replaced with # real logic goes here or similar |
| Empty except/catch blocks | except: pass, catch (e) {} with no handling |
Bug-Discovery Gate (Zero-Ignore Policy)
g-rl-35-bug-discovery-gate
When it fires / what it covers:
Bug-discovery gate — bugs found during implementation are never silently ignored: current-task bugs fixed inline, pre-existing bugs logged with BUG[BUG-{id}] comment
Exemptions:
Do NOT report as pre-existing bugs:
- Intentional placeholder values (test fixtures, examples with clearly fake data)
- Linter warnings already tracked as tech debt in BUGS.md
- Cosmetic issues (formatting, whitespace, naming) unless they cause incorrect behavior
Think in Code — Context Reduction Pattern (g-rl-37)
g-rl-37-think-in-code
When it fires / what it covers:
When a task requires 3 or more sequential reads, greps, or status checks on the same or related files, write a single script instead of making multiple tool cal
Exemptions:
Do NOT collapse to a script when:
- The second tool call depends on runtime output of the first (dynamic path resolution)
- You need an IDE diff/edit tool (not a script)
- The task is a single-file edit (script overhead not worth it)
Component Creation Standards (g-rl-38)
g-rl-38-component-creation-standards
When it fires / what it covers:
Component creation standards — subsystem tagging required on all .gald3r_sys components
Norse Pantheon Startup Team Personality System (MANDATORY)
gald3r_personality
When it fires / what it covers:
MANDATORY Norse Pantheon startup team personas for all responses
Last updated: 2026-07-06 (gald3r v2.4.0)
