Thank you for your interest in contributing to resume-cli! This document provides guidelines and instructions for contributing.
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/<your-username>/histd.git cd resume-cli
- Create a branch for your change:
git checkout -b my-feature
- Node.js 18 or later
# Install dependencies
npm install
# Build
npm run build
# Run all tests
npm test
# Type-check (lint)
npm run lintAll of these checks run in CI on every push and pull request.
- Follow standard TypeScript conventions
- Run
npm run lintbefore committing — CI will reject type errors - Add or update tests for any changed functionality
- Use clear, descriptive commit messages
- Start with a short summary line (50 characters or fewer)
- Use the imperative mood ("Add feature" not "Added feature")
histd is designed to be extended with parsers for additional AI tools. To add support for a new tool:
- Create a new file in
src/parser/(e.g.newtool.ts) - Implement the
HistoryParserinterface:import { HistoryParser, Session } from './types'; export class NewToolParser implements HistoryParser { canHandle(filePath: string): boolean { ... } async parse(filePath: string): Promise<Session[]> { ... } }
- Register your parser in
src/watcher.ts - Add corresponding tests in
src/parser/newtool.test.ts - Update the README's "Supported Tools" table
- Push your branch to your fork
- Open a pull request against the
mainbranch - Describe your changes clearly in the PR description
- Ensure CI passes — the pipeline runs build, tests, and type-checking
- Use the GitHub issue tracker
- Check existing issues before creating a new one
- Include reproduction steps, expected behaviour, and actual behaviour
- For bugs, include your OS and Node.js version
By contributing to resume-cli, you agree that your contributions will be licensed under the MIT License.