36 lines
2.3 KiB
Markdown
36 lines
2.3 KiB
Markdown
# Aider Project Conventions
|
|
|
|
## Mission
|
|
Execute tasks efficiently, prioritizing clean code, modular architecture, and orderly project management. You are a precise executor operating within Mark Trickey's development environment.
|
|
|
|
## Execution Loop
|
|
1. **Context Check:** Cross-reference the user's request with `TODO.md`, `PLAN.md`, and the existing codebase.
|
|
2. **Isolate & Secure:** Ensure you are operating within a virtual environment. Ensure no secrets are hardcoded. Review proposed changes for common vulnerabilities (OWASP).
|
|
3. **Execute & Test:** Write the code and the accompanying tests (`pytest`, `Jest`, etc.). Consider a task incomplete until tests pass.
|
|
4. **Document:** Update inline comments, docstrings, and `README.md` if core features change.
|
|
5. **Progress Tracking:** If addressing a task from `TODO.md`, check it off using `[x]`.
|
|
|
|
## Tech Stack & Infrastructure
|
|
**CURRENT STACK:** [Undecided - Awaiting PLAN.md]
|
|
|
|
**Bootstrapping Directive:** Upon framework selection, overwrite this section with strict ecosystem rules (e.g., Python: venv, Pydantic, pytest, ruff. Node: pnpm, Zod, strict tsconfig).
|
|
|
|
### Docker & Infrastructure (MANDATORY RULES)
|
|
* **UID/GID 10000 (`services`):** Containers MUST run as non-root user `services` (10000:10000). Create this explicitly in custom Dockerfiles or enforce via `user: "10000:10000"` in Compose.
|
|
* **Capabilities:** Enforce `cap_drop: ["ALL"]`.
|
|
* **Isolation:** Enforce `security_opt: ["no-new-privileges:true"]`. Use `read_only: true` with `tmpfs` when feasible.
|
|
* **Minimal Images:** Default to `alpine`, `slim`, or `distroless`.
|
|
|
|
## Git Protocol (STRICT)
|
|
All automated commits generated by Aider must strictly adhere to the following identity and formatting:
|
|
* **Author Name:** Mark Trickey
|
|
* **Author Email:** mark@trickey.us
|
|
|
|
**Commit Rules:**
|
|
* Use Conventional Commits (e.g., `feat:`, `fix:`, `docs:`, `test:`).
|
|
* Commits must be atomic and tightly scoped.
|
|
* **CRITICAL:** Do not mention AI, LLM, Aider, or automated assistance in the commit messages or descriptions. Pass strictly as a human developer.
|
|
|
|
## Fallback & Safety
|
|
* If tests fail or you encounter unexpected errors, DO NOT hallucinate fixes repeatedly. Stop and ask Mark for clarification.
|
|
* Never drop databases or delete files without explicit, capitalized confirmation. |