

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
12345# Parser Review Guidelines67## Crash Safety (Critical)89- Parsers MUST NOT throw to the caller — each runs inside `Promise.allSettled` and an uncaught error silently drops that tool's sessions from the index10- Wrap JSON.parse calls and file-read loops in try-catch with an empty catch block to silently skip malformed data1112```typescript13// Good — CLI continues if one line is malformed14for (const line of lines) {15 try {16 const data = JSON.parse(line);17 // process...18 } catch {19 // Skip malformed line silently20 }21}2223// Bad — one bad line crashes the entire parser24for (const line of lines) {25 const data = JSON.parse(line);26}27```2829## Required Exports3031Each parser file must export exactly two functions:3233- `parse<Tool>Sessions(): Promise<UnifiedSession[]>` — file discovery and metadata extraction34- `extract<Tool>Context(session: UnifiedSession, config?: VerbosityConfig): Promise<SessionContext>` — full conversation and tool activity extraction3536Both must be registered in `src/parsers/registry.ts` with all `ToolAdapter` fields populated.3738## JSONL Streaming3940- Stream JSONL with helpers from `src/utils/jsonl.ts` (`readJsonlFile`, `scanJsonlHead`) when applicable41- Never use `fs.readFileSync` for session files42- Keep only the last ~10 messages in `recentMessages` — do not accumulate the entire conversation4344## Tool Summarizer4546- Always use `SummaryCollector` from `src/utils/tool-summarizer.ts` — never build `ToolUsageSummary[]` arrays manually47- Call `collector.add(category, summary, filePath?, isWrite?)` for each tool invocation4849## Shared Helpers5051- Import `cleanSummary`, `extractRepoFromCwd`, `homeDir` from `src/utils/parser-helpers.ts`52- Do not duplicate these utilities in individual parser files5354## New Tool Checklist5556Adding a new tool requires ALL five of:57581. Parser file `src/parsers/<tool>.ts` exporting both required functions592. Registry entry in `src/parsers/registry.ts` with all `ToolAdapter` fields603. Type update in `src/types/tool-names.ts` — add to `SessionSource` union and `TOOL_NAMES` array614. Fixture factory in `src/__tests__/fixtures/index.ts`625. Conversion tests in `src/__tests__/unit-conversions.test.ts` for all N-1 paths in each direction63
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| yigitkonur/cli-continues.github/copilot-instructions.md · 1.4k | Copilot instructions | lint-formatstylegitperformance+1 | 59/100 | 14 days ago | |
| yigitkonur/cli-continues.github/instructions/ci.instructions.md · 1.4k | Copilot instructions | setupbuildteststyle+4 | 82/100 | 14 days ago | |
| yigitkonur/cli-continues.github/instructions/security.instructions.md · 1.4k | Copilot instructions | stylegitsecurity | 54/100 | 14 days ago | |
| yigitkonur/cli-continuesAGENTS.md · 1.4k | AGENTS.md | testlint-formatstyletesting-strategy+3 | 87/100 | 14 days ago | |
| yigitkonur/cli-continuesCLAUDE.md · 1.4k | CLAUDE.md | setupbuildteststyle+4 | 94/100 | 14 days ago | |
| yigitkonur/cli-continues.github/instructions/testing.instructions.md · 1.4k | Copilot instructions | testtesting-strategygitperformance | 56/100 | 14 days ago | |
| yigitkonur/cli-continues.github/instructions/typescript.instructions.md · 1.4k | Copilot instructions | styletypesgitdo-not | 61/100 | 14 days ago |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| chihebnabil/lovable-boilerplate.github/instructions/global.instructions.md · 65 | Copilot instructions | buildlint-formatstylearch+4 | 100/100 | 14 days ago | |
| louislam/uptime-kuma.github/copilot-instructions.md · 90k | Copilot instructions | setupbuildtestlint-format+9 | 100/100 | 14 days ago | |
| bagisto/bagisto.github/copilot-instructions.md · 28k | Copilot instructions | setupbuildteststyle+5 | 97/100 | 14 days ago | |
| JCodesMore/ai-website-cloner-template.github/copilot-instructions.md · 32k | Copilot instructions | buildlint-formatstylearch+3 | 97/100 | 7 days ago | |
| nerolis-lab/nerolis-lab.github/copilot-instructions.md · 32 | Copilot instructions | setupbuildtestlint-format+11 | 96/100 | 14 days ago | |
| darkmatter/nixmac.github/copilot-instructions.md · 25 | Copilot instructions | setupbuildtestlint-format+8 | 96/100 | 14 days ago | |
| thangaram611/second-brain.github/copilot-instructions.md · 0 | Copilot instructions | setupteststylearch+4 | 96/100 | 14 days ago | |
| doubts-suplab/eeik-bootstrap.github/instructions/cdk-terraform.instructions.md · 1 | Copilot instructions | teststylearchtypes+2 | 96/100 | today |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/yigitkonur-cli-continues-github-instructions-parsers-instructions)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.