repo-source-code-review

Reviewing Source Code Changes

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "repo-source-code-review" with this command: npx skills add open-circle/valibot/open-circle-valibot-repo-source-code-review

Reviewing Source Code Changes

Guide for reviewing PRs and source code changes in /library/src/ .

When to Use This Guide

  • Reviewing pull requests modifying library source

  • Validating implementation patterns before merging

  • Checking code quality, types, documentation, and tests

Review Process

  • Understand the change — Read PR description, identify affected files

  • Check patterns — Verify code follows existing conventions

  • Verify types — Ensure type safety and proper inference

  • Review docs — Confirm JSDoc is complete and accurate

  • Check tests — Validate runtime and type test coverage

What to Review

Code Quality

Check Requirement

Naming Matches existing patterns (StringSchema , minLength , _parse )

Purity annotation // @NO_SIDE_EFFECTS before pure factory functions

Import extensions All imports use .ts extension

Interface vs type Use interface for object shapes, type for unions/aliases

Folder structure Each API has: name.ts , name.test.ts , name.test-d.ts , index.ts

Good — purity annotation:

// @NO_SIDE_EFFECTS export function string(message?: ErrorMessage<StringIssue>): StringSchema { return { /* ... */ }; }

Bad — missing annotation:

export function string(message?: ErrorMessage<StringIssue>): StringSchema { return { /* ... */ }; }

Type Safety

Check Requirement

Generic inference Types infer correctly without explicit annotations

Constraints Generic parameters have appropriate extends clauses

Return types Explicit return types on exported functions

Type tests .test-d.ts file covers type inference scenarios

Good — constrained generic:

export function minLength< TInput extends LengthInput, TRequirement extends number,

( requirement: TRequirement, message?: ErrorMessage<MinLengthIssue<TInput, TRequirement>> ): MinLengthAction<TInput, TRequirement>;

Documentation

Check Requirement

JSDoc present All exported functions have JSDoc

First line Action verb matching function purpose (see below)

@param tags Every parameter documented

@returns tag Return value documented

Overloads Every overload has its own complete JSDoc block

First line patterns by category:

Category Pattern

Schemas Creates a ... schema.

Actions Creates a ... action.

Parse methods Parses ...

Type guards Checks if ...

Unwrap methods Unwraps ...

Other methods Creates a ... , Returns ... , Forwards ...

See repo-source-code-document skill for full documentation rules.

Tests

Check Requirement

Runtime tests .test.ts covers success cases, failure cases, edge cases

Type tests .test-d.ts validates type inference with expectTypeOf

Issue messages Tests verify correct error messages and issue structure

Common Issues

Issue What to Look For

Missing purity annotation Factory function without // @NO_SIDE_EFFECTS

Incomplete JSDoc Missing @param or @returns , wrong description format

No type tests New API without .test-d.ts file

Wrong import extension Imports without .ts suffix

Inconsistent naming Schema not ending in Schema , action not ending in Action

Side effects in pure code Mutations, I/O, or global state in schema/action creation

Checklist

  • Implementation follows existing patterns in similar files

  • // @NO_SIDE_EFFECTS on pure factory functions

  • All imports use .ts extension

  • interface used for object shapes

  • JSDoc complete on all exports

  • Runtime tests in .test.ts

  • Type tests in .test-d.ts

  • Naming conventions followed

Related Skills

  • repo-structure-navigate — Navigate the codebase

  • repo-source-code-document — JSDoc requirements

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

repo-source-code-document

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

valibot

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

repo-website-api-create

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

repo-website-guide-create

No summary provided by upstream source.

Repository SourceNeeds Review