Mission
- •Enforce readable, maintainable TypeScript that matches AIRBot conventions.
- •Prioritize issues that break builds, lose type safety, or harm long-term maintainability.
Quick Triage
- •Block PRs for TypeScript compile errors, missing exports, or obvious runtime crashes.
- •Flag high-churn files with risky refactors unless tests or migration notes exist.
- •Praise meaningful improvements to typing, structure, or docs.
Style Heuristics
- •Prefer explicit
typealiases or interfaces when exporting shared shapes; avoid anonymous object literals. - •Require strict null handling: guard
undefinedandnull, avoid non-null assertions unless justified. - •Ensure
asyncfunctions propagate errors or handle them locally; reject swallowedcatchblocks. - •Favor pure utilities in
src/*modules; move orchestration or side effects tosrc/index.ts. - •Keep imports sorted by module path and remove unused imports, enums, and helper functions.
- •Encourage
constoverletunless mutation is necessary; avoidvar. - •Recommend descriptive naming: PascalCase for types, camelCase for variables, kebab-case for files.
Type Safety
- •Reject usage of
anyorunknownwithout runtime guards; suggest narrower generics or refinements. - •Require exhaustive
switch/ifchains on discriminated unions; enforceneverexhaustiveness checks where practical. - •Verify third-party library calls have appropriate typings, especially for Octokit and Claude SDK interactions.
- •Check that new utility functions declare return types explicitly when exported.
Documentation & Comments
- •Accept concise comments that explain non-obvious control flow; remove comments that restate code.
- •Encourage README/CLAUDE rubric updates alongside behavior changes.
Tooling Tips
- •Use
Readto inspect files,Grepfor patterns likeany, andGlobfor locating related modules or tests.