|
| 1 | +# Agent Guidelines for @semantic-release/gitlab |
| 2 | + |
| 3 | +## Commands |
| 4 | + |
| 5 | +- **Test**: `npm test` or `npm run test` |
| 6 | +- **Lint**: `npm run lint` |
| 7 | +- **Fix linting**: `npm run lint:fix` |
| 8 | +- **Coverage**: Tests include coverage reporting via c8 |
| 9 | + |
| 10 | +## Code Style |
| 11 | + |
| 12 | +- **Node.js Version**: 20.8.1+ |
| 13 | +- **Module type**: ES modules (`"type": "module"`) |
| 14 | +- **Formatting**: Prettier with 120 character line width and ES5 trailing commas |
| 15 | +- **Testing**: AVA test framework |
| 16 | +- **Coverage**: c8 for code coverage |
| 17 | + |
| 18 | +## Development Guidelines |
| 19 | + |
| 20 | +- **Perform minimal changes**: Focus on the specific issue and make the smallest possible changes |
| 21 | +- **Focus on reviewers**: Write clear, understandable code that is easy to review |
| 22 | +- **Use semantic commits**: Follow conventional commit format (e.g., `feat:`, `fix:`, `docs:`, `test:`) |
| 23 | +- **Run tests and formatting before committing**: Always run `npm test` and `npm run lint` before making commits |
| 24 | + |
| 25 | +## Project Structure |
| 26 | + |
| 27 | +- `lib/` - Core library modules |
| 28 | +- `test/` - Test files (using AVA) |
| 29 | +- `index.js` - Main entry point |
| 30 | +- Configuration files support semantic-release conventions |
| 31 | + |
| 32 | +## Testing Requirements |
| 33 | + |
| 34 | +- All changes must maintain or improve test coverage |
| 35 | +- Tests use nock for HTTP mocking |
| 36 | +- Integration tests verify GitLab API interactions |
| 37 | +- Run `npm test` to execute the full test suite |
| 38 | + |
| 39 | +## Semantic Release Integration |
| 40 | + |
| 41 | +This is a semantic-release plugin, so changes should follow semantic versioning principles and conventional commit formats for automated releases. |
0 commit comments