Project
Contribute to c15t
Open an issue first
Search the issues and pull requests before you start, then open an issue for your change.
New features, large refactors and architecture changes carry the
needs-approval label. Wait for a maintainer to remove it before you write
code. Bug fixes, documentation, performance improvements, security fixes and
tests can start right away.
Set up the repository
The repository uses Bun 1.3.11. Fork it and create your branch from canary,
the default branch that pull requests target:
bun install also installs a Lefthook pre-commit hook that formats staged
files with Oxfmt.
Run the checks
Tests run with Vitest, not bun test. Browser tests for React, Next.js and
TanStack Start need Chromium: run bunx playwright@1.58.2 install once.
bun run test:full runs every package. For documentation changes, run
bun run lint:docs and bun run fmt:docs.
Add or update tests with your change. For a bug fix, add a test that fails without the fix.
Open the pull request
Target canary. Fill in the pull request template, link the issue and add
screenshots for UI changes. Write commit messages as
Conventional Commits: feat:, fix:,
docs:, chore:, refactor: or test:.
CI picks its checks from the files you changed: package builds, tests, type checks, linting, docs generation and, for runtime changes, browser and bundle checks. autofix.ci pushes formatting fixes to your branch, so pull before you add more commits.
Add a release note
Changes to published packages need a .tegami/*.md release note. Run
RELEASE_BRANCH=v3 bun run tegami, replacing v3 with your pull request's
target branch. Give explicit package bumps and a Markdown heading, and write
the body as the changelog entry:
Do not edit package CHANGELOG.md files or the publish lock; Tegami generates
them. The release.yml workflow runs CI, and Tegami opens a version pull
request. Merging it publishes the packages and creates GitHub releases. main
publishes stable releases, v3 publishes alphas and 2.0.0 publishes release
candidates. Pushes to canary publish commit-specific snapshots under the
canary npm tag without a version pull request. The
release guide covers
versioning rules and npm trusted publishing.
Edit the documentation
Edit the MDX source in docs/. Package README.md files, the docs/ folders
inside packages and their AGENTS.md files are generated; change
docs/**/*.mdx or the package's readme.json instead.
License
By contributing, you agree that your contributions are licensed under the Apache License, Version 2.0, the license c15t uses.