Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ### Project Awareness & Context
- - **Read `PRD.md` first** to confirm the problem, target users, success metrics, and in-/out-of-scope items.
- - **Then read `PLANNING.md`** to understand the architecture, coding standards, and other technical constraints.
- - **Consult `UIUX.md`** for the visual language, component specs, and interaction patterns **before working on anything that surfaces in the UI**.
- - **Check `TASK.md`** before starting a new task. If the task isn’t listed, add it with a brief description and today’s date.
- - **Use consistent naming conventions, file structure, and architecture patterns** as described in `PLANNING.md`.
- ### Code Structure & Modularity
- - **Never create a file longer than 500 lines of code.** If a file approaches this limit, refactor by splitting it into modules or helper files.
- - **Organize code into clearly separated modules**, grouped by feature or responsibility.
- - **Use clear, consistent imports** (prefer relative imports within packages).
- ### Testing & Reliability
- - **Always create Pytest unit tests for new features** (functions, classes, routes, etc).
- - **After updating any logic**, check whether existing unit tests need to be updated. If so, do it.
- - **Tests should live in a `/tests` folder** mirroring the main app structure.
- - Include at least:
- - 1 test for expected use
- - 1 edge case
- - 1 failure case
- ### Task Completion
- - **Mark completed tasks in `TASK.md`** immediately after finishing them.
- - Add new sub-tasks or TODOs discovered during development to `TASK.md` under a “Discovered During Work” section.
- ### Style & Conventions
- - **Use Python** as the primary language.
- - **Follow PEP8**, use type hints, and format with `black`.
- - **Use `pydantic` for data validation**.
- - Use `FastAPI` for APIs and `SQLAlchemy` or `SQLModel` for ORM if applicable.
- - Write **docstrings for every function** using the Google style:
- ```python
- def example():
- """
- Brief summary.
- Args:
- param1 (type): Description.
- Returns:
- type: Description.
- """
- ### Documentation & Explainability
- - **Update `README.md`** when new features are added, dependencies change, or setup steps are modified.
- - **Comment non-obvious code** and ensure everything is understandable to a mid-level developer.
- - When writing complex logic, **add an inline `# Reason:` comment** explaining the why, not just the what.
- ### AI Behavior Rules
- - **Never assume missing context. Ask questions if uncertain.**
- - **Never hallucinate libraries or functions** – only use known, verified Python packages.
- - **Always confirm file paths and module names** exist before referencing them in code or tests.
- - **Never delete or overwrite existing code** unless explicitly instructed to or if part of a task from `TASK.md`.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement