ts-mono Contribution Skill
Canonical repository: https://github.com/meridianlabs-ai/ts-mono
Read the shared contribution protocol
and this project's bootstrap report before
selecting an issue, changing code, or opening a contribution.
Use the project learning log with the shared
continuous learning loop after PR
outcomes or periodic project scans.
Use the queue policy before a scheduled or manual
sweep and replenish run.
Bootstrap status
Analyzed from repository sources at main commit f40235c9 on 2026-09-04.
Refresh live contribution policy, PR overlap, required checks, and fork state
before every sweep. See the bootstrap report for sources, inferences, and
remaining live-GitHub unknowns.
Repository-specific contribution contract
- Canonical upstream is
meridianlabs-ai/ts-mono; default branch is main.
Confirm contributor identity, fork remote, branch protection, and required
checks from live GitHub before publishing.
- No DCO, CLA, or cryptographic commit-signing requirement is stated in the
repository. Do not confuse maintainer approval for new lint suppressions with
DCO sign-off. Recheck policy before history changes.
- Search issues and PRs before coding. For non-trivial work, open an issue and
agree direction first; coordinate changes that affect parent-repository
submodule integration.
- Use Node
>=22.13.0, Corepack, pnpm 11.22.0, and root Turbo scripts. Never
substitute npm or yarn.
- Before a push, run
pnpm check; run pnpm test for code changes. Use
pnpm lint, pnpm typecheck, pnpm format:check,
pnpm suppressions:check, pnpm build, and the relevant pnpm e2e lane
when the changed boundary requires them.
- Scope commands through root scripts, for example
pnpm test --filter=@meridianlabs/log-viewer or
pnpm dev --filter=scout.
- Fix lint and type errors instead of suppressing them. Any necessary new
suppression requires a reason, a
suppressions.json update, and maintainer
approval.
- Preserve strict TypeScript boundaries: normalize parsed eval data in
@tsmono/inspect-common/normalize, use @tsmono/util barrel imports, use
shared React hooks instead of raw useEffect, and avoid unsafe casts.
- Regenerate and commit
src/types/generated.ts when an upstream OpenAPI
contract changes. Do not commit generated CSS module declarations, dist/,
or lib/.
- For UI changes, include before/after screenshots in light and dark themes.
Disclose AI tooling and summarize agent-review findings in the PR body.
- The stable CI lanes are lint, suppressions, typecheck, format, build, test,
and the
e2e fan-in. Shared-package changes can require both inspect and
scout Playwright suites.
Trigger phrases
- bootstrap ts-mono
- contribute to ts-mono
- sweep ts-mono
1---2name: ts-mono3description: Evidence-backed contribution workflow for https://github.com/meridianlabs-ai/ts-mono.4---56# ts-mono Contribution Skill78Canonical repository: https://github.com/meridianlabs-ai/ts-mono910Read [the shared contribution protocol](../../references/contribution-quality.md)11and [this project's bootstrap report](references/bootstrap-report.md) before12selecting an issue, changing code, or opening a contribution.13Use [the project learning log](references/learning-log.md) with the shared14[continuous learning loop](../../references/continuous-learning.md) after PR15outcomes or periodic project scans.16Use [the queue policy](references/queue-policy.md) before a scheduled or manual17sweep and replenish run.1819## Bootstrap status2021Analyzed from repository sources at `main` commit `f40235c9` on 2026-09-04.22Refresh live contribution policy, PR overlap, required checks, and fork state23before every sweep. See the bootstrap report for sources, inferences, and24remaining live-GitHub unknowns.2526## Repository-specific contribution contract2728- Canonical upstream is `meridianlabs-ai/ts-mono`; default branch is `main`.29 Confirm contributor identity, fork remote, branch protection, and required30 checks from live GitHub before publishing.31- No DCO, CLA, or cryptographic commit-signing requirement is stated in the32 repository. Do not confuse maintainer approval for new lint suppressions with33 DCO sign-off. Recheck policy before history changes.34- Search issues and PRs before coding. For non-trivial work, open an issue and35 agree direction first; coordinate changes that affect parent-repository36 submodule integration.37- Use Node `>=22.13.0`, Corepack, pnpm `11.22.0`, and root Turbo scripts. Never38 substitute npm or yarn.39- Before a push, run `pnpm check`; run `pnpm test` for code changes. Use40 `pnpm lint`, `pnpm typecheck`, `pnpm format:check`,41 `pnpm suppressions:check`, `pnpm build`, and the relevant `pnpm e2e` lane42 when the changed boundary requires them.43- Scope commands through root scripts, for example44 `pnpm test --filter=@meridianlabs/log-viewer` or45 `pnpm dev --filter=scout`.46- Fix lint and type errors instead of suppressing them. Any necessary new47 suppression requires a reason, a `suppressions.json` update, and maintainer48 approval.49- Preserve strict TypeScript boundaries: normalize parsed eval data in50 `@tsmono/inspect-common/normalize`, use `@tsmono/util` barrel imports, use51 shared React hooks instead of raw `useEffect`, and avoid unsafe casts.52- Regenerate and commit `src/types/generated.ts` when an upstream OpenAPI53 contract changes. Do not commit generated CSS module declarations, `dist/`,54 or `lib/`.55- For UI changes, include before/after screenshots in light and dark themes.56 Disclose AI tooling and summarize agent-review findings in the PR body.57- The stable CI lanes are lint, suppressions, typecheck, format, build, test,58 and the `e2e` fan-in. Shared-package changes can require both inspect and59 scout Playwright suites.6061## Trigger phrases6263- bootstrap ts-mono64- contribute to ts-mono65- sweep ts-mono