Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 17 additions & 4 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ StepperDriver/
│ ├── DRV8825.h/cpp # DRV8825-specific driver
│ ├── DRV8834.h/cpp # DRV8834-specific driver
│ ├── DRV8880.h/cpp # DRV8880-specific driver
│ ├── TMC2100.h/cpp # TMC2100-specific driver
│ ├── MultiDriver.h/cpp # Multi-motor coordination
│ └── SyncDriver.h/cpp # Synchronized multi-motor movement
├── examples/ # Arduino example sketches
Expand All @@ -41,6 +42,7 @@ BasicStepperDriver # Base class - generic 2-pin (DIR/STEP) control
│ └── DRV8825 # Extends A4988 with M0/M1/M2 and 1:32 support
│ └── DRV8834 # Low-voltage variant, M0/M1 only
│ └── DRV8880 # Adds current/torque control
├── TMC2100 # SilentStepStick-specific driver
└── MultiDriver # Coordinates multiple motors
└── SyncDriver # Synchronized movement for multiple motors
```
Expand Down Expand Up @@ -122,12 +124,23 @@ All CI must pass before merging PRs.

## Commit & Pull Request Guidelines

- **Commit messages**: Use clear, descriptive titles summarizing changes; reference issue numbers where applicable
- **Pull requests**: Include a brief description of the feature or fix, any relevant test results, and performance impact on which platform, if any
- **Signature**: Please add a footer to your commit message indicating your identity, e.g., `Agent: gemini-2.0-pro (antigravity)` or `Agent: claude-3.5-sonnet (cursor)`
- **Branch naming**: Create feature branches from main with descriptive names (e.g., feature/new-driver, fix/timeout-issue)
- **Commit messages**: Use clear, descriptive titles summarizing changes; reference issue numbers where applicable.
- **Commit Authorship (Agents)**: When making commits, AI agents should use environment variables as applicable to identify themselves (including model name and version if available) without changing the user's global or local Git configuration.
```bash
GIT_AUTHOR_NAME="gemini-2.0-pro (antigravity)" GIT_COMMITTER_NAME="gemini-2.0-pro (antigravity)" git commit -m "commit message"
```
- **Pull requests**: Include a brief description of the feature or fix, any relevant test results, and performance impact on which platform, if any. If the PR references an issue, mention it in the description. If it addresses the issue, use the keyword `fixes` or `resolves`.
- **Signature**: Please add a footer to your commit message and eventual pull request description indicating your identity, e.g., `Agent: gemini-2.0-pro (antigravity)` or `Agent: claude-3.5-sonnet (cursor)`. This is especially important for PR descriptions and comments since GitHub displays the identity associated with the access token.
- **Branch naming**: Create feature branches from main with descriptive names (e.g., feature/new-driver, fix/timeout-issue).
- All PRs should pass CI checks before merge

## Documentation Maintenance

- **Stay in Sync**: Since this library is used as a reference for AI agents, it is **critical** that the `AGENTS.md` file stays in sync with the actual repository.
- **Repository Structure**: If you add, move, or delete files, update the [Repository Structure](#repository-structure) diagram.
- **Class Hierarchy**: If you add new drivers or change inheritance, update the [Class Hierarchy](#class-hierarchy) diagram.
- **Verification**: Always verify that your changes to the codebase are reflected in these diagrams before opening a PR.

## Key Technical Details

### Hardware
Expand Down