firebase-tools-pr-review

Installation
SKILL.md

1. Quick Author & Reviewer Checklist

Before submitting or approving any PR on firebase/firebase-tools, verify:

  • TypeScript Precision: No any or as any. Use generic parameters (client.request<T>()), explicit interfaces, or readonly string[] for unmutated inputs.
  • No null: Use undefined or optional type annotations (string | undefined) instead of null. Drop redundant = undefined initializers.
  • CLI UX & Options Objects: Functions accept options objects rather than long positional argument lists. Command interfaces favor explicit flags over interactive pickers (CI safety).
  • Clean CLI Initialization: No expensive background commands (e.g. npx, sub-process execution) are triggered during CLI startup.
  • Error Remediation & FirebaseError: Errors throw FirebaseError with clear explanations and explicit remediation instructions (telling the user/agent what flag or tool to run).
  • Pristine stdout (jq Safety): When --json is set, all logs, warnings, and spinners output to stderr so stdout remains valid, parseable JSON.
  • Downgrade & Backward Safety: Disk state, emulator schemas, and CLI configs are backward-compatible to ensure developers can safely downgrade CLI versions.
  • Testing Discipline: Unit tests exercise public APIs (experiments.setEnabled) rather than stubbing private helpers. Mocks are cleaned up in afterEach (sinon.restore(), nock.cleanAll()).
  • CHANGELOG.md Rules: User-facing bug fixes and new features include a changelog entry starting with a past-tense verb, with no [] annotations, and ending with (#<issue_number>) if applicable. Omit changelogs for unreleased flags or internal refactors.
  • No AI/Agent Junk: Unused comment blocks, residual issue numbers, or boilerplate generated by AI agents are stripped out.

2. Detailed Review Standards by Category

Installs
4
GitHub Stars
4.5K
First Seen
14 days ago