Skip to content

Latest commit

 

History

History
69 lines (51 loc) · 2.64 KB

File metadata and controls

69 lines (51 loc) · 2.64 KB

Contributing to auto-reasoning

Thanks for your interest in improving auto-reasoning! This project is small, dependency-free, and easy to hack on. Contributions of all kinds are welcome — bug reports, docs, tests, new adapters, and classifier/policy improvements.

Getting started

git clone https://github.com/luckeyfaraday/auto-reasoning.git
cd auto-reasoning
npm install
npm run verify   # build + run the test suite

Requirements: Node.js ≥ 18 (CI runs on 18, 20, and 22).

Project layout

Path Purpose
src/core/ Classifier, policy, effort ladder, harness, verifiers, shared types.
src/adapters/ Execution adapters (dry-run, codex-cli, openai-responses).
src/cli/ The auto-reasoning CLI entry point.
config/ Default policy JSON.
docs/ Policy JSON Schema.
skills/ Optional Codex/agent skill.
test/ Node built-in test runner suites (*.test.mjs).

Development workflow

  1. Create a branch from main: git checkout -b feat/short-description.
  2. Make your change. Keep the code strict TypeScript and zero runtime dependencies.
  3. Add or update tests under test/.
  4. Run the checks locally:
    npm run typecheck
    npm run build
    npm test
  5. Open a pull request against main and fill in the template.

Guidelines

  • Match the surrounding style — naming, formatting, and idioms already in the file.
  • Keep the core boundary intact: the router may change only reasoning effort, never the model. New adapters must treat the model as fixed configuration.
  • No runtime dependencies in the published package. Dev-only tooling is fine.
  • Cover new behavior with tests. Use the Node built-in test runner (node:test, node:assert).
  • Update docs (README.md, docs/, skills/) when behavior or flags change.
  • Keep commits focused and write clear commit messages.

Adding an adapter

Implement the RunnerAdapter interface ({ name: string; run(input): Promise<RunnerResult> }) from src/core/types.ts, place it under src/adapters/, and re-export it from src/index.ts. Add a unit test and a short note in the README's Adapters table.

Reporting bugs & requesting features

Use the issue templates. For security issues, please follow SECURITY.md instead of opening a public issue.

Code of Conduct

By participating, you agree to abide by our Code of Conduct.

License

By contributing, you agree that your contributions will be licensed under the MIT License.