Add agent instructions
This commit is contained in:
parent
63b642a47f
commit
002fde6169
1 changed files with 64 additions and 0 deletions
64
AGENTS.md
Normal file
64
AGENTS.md
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
# Agent Instructions
|
||||
|
||||
## Project Snapshot
|
||||
|
||||
Sapling is a local-first, Git-native Markdown workspace built with Swift Package Manager. The package root is the source of truth; open `Package.swift` in Xcode when a GUI workflow is needed.
|
||||
|
||||
Primary targets:
|
||||
|
||||
- `SaplingApp`: SwiftUI app entry point and composition root.
|
||||
- `SaplingCore`: shared domain models and business rules.
|
||||
- `SaplingWorkspace`: workspace and file tree management.
|
||||
- `SaplingGit`: Git protocols and provider implementations.
|
||||
- `SaplingEditor`: hybrid Markdown editor MVVM surface.
|
||||
- `SaplingRenderer`: Markdown rendering abstractions.
|
||||
- `SaplingStorage`: configuration and metadata persistence.
|
||||
- `SaplingLogging`: logging support.
|
||||
- `SaplingUI`: shared SwiftUI components.
|
||||
|
||||
## Development Commands
|
||||
|
||||
Run commands from the repository root:
|
||||
|
||||
```sh
|
||||
swift build
|
||||
swift test
|
||||
make validate
|
||||
```
|
||||
|
||||
`make validate` runs formatting, linting, build, and tests. Use it before handing off substantial work when time permits.
|
||||
|
||||
Formatting and linting are available through:
|
||||
|
||||
```sh
|
||||
make format
|
||||
make lint
|
||||
```
|
||||
|
||||
## Git Discipline
|
||||
|
||||
- Commit after every significant change unless the user explicitly asks not to commit.
|
||||
- Keep commits focused on one coherent change.
|
||||
- Check `git status --short` before editing and before committing.
|
||||
- Do not include unrelated user changes in a commit.
|
||||
- If the worktree already has changes you did not make, leave them in place and work around them.
|
||||
- Never discard, reset, or overwrite user changes unless the user explicitly asks for that.
|
||||
- Mention any uncommitted unrelated changes in the final handoff.
|
||||
|
||||
## Coding Guidelines
|
||||
|
||||
- Prefer the existing module boundaries and architecture described in `README` and `Docs/Architecture.md`.
|
||||
- Keep changes narrowly scoped to the request.
|
||||
- Use protocol-first seams already present in the codebase rather than adding global state or direct platform dependencies.
|
||||
- Add or update tests when changing domain logic, editor behavior, Git behavior, or storage semantics.
|
||||
- Keep Swift code formatted with the repository scripts.
|
||||
- Avoid unrelated refactors while implementing a feature or fix.
|
||||
|
||||
## Handoff Expectations
|
||||
|
||||
Before finishing:
|
||||
|
||||
- Run the most relevant validation command you can afford for the change.
|
||||
- Report exactly what was changed.
|
||||
- Report which validation commands passed or why they were not run.
|
||||
- If a significant change was made, ensure it is committed and include the commit hash in the handoff.
|
||||
Loading…
Add table
Reference in a new issue