TypeChain is private while its initial contracts are established. GitHub Free cannot enforce Rulesets or branch protection for this private repository, so maintainers must manually enforce the workflow below. The repository will become public only after the implementation and npm release-readiness criteria in docs/release.md are satisfied and GitHub rulesets can be restored and verified.
- Open a focused GitHub Issue before changing product code, public API, package metadata, CI, or policy documentation.
- Branch from
devas<type>/<issue-number>-<short-description>. - Use test-first development for behavior changes.
- Open one focused PR to
devwithCloses #<issue-number>. - Run
npm run verify,npm run verify:publish, andgit diff --checkbefore requesting review. - Merge only after CI, resolved review threads, and independent review of the exact current head.
- Do not direct-push or merge
dev/main. A maintainer must manually confirm the issue scope, exact PR HEAD, green CI, resolved threads, and independent review before merging. - Promote
devtomainonly through a dedicated release PR.
- Public tools require explicit runtime schemas; TypeScript parameter types are not schemas.
- Do not use
any,@ts-ignore, unsafe type assertions, or implicit external side effects. - Preserve LangChain runtime context, streaming, commands, and error semantics.
- State-changing tools need documented authorization, approval, idempotency, retry, and audit behavior.
- Legacy decorators or reflection metadata require an explicit compatibility decision and regression tests.
npm ci
npm run verify
npm run verify:publishverify:publish checks the tarball shape but does not authorize publishing. The prepublishOnly hook blocks releases until the approved release process is complete.