2.0 KiB
2.0 KiB
name, description, license
| name | description | license |
|---|---|---|
| ts-style | TypeScript style standards for AIRBot reviewers | MIT |
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.