Contributing
Use this repository workflow when you change the tinx CLI, provider packaging logic, or the docs site.
Writing style
When you update docs:
- prefer concepts before commands
- keep layers clear: workspace, provider, runtime
- explain why first, how second
- keep the mental model consistent across pages
Prerequisites
- Go 1.24+
- Node.js and npm for the docs site
Common commands
make build
make test
make release-example
make install-example
make run-example
For the docs site:
cd website
npm install
npm run docs:start
npm run docs:build
Repository layout
cmd/tinx: tinx entrypointinternal/cmd: Cobra command definitionsinternal/workspace: workspace manifests, sync, and shell filesinternal/oci: OCI packaging and installationinternal/runtime: shell and command executioninternal/state: tinx home statewebsite/docs/: Docusaurus source docstestdata/echo-provider: example provider fixture
Updating documentation
When the CLI or runtime behavior changes:
- update the affected doc pages under
website/docs/ - update
website/sidebars.jsif navigation changes - update
README.mdif the landing flow changes - re-run
tinx --helpand subcommand help for CLI reference pages - build the docs site before opening a PR
If you are adding a new concept page, make sure it maps cleanly to one of:
- workspace
- provider
- runtime
Testing changes
Run the existing Go tests and the Docusaurus build before you send a change for review.
If you touch provider packaging or workspace execution, also run the example provider flow:
make e2e-local