Development guidelines and best practices for contributing to Repomix, a repository content aggregation tool. Covers build commands, code style, testing, and workflow.
This skill provides development guidelines and best practices for working on the Repomix project, a repository content aggregation tool. Use this when contributing to Repomix or setting up a similar TypeScript CLI project.
When working on Repomix, use these npm scripts:
Follow these conventions when writing code:
**Formatting**
**Import Statements**
**TypeScript Practices**
**Error Handling**
**Dependency Injection**
**File Organization**
**Testing with Vitest**
Before committing:
1. Run the validation suite:
```bash
npm run lint && npm test
```
2. Write detailed commit messages that explain:
- **Why** the change was made (not just what changed)
- Context that helps reviewers understand the motivation
- Any relevant issue numbers or references
When starting work on a new feature:
1. Set up your development environment:
```bash
npm install
npm run build
```
2. Make your changes following the style guidelines above
3. Write tests for new functionality:
```typescript
// userService.test.ts
import { describe, it, expect, vi } from 'vitest';
import { UserService } from './userService.js';
describe('UserService', () => {
it('should process user data correctly', () => {
// Arrange
const mockDeps = { logger: vi.fn() };
const service = new UserService(mockDeps);
// Act
const result = service.processUser({ name: 'Alice' });
// Assert
expect(result.isValid).toBe(true);
});
});
```
4. Validate your changes:
```bash
npm run lint
npm test
```
5. Commit with a descriptive message:
```bash
git commit -m "Add user validation to prevent empty names
Users were able to create accounts with empty names, causing
downstream errors in the reporting system. This adds validation
at the service layer to reject empty or whitespace-only names.
Fixes #123"
```
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/repomix-development-guide/raw