check-qa

Quality code review enforcing Deno standards and project conventions

covoiturage-gouv-fr/mono1 installsApache-2.0Synced Aug 26

Works with

Claude CodeCursorCodex CLIGitHub CopilotGemini CLI
---
name: check-qa
description: Quality code review enforcing Deno standards and project conventions
license: Apache-2.0
---

# Quality Assurance Code Review

Review code for quality, consistency with project conventions, and Deno best practices.

## Scope

Review changes from: `!git diff --name-only HEAD~1` or files specified in $ARGUMENTS

## Pre-checks

Run automated checks first:
```bash
cd api && deno lint
cd api && deno fmt --check
```

## Quality Checklist

### 1. Code Style & Formatting
- [ ] **Line width**: Max 120 characters (per deno.jsonc)
- [ ] **Import organization**: Use Deno's organize imports (no `../../../` paths, use `@/`)
- [ ] **Consistent naming**: PascalCase for classes/interfaces, camelCase for functions/variables
- [ ] **No unused imports**: Remove dead imports
- [ ] **No commented code**: Remove or document why it's kept

### 2. TypeScript Standards
- [ ] **Explicit types**: Function parameters and return types should be typed
- [ ] **No `any`**: Avoid `any`, use `unknown` or proper types
- [ ] **Interface naming**: Use `Interface` suffix for interfaces
- [ ] **Type imports**: Use `import type` for type-only imports
- [ ] **Null handling**: Prefer `undefined` over `null` unless interfacing with external APIs

### 3. ILOS Framework Conventions
- [ ] **Action structure**: Actions extend `Action` class with proper `handle` method
- [ ] **Handler decorator**: Correct `@handler()` configuration
- [ ] **Service signatures**: Format `service:method` for RPC calls
- [ ] **Repository pattern**: SQL via `sql` template literal, no string concatenation
- [ ] **Dependency injection**: Use Inversify decorators properly

### 4. Error Handling
- [ ] **Specific exceptions**: Use typed exceptions (NotFoundException, etc.)
- [ ] **Error context**: Include relevant context in error messages
- [ ] **Async/await**: Proper try/catch for async operations
- [ ] **No swallowed errors**: All catch blocks either rethrow or log

### 5. Testing
- [ ] **Test coverage**: New logic has corresponding tests
- [ ] **Test naming**: `.unit.spec.ts` or `.integration.spec.ts` suffix
- [ ] **Edge cases**: Tests cover boundary conditions
- [ ] **Test isolation**: Tests don't depend on each other

### 6. Code Organization
- [ ] **Single responsibility**: Functions/classes do one thing
- [ ] **File length**: Files under 300 lines preferred
- [ ] **Function length**: Functions under 50 lines preferred
- [ ] **Nesting depth**: Max 3-4 levels of nesting

### 7. Project Coherence
- [ ] **Existing patterns**: Follow patterns from similar existing code
- [ ] **Shared types**: Use types from `shared/` or define in service contracts
- [ ] **Configuration**: Use `env_or_*` helpers for environment variables
- [ ] **No over-engineering**: Simple solutions preferred (per CLAUDE.md)

### 8. Deno 2.x Best Practices
- [ ] **Import maps**: Use aliases from deno.jsonc
- [ ] **Standard library**: Prefer `jsr:@std/*` packages
- [ ] **Node compatibility**: Use `node:` prefix for Node.js APIs
- [ ] **Permission-aware**: Consider minimal permission requirements

## Output Format

```markdown
## Quality Review Summary

**Quality Score**: [A | B | C | D | F]
**Files Reviewed**: X files
**Lint Issues**: X errors, Y warnings

### Code Issues

#### [SEVERITY] Issue Title
- **File**: path/to/file.ts:line
- **Issue**: What's wrong
- **Standard**: Which convention is violated
- **Fix**: How to correct it

### Style Issues
- Minor formatting or naming issues

### Suggestions
- Non-blocking improvements for code quality

### Approved Changes
- Changes that meet quality standards

### Required Actions
- [ ] Fix all ERROR level issues
- [ ] Address WARNING level issues
- [ ] Run `deno fmt` before commit
```

## Invocation

```
/check-qa                          # Review uncommitted changes
/check-qa src/pdc/services/auth/   # Review specific directory
/check-qa --strict                 # Enable stricter checks
```

More Code Review skills

pr-to-video

heygen-com/hyperframes

Turn a GitHub pull request (a PR URL, owner/repo#N, or 'this PR' in a checked-out repo) into a code-change explainer video — changelog, feature reveal, fix, or refactor walkthrough built from the diff, commits, and files: the input is a code change, not a website. Not a product promo (/product-launch-video) or a no-PR topic explainer (/faceless-explainer). Unclear → /hyperframes.

178.9k

receiving-code-review

obra/superpowers

Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation

178.0k

public-relations

coreyhaines31/marketingskills

When the user wants help with public relations, earned media, press coverage, journalist outreach, or media strategy (not pull requests). Also use when the user mentions 'PR,' 'public relations,' 'press,' 'press release,' 'press coverage,' 'media outreach,' 'pitch a journalist,' 'get featured,' 'media list,' 'media kit,' 'press kit,' 'newsjacking,' 'news hijack,' 'HARO,' 'Qwoted,' 'Featured,' 'Help A Reporter,' 'reporter request,' 'tech press,' 'TechCrunch,' 'earned media,' 'thought leadership placement,' 'op-ed,' 'guest article,' 'press contacts,' 'podcast prep,' 'going on a podcast,' 'podcast guest,' 'prep me for this podcast,' or 'how do I get press.' Use this for earned media work — finding journalists, pitching stories, newsjacking, prepping podcast appearances, and responding to press requests. For startup/SaaS/AI directory submissions, see directory-submissions. For product launches, see launch. For social-media engagement, see social. For cold-email outreach to prospects, see cold-email.

33.1k

← All Code Review skills

Check your AI visibility

One URL in, a 0–100 score and the exact fixes out.

RUN THE CHECK

Browse all the tools

15 tools across six categories
13 of them never send your data anywhere

Free · No signup · No trial clock

SEE THE DIRECTORY