diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 00000000..e458d549 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,41 @@ +# Agent Guidelines for @semantic-release/gitlab + +## Commands + +- **Test**: `npm test` or `npm run test` +- **Lint**: `npm run lint` +- **Fix linting**: `npm run lint:fix` +- **Coverage**: Tests include coverage reporting via c8 + +## Code Style + +- **Node.js Version**: 20.8.1+ +- **Module type**: ES modules (`"type": "module"`) +- **Formatting**: Prettier with 120 character line width and ES5 trailing commas +- **Testing**: AVA test framework +- **Coverage**: c8 for code coverage + +## Development Guidelines + +- **Perform minimal changes**: Focus on the specific issue and make the smallest possible changes +- **Focus on reviewers**: Write clear, understandable code that is easy to review +- **Use semantic commits**: Follow conventional commit format (e.g., `feat:`, `fix:`, `docs:`, `test:`) +- **Run tests and formatting before committing**: Always run `npm test` and `npm run lint` before making commits + +## Project Structure + +- `lib/` - Core library modules +- `test/` - Test files (using AVA) +- `index.js` - Main entry point +- Configuration files support semantic-release conventions + +## Testing Requirements + +- All changes must maintain or improve test coverage +- Tests use nock for HTTP mocking +- Integration tests verify GitLab API interactions +- Run `npm test` to execute the full test suite + +## Semantic Release Integration + +This is a semantic-release plugin, so changes should follow semantic versioning principles and conventional commit formats for automated releases.