Contributing
Help improve the bindings, the compiler client, or the next person’s first run.
Build the repository
Install dependencies, run the tests, and preview the docs.
Local setup → Change a mappingWork on the generator
Follow the pipeline and prove changes with a small declaration fixture.
Generator workflow → Maintain the sourcesRegenerate artifacts
Refresh compiler layers, standard libraries, and the schema.
Regeneration guide → Understand the clientExplore TypeScript.Wire
Learn the compiler sessions and typed AST used by the generator.
Wire documentation →Report a problem
Include:
- Your Xantham version, npm package version, and platform.
- The command and
xantham.jsonused. - The smallest TypeScript declaration that reproduces the problem.
- The diagnostic or finding code and the F# shape you expected.
For a runtime issue, include the Fable version and a small JavaScript/F# example. For a Wire process failure, include its stderr diagnostics.
Improve the docs
The website's pages live under site/content/; shared styles live under site/css/. Keep consumer instructions task-focused, with runnable examples. Contributor procedures belong in this DEV section.
Preview changes in light and dark mode and at a narrow window width. Check links, code blocks, and any cards you add.
Submit a change
Keep the change focused and explain the behavior it improves. For generator changes, include the small fixture, regenerated output, and relevant findings. Run the full test pipeline before submitting.
Read the repository's AGENTS.md and applicable .claude/rules/ files for current project conventions.