Skip to content

Add TypeScript code review skill and updated findings plans#350

Open
phillipc wants to merge 12 commits intoknockout:mainfrom
Auge19:pc/review_skill_and_demo_plans
Open

Add TypeScript code review skill and updated findings plans#350
phillipc wants to merge 12 commits intoknockout:mainfrom
Auge19:pc/review_skill_and_demo_plans

Conversation

@phillipc
Copy link
Copy Markdown
Member

@phillipc phillipc commented Apr 21, 2026

Summary

Adds the TypeScript code review skill and four rounds of code review findings plans, updated to reflect the current TKO toolchain and review feedback.

Supersedes: #297 (closed draft)

What changed since #297

Files changed

  • skills/typescript-code-review/SKILL.md — code review skill definition
  • skills/typescript-code-review/references/tko-conventions.md — TKO-specific conventions
  • plans/typescript-code-review-findings.md — Round 1 (archived)
  • plans/typescript-code-review-findings-2.md — Round 2 (active backlog + verification status)
  • plans/typescript-code-review-findings-3.md — Round 3 (active backlog)
  • plans/typescript-code-review-findings-4.md — Round 4 (active backlog)
  • tsconfig.json — exclude skills/ directory

Verification

  • bun run tsc — no type errors introduced (plans/skills are .md files)
  • bun run check — lint/format clean
  • All findings cross-checked against current main branch

Summary by CodeRabbit

  • Documentation

    • Added an AI Skills section with a new TypeScript code-review skill, including structured review workflow, output format, and extensive reference & convention guidance.
    • Added multi-round TypeScript review plans (Rounds 1–5) capturing critical/important/suggestion findings, verification checklists, de-duplication rules, and remediation backlogs.
  • Chores

    • Updated TypeScript project configuration to exclude the new documentation and plan directories from compilation.

- Created a TypeScript code review skill document outlining the review process, core categories, and output format.
- Introduced two comprehensive plan for addressing TypeScript code review findings in the TKO monorepo.
- Updated tsconfig.json to exclude new directories for skills and plans.
… round 1, and add new findings for rounds 3 and 4
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 21, 2026

Warning

Rate limit exceeded

@phillipc has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 55 minutes and 9 seconds before requesting another review.

To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 00a9a4a0-f404-415d-b08a-052a2cee9a4c

📥 Commits

Reviewing files that changed from the base of the PR and between bc292d8 and 0118d15.

📒 Files selected for processing (1)
  • plans/typescript-code-review-findings-5.md
📝 Walkthrough

Walkthrough

Added an "AI Skills" section to AGENTS.md and a new typescript-code-review skill with supporting reference docs under skills/. Added multiple TypeScript code-review plan documents (plans/) covering Round 1–5 findings, verification checklists, and deduplication/remediation notes. Updated tsconfig.json to exclude skills and plans from compilation.

Changes

AI Skills & References

Layer / File(s) Summary
Policy / Top-level
AGENTS.md
Adds an "AI Skills" section describing an on-demand skill library under skills/ and references the typescript-code-review skill.
Skill Definition
skills/typescript-code-review/SKILL.md
Defines the typescript-code-review skill: scope, staged review workflow, severity mapping, required Markdown output format, activation conditions, and TKO-specific guidance.
Review Reference
skills/typescript-code-review/references/review-reference.md
Adds a consolidated TypeScript review checklist covering strict tsconfig recommendations, type-safety patterns, error-handling, generics, immutability, testing patterns, and categorized checklists.
TKO Conventions
skills/typescript-code-review/references/tko-conventions.md
Documents monorepo conventions and intentional patterns (factory-function primitives, prototype wiring, allowed import-time side effects), DOM disposal/lifecycle rules, tsconfig expectations, error-handling, testing, and packaging conventions.

Plans / Findings (Rounds 1–5)

Layer / File(s) Summary
Archive / Historical
plans/typescript-code-review-findings.md
Adds Round‑1 archived findings record (medium risk), marked archived/superseded; baseline commands noted and no active findings kept here.
Round‑2 Backlog
plans/typescript-code-review-findings-2.md
Adds Round‑2 active backlog (MEDIUM risk) with Remaining Findings, Suggestions, de-duplication rules, PR verification status table, and verification command checklist.
Round‑3 Canonical
plans/typescript-code-review-findings-3.md
Adds Round‑3 deduplicated canonical findings (MEDIUM risk) listing 1 critical and 2 important issues with file pointers and baseline verification commands.
Round‑4 Canonical
plans/typescript-code-review-findings-4.md
Adds Round‑4 canonical backlog with counts of critical/important/suggestion items, per-file recommendations, phased remediation steps, and verification checklist.
Round‑5 Canonical
plans/typescript-code-review-findings-5.md
Adds Round‑5 canonical plan focusing on async binding completion and render-path behaviors, listing critical/important/suggestion items, remediation phases, and verification commands.

Project Config

Layer / File(s) Summary
Compiler Exclude
tsconfig.json
Adds skills and plans to the exclude array so those documentation files are not included in TypeScript compilation.

