69 lines
2.3 KiB
Markdown
69 lines
2.3 KiB
Markdown
# Agent Guide
|
|
|
|
This file is the permanent operating guide for any coding agent working on this
|
|
project.
|
|
|
|
## Project Scope
|
|
|
|
- This project is a native macOS application.
|
|
- The minimum deployment target is macOS 14.0.
|
|
- Use Swift and SwiftUI according to the architecture documented for this
|
|
project.
|
|
- Do not invent undocumented features or requirements.
|
|
- Any substantial change to the architecture or product scope must be documented
|
|
before implementation.
|
|
|
|
## Required Reading
|
|
|
|
Before making significant changes, read:
|
|
|
|
- `docs/PRODUCT.md`
|
|
- `docs/ARCHITECTURE.md`
|
|
- `docs/DATA_MODEL.md`
|
|
- `docs/TASKS.md`
|
|
- `docs/OPEN_QUESTIONS.md`
|
|
|
|
Use these documents as the project references:
|
|
|
|
- `docs/PRODUCT.md` is the source of truth for product requirements.
|
|
- `docs/ARCHITECTURE.md` is the reference for architecture decisions.
|
|
- `docs/DATA_MODEL.md` is the reference for data models.
|
|
- `docs/TASKS.md` is the reference for implementation phases and tasks.
|
|
- `docs/OPEN_QUESTIONS.md` contains decisions that are not resolved yet.
|
|
|
|
## Decision Rules
|
|
|
|
- If documents conflict, do not guess. State the conflict before making a
|
|
decision.
|
|
- Do not decide anything listed in `docs/OPEN_QUESTIONS.md` on your own.
|
|
- Do not automatically move to a new phase in `docs/TASKS.md` unless explicitly
|
|
asked.
|
|
- Update `docs/TASKS.md` when tasks are completed.
|
|
- Preserve version history and the Song Project concept as documented.
|
|
|
|
## Code Standards
|
|
|
|
- Write organized code that is maintainable and extensible.
|
|
- Keep clear separation between UI, Models, Services, Persistence, and
|
|
Integrations.
|
|
- Keep OpenAI, instrument catalog/selector, and Suno integrations separated from
|
|
UI logic as much as possible.
|
|
- In the current scope, Suno handoff fills the fields only and does not press
|
|
Generate.
|
|
- Do not modify files outside the task scope without a clear reason.
|
|
- Do not perform a broad refactor while implementing a small task unless it is
|
|
explicitly required.
|
|
|
|
## Secrets And Configuration
|
|
|
|
- Do not place API keys, tokens, or secrets in source code or Git.
|
|
- Read secrets only from secure environment or configuration mechanisms.
|
|
- Do not log secrets.
|
|
|
|
## Verification
|
|
|
|
- Run a build after code changes.
|
|
- Run relevant tests when they are available.
|
|
- Do not consider a task complete if the project fails to build because of new
|
|
changes.
|