2.3 KiB
2.3 KiB
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.mddocs/ARCHITECTURE.mddocs/DATA_MODEL.mddocs/TASKS.mddocs/OPEN_QUESTIONS.md
Use these documents as the project references:
docs/PRODUCT.mdis the source of truth for product requirements.docs/ARCHITECTURE.mdis the reference for architecture decisions.docs/DATA_MODEL.mdis the reference for data models.docs/TASKS.mdis the reference for implementation phases and tasks.docs/OPEN_QUESTIONS.mdcontains 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.mdon your own. - Do not automatically move to a new phase in
docs/TASKS.mdunless explicitly asked. - Update
docs/TASKS.mdwhen 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.