Thanks for helping improve toolschema. PRs and issues are welcome.
- Read README.md for scope and API overview.
- Read AGENTS.md if you use an AI coding agent — it defines hard design rules.
- Search existing issues to avoid duplicate work.
git clone https://github.com/false200/toolschema.git
cd toolschema
uv sync --extra dev --extra fastmcp --extra langchain --extra openai-agents --extra pydantic-ai- Fork the repo and create a branch from
main. - Make focused changes — one feature or fix per PR.
- Add or update tests for behavior you change.
- Run checks before opening a PR:
uv run pytest -v
uv run ruff check src tests
uv run ruff format src tests- If adapter output changes intentionally, update golden snapshots in
tests/snapshots/and explain why in the PR.
- Layer 1 only — schema generation, not agent orchestration.
- No framework imports in core — FastMCP, LangChain, OpenAI SDK belong in
integrations/only. - Single IR — all adapters read from
ToolDefinition; never regenerate schema in an adapter. - MCP defaults —
inline_refs=Truefor Claude Desktop / Copilot compatibility.
Use the pull request template. Keep PRs small and describe:
- What changed
- Why it changed
- How you tested it
Use the issue template. A clear title and short description is enough to get started.
By contributing, you agree that your contributions will be licensed under the MIT License.