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.
git clone https://github.com/luckeyfaraday/auto-reasoning.git
cd auto-reasoning
npm install
npm run verify # build + run the test suiteRequirements: Node.js ≥ 18 (CI runs on 18, 20, and 22).
| 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). |
- Create a branch from
main:git checkout -b feat/short-description. - Make your change. Keep the code strict TypeScript and zero runtime dependencies.
- Add or update tests under
test/. - Run the checks locally:
npm run typecheck npm run build npm test - Open a pull request against
mainand fill in the template.
- 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.
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.
Use the issue templates. For security issues, please follow SECURITY.md instead of opening a public issue.
By participating, you agree to abide by our Code of Conduct.
By contributing, you agree that your contributions will be licensed under the MIT License.