Sequence Diagram(s)

(omitted — documentation-only changes, no new multi-component runtime control flow)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Poem

🐇 I hopped through docs and left a trail,

Skills and plans in tidy detail,
Findings stacked, checklists set to run,
tsconfig tucked — the build stays fun.
Hop on, reviewer, the fixes have begun.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: adding a TypeScript code review skill and updated findings plans across multiple rounds.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 0/1 reviews remaining, refill in 55 minutes and 9 seconds.

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@skills/typescript-code-review/references/tko-conventions.md`:
- Line 154: Update the package layout line that currently reads "Each package:
`src/`, `spec/`, `types/`, `dist/`, `index.ts`, `Makefile`" to the current
convention: list the required entries as `src/`, `spec/`, `dist/`, `helpers/`,
`index.ts`, and `package.json`. Replace the stale `types/` and `Makefile` items
with `helpers/` and `package.json` so the document reflects the real package
structure.
- Around line 60-66: The README/table entry for the TypeScript compilation
target is wrong: locate the table row containing the `target` setting (the row
that reads | `target` | `ES2020` | ...) and change the value cell from `ES2020`
to `ES2022` so the documentation matches tsconfig.json's `"target": "es2022"`.
- Around line 162-164: Update the testing conventions text to match the actual
setup: replace the "Mocha + Chai + Sinon" reference with "Vitest + Playwright
(browser mode)" and clarify that Playwright runs in browser mode by default and
is headless by default; also update the "Test location" entry to include both
packages/*/spec/ and builds/*/spec/**/*.js (to match vitest.config.ts). Ensure
the runner line explicitly says "Runner: Vitest + Playwright (browser mode,
headless by default)" and the test location line lists the two glob patterns so
it matches the configuration in vitest.config.ts.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 93a3cfae-f85b-494d-9f65-58d1502036cb

📥 Commits

Reviewing files that changed from the base of the PR and between 265b354 and 4fe89b8.

📒 Files selected for processing (9)
  • AGENTS.md
  • plans/typescript-code-review-findings-2.md
  • plans/typescript-code-review-findings-3.md
  • plans/typescript-code-review-findings-4.md
  • plans/typescript-code-review-findings.md
  • skills/typescript-code-review/SKILL.md
  • skills/typescript-code-review/references/review-reference.md
  • skills/typescript-code-review/references/tko-conventions.md
  • tsconfig.json

Comment thread skills/typescript-code-review/references/tko-conventions.md
Comment thread skills/typescript-code-review/references/tko-conventions.md Outdated
Comment thread skills/typescript-code-review/references/tko-conventions.md Outdated
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
skills/typescript-code-review/references/tko-conventions.md (1)

161-161: ⚠️ Potential issue | 🟡 Minor

Clarify the test runner mode and default browser behavior.

Line 161 is still underspecified. It should explicitly say Vitest runs in browser mode via Playwright and that the default is headless Chromium, to align reviewer expectations.

Based on learnings: “Applies to vitest.config.ts : Use Vitest as the test runner with browser mode via Playwright and headless Chromium”.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@skills/typescript-code-review/references/tko-conventions.md` at line 161,
Update the line that currently reads "**Runner**: Vitest + Playwright" to
explicitly state that Vitest should run in browser mode via Playwright and that
the default browser is headless Chromium; mention the applicable config
reference "vitest.config.ts" so readers know where to set test runner mode
(browser) and the Playwright browser to headless Chromium.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@skills/typescript-code-review/references/tko-conventions.md`:
- Line 161: Update the line that currently reads "**Runner**: Vitest +
Playwright" to explicitly state that Vitest should run in browser mode via
Playwright and that the default browser is headless Chromium; mention the
applicable config reference "vitest.config.ts" so readers know where to set test
runner mode (browser) and the Playwright browser to headless Chromium.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1435a0c3-dd6b-4d9f-8600-e15bed63173d

📥 Commits

Reviewing files that changed from the base of the PR and between 4fe89b8 and cf6a9db.

📒 Files selected for processing (3)
  • AGENTS.md
  • skills/typescript-code-review/SKILL.md
  • skills/typescript-code-review/references/tko-conventions.md
✅ Files skipped from review due to trivial changes (2)
  • AGENTS.md
  • skills/typescript-code-review/SKILL.md

@phillipc
Copy link
Copy Markdown
Member Author

phillipc commented Apr 22, 2026

Findings PR tracker update (2026-04-22)

Cross-referenced tko_base PRs against findings in rounds 2–4:

Merged:

Open:

@brianmhunt: For your summary. Should we merge the plan and skill?

- **Impact**: A custom `options.Promise`, cross-window promises, or thenables can be ignored or wrapped by the wrong
constructor. The existing "returns a promise" test only proves the default case where `options.Promise === Promise`.
- **Recommended**: Use a shared thenable check (for example `isThenable`) for completion detection and route framework
promise creation through `options.Promise`. Alternativ, you
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@brianmhunt Want do you thing about options.Promise? Should we use oder remove it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant