{"owner":"Shopify","repo":"flash-list","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":["CLAUDE.md"],"skills":{"CLAUDE.md":"# flash-list\n\nHigh-performance replacement for React Native's FlatList, built on recycling principles. Used by thousands of React Native apps for smooth scrolling with large datasets.\n\n## Source Layout\n\n- `src/` — library source code (TypeScript)\n- `fixture/react-native/` — React Native test/demo app\n- `dist/` — compiled output (NOT auto-rebuilt on branch switch)\n\n## Key Constraint\n\n`estimatedItemSize` does **NOT** exist as a prop on FlashList. Do not use it, suggest it, or add it.\n\n## Build & Test\n\n```bash\nyarn build          # compile TypeScript to dist/\nyarn test --forceExit\nyarn type-check\nyarn lint\n```\n\n**Important:** `dist/` is NOT rebuilt on branch switch. Always run `yarn build` after checking out a different branch.\n\n## Node Version\n\nNode 22.18.0\n\n## Commit & PR Conventions\n\n- Use conventional commits: `fix(scope): description`, `feat(scope): description`\n- Scope examples: `layout`, `hooks`, `scroll`, `sticky-headers`, `recycling`, `viewability`\n- Do NOT include any AI attribution (no `Co-Authored-By` AI lines, no \"Generated by\" or \"Assisted by\" text)\n- PR titles should be under 70 characters and match the commit format\n- Link issues with `Fixes #<number>` in the commit/PR body\n\n## Agent PR Token (MANDATORY)\n\n**All agent-raised PRs MUST use `SHOPIFY_GH_ACCESS_TOKEN` for PR creation.** PRs created without this token cannot be merged.\n\n- On CI: The token is available as `$AGENT_PR_TOKEN` environment variable in agent workflows.\n- When creating a PR, **always** use: `GH_TOKEN=\"$AGENT_PR_TOKEN\" gh pr create ...`\n- The default `GITHUB_TOKEN` is used for all other operations (issue comments, push, checkout). Only PR creation uses `AGENT_PR_TOKEN`.\n- **Never** use bare `gh pr create` without the `GH_TOKEN=\"$AGENT_PR_TOKEN\"` prefix — the PR will be unmergeable.\n\n## CI Cleanup (MANDATORY)\n\n**Before finishing on CI, kill all background processes you started** — especially Metro (`port 8081`). Leftover processes prevent the GitHub Actions job from exiting, causing it to run until timeout and waste CI minutes.\n\n```bash\nlsof -ti:8081 | xargs kill -9 2>/dev/null || true\n```\n\n## Available Skills\n\nSkills are reusable workflows in `.claude/skills/`. Use them when relevant:\n\n| Skill | When to use |\n|---|---|\n| `fix-github-issue` | Fixing a bug end-to-end: reproduce, diagnose, fix, verify on simulator, PR |\n| `raise-pr` | Creating a PR with proper conventional commit format and no AI attribution |\n| `review-and-test` | Reviewing a PR or branch: unit tests, type-check, lint, device testing, RTL/LTR |\n| `triage-issue` | Classifying an issue (P0/P1/P2), finding duplicates, applying labels |\n| `agent-device` | Interacting with iOS simulator or Android emulator (snapshot-based coordinates) |\n| `upgrade-react-native` | Upgrading the fixture app's React Native version |\n| `analyze-feedback` | Scanning agent workflow feedback artifacts and incorporating learnings into skills |\n\n## Self-Learning\n\nWhen you discover something important during a session — a pitfall, a non-obvious behavior, a debugging technique, or a pattern that would save time in the future — update the relevant skill file or this file so the knowledge persists.\n\n**What to capture:**\n- New pitfalls or edge cases discovered while fixing bugs\n- Debugging techniques that worked (or didn't)\n- Corrections to existing instructions that turned out to be wrong\n- Non-obvious behaviors of FlashList, React Native, or the build system\n\n**Where to put it:**\n- Bug/fix patterns → `fix-github-issue` skill (Common Pitfalls section)\n- Testing edge cases → `review-and-test` skill (Edge Cases section)\n- Device interaction quirks → `agent-device` skill\n- Project-wide facts → this file (`CLAUDE.md`)\n- Batch analysis of agent feedback → use the `analyze-feedback` skill to scan workflow artifacts\n\n**How:**\n- Include the update in the same PR as the fix (not a separate PR)\n- Keep entries concise — one line per pitfall, with enough context to be useful\n- On CI, only add critical learnings (things that would cause repeated failures). Minor improvements should wait for interactive sessions.\n"},"files":{"CLAUDE.md":"# flash-list\n\nHigh-performance replacement for React Native's FlatList, built on recycling principles. Used by thousands of React Native apps for smooth scrolling with large datasets.\n\n## Source Layout\n\n- `src/` — library source code (TypeScript)\n- `fixture/react-native/` — React Native test/demo app\n- `dist/` — compiled output (NOT auto-rebuilt on branch switch)\n\n## Key Constraint\n\n`estimatedItemSize` does **NOT** exist as a prop on FlashList. Do not use it, suggest it, or add it.\n\n## Build & Test\n\n```bash\nyarn build          # compile TypeScript to dist/\nyarn test --forceExit\nyarn type-check\nyarn lint\n```\n\n**Important:** `dist/` is NOT rebuilt on branch switch. Always run `yarn build` after checking out a different branch.\n\n## Node Version\n\nNode 22.18.0\n\n## Commit & PR Conventions\n\n- Use conventional commits: `fix(scope): description`, `feat(scope): description`\n- Scope examples: `layout`, `hooks`, `scroll`, `sticky-headers`, `recycling`, `viewability`\n- Do NOT include any AI attribution (no `Co-Authored-By` AI lines, no \"Generated by\" or \"Assisted by\" text)\n- PR titles should be under 70 characters and match the commit format\n- Link issues with `Fixes #<number>` in the commit/PR body\n\n## Agent PR Token (MANDATORY)\n\n**All agent-raised PRs MUST use `SHOPIFY_GH_ACCESS_TOKEN` for PR creation.** PRs created without this token cannot be merged.\n\n- On CI: The token is available as `$AGENT_PR_TOKEN` environment variable in agent workflows.\n- When creating a PR, **always** use: `GH_TOKEN=\"$AGENT_PR_TOKEN\" gh pr create ...`\n- The default `GITHUB_TOKEN` is used for all other operations (issue comments, push, checkout). Only PR creation uses `AGENT_PR_TOKEN`.\n- **Never** use bare `gh pr create` without the `GH_TOKEN=\"$AGENT_PR_TOKEN\"` prefix — the PR will be unmergeable.\n\n## CI Cleanup (MANDATORY)\n\n**Before finishing on CI, kill all background processes you started** — especially Metro (`port 8081`). Leftover processes prevent the GitHub Actions job from exiting, causing it to run until timeout and waste CI minutes.\n\n```bash\nlsof -ti:8081 | xargs kill -9 2>/dev/null || true\n```\n\n## Available Skills\n\nSkills are reusable workflows in `.claude/skills/`. Use them when relevant:\n\n| Skill | When to use |\n|---|---|\n| `fix-github-issue` | Fixing a bug end-to-end: reproduce, diagnose, fix, verify on simulator, PR |\n| `raise-pr` | Creating a PR with proper conventional commit format and no AI attribution |\n| `review-and-test` | Reviewing a PR or branch: unit tests, type-check, lint, device testing, RTL/LTR |\n| `triage-issue` | Classifying an issue (P0/P1/P2), finding duplicates, applying labels |\n| `agent-device` | Interacting with iOS simulator or Android emulator (snapshot-based coordinates) |\n| `upgrade-react-native` | Upgrading the fixture app's React Native version |\n| `analyze-feedback` | Scanning agent workflow feedback artifacts and incorporating learnings into skills |\n\n## Self-Learning\n\nWhen you discover something important during a session — a pitfall, a non-obvious behavior, a debugging technique, or a pattern that would save time in the future — update the relevant skill file or this file so the knowledge persists.\n\n**What to capture:**\n- New pitfalls or edge cases discovered while fixing bugs\n- Debugging techniques that worked (or didn't)\n- Corrections to existing instructions that turned out to be wrong\n- Non-obvious behaviors of FlashList, React Native, or the build system\n\n**Where to put it:**\n- Bug/fix patterns → `fix-github-issue` skill (Common Pitfalls section)\n- Testing edge cases → `review-and-test` skill (Edge Cases section)\n- Device interaction quirks → `agent-device` skill\n- Project-wide facts → this file (`CLAUDE.md`)\n- Batch analysis of agent feedback → use the `analyze-feedback` skill to scan workflow artifacts\n\n**How:**\n- Include the update in the same PR as the fix (not a separate PR)\n- Keep entries concise — one line per pitfall, with enough context to be useful\n- On CI, only add critical learnings (things that would cause repeated failures). Minor improvements should wait for interactive sessions.\n"},"items":[{"name":"CLAUDE.md","path":"CLAUDE.md","title":"CLAUDE.md","content":"# flash-list\n\nHigh-performance replacement for React Native's FlatList, built on recycling principles. Used by thousands of React Native apps for smooth scrolling with large datasets.\n\n## Source Layout\n\n- `src/` — library source code (TypeScript)\n- `fixture/react-native/` — React Native test/demo app\n- `dist/` — compiled output (NOT auto-rebuilt on branch switch)\n\n## Key Constraint\n\n`estimatedItemSize` does **NOT** exist as a prop on FlashList. Do not use it, suggest it, or add it.\n\n## Build & Test\n\n```bash\nyarn build          # compile TypeScript to dist/\nyarn test --forceExit\nyarn type-check\nyarn lint\n```\n\n**Important:** `dist/` is NOT rebuilt on branch switch. Always run `yarn build` after checking out a different branch.\n\n## Node Version\n\nNode 22.18.0\n\n## Commit & PR Conventions\n\n- Use conventional commits: `fix(scope): description`, `feat(scope): description`\n- Scope examples: `layout`, `hooks`, `scroll`, `sticky-headers`, `recycling`, `viewability`\n- Do NOT include any AI attribution (no `Co-Authored-By` AI lines, no \"Generated by\" or \"Assisted by\" text)\n- PR titles should be under 70 characters and match the commit format\n- Link issues with `Fixes #<number>` in the commit/PR body\n\n## Agent PR Token (MANDATORY)\n\n**All agent-raised PRs MUST use `SHOPIFY_GH_ACCESS_TOKEN` for PR creation.** PRs created without this token cannot be merged.\n\n- On CI: The token is available as `$AGENT_PR_TOKEN` environment variable in agent workflows.\n- When creating a PR, **always** use: `GH_TOKEN=\"$AGENT_PR_TOKEN\" gh pr create ...`\n- The default `GITHUB_TOKEN` is used for all other operations (issue comments, push, checkout). Only PR creation uses `AGENT_PR_TOKEN`.\n- **Never** use bare `gh pr create` without the `GH_TOKEN=\"$AGENT_PR_TOKEN\"` prefix — the PR will be unmergeable.\n\n## CI Cleanup (MANDATORY)\n\n**Before finishing on CI, kill all background processes you started** — especially Metro (`port 8081`). Leftover processes prevent the GitHub Actions job from exiting, causing it to run until timeout and waste CI minutes.\n\n```bash\nlsof -ti:8081 | xargs kill -9 2>/dev/null || true\n```\n\n## Available Skills\n\nSkills are reusable workflows in `.claude/skills/`. Use them when relevant:\n\n| Skill | When to use |\n|---|---|\n| `fix-github-issue` | Fixing a bug end-to-end: reproduce, diagnose, fix, verify on simulator, PR |\n| `raise-pr` | Creating a PR with proper conventional commit format and no AI attribution |\n| `review-and-test` | Reviewing a PR or branch: unit tests, type-check, lint, device testing, RTL/LTR |\n| `triage-issue` | Classifying an issue (P0/P1/P2), finding duplicates, applying labels |\n| `agent-device` | Interacting with iOS simulator or Android emulator (snapshot-based coordinates) |\n| `upgrade-react-native` | Upgrading the fixture app's React Native version |\n| `analyze-feedback` | Scanning agent workflow feedback artifacts and incorporating learnings into skills |\n\n## Self-Learning\n\nWhen you discover something important during a session — a pitfall, a non-obvious behavior, a debugging technique, or a pattern that would save time in the future — update the relevant skill file or this file so the knowledge persists.\n\n**What to capture:**\n- New pitfalls or edge cases discovered while fixing bugs\n- Debugging techniques that worked (or didn't)\n- Corrections to existing instructions that turned out to be wrong\n- Non-obvious behaviors of FlashList, React Native, or the build system\n\n**Where to put it:**\n- Bug/fix patterns → `fix-github-issue` skill (Common Pitfalls section)\n- Testing edge cases → `review-and-test` skill (Edge Cases section)\n- Device interaction quirks → `agent-device` skill\n- Project-wide facts → this file (`CLAUDE.md`)\n- Batch analysis of agent feedback → use the `analyze-feedback` skill to scan workflow artifacts\n\n**How:**\n- Include the update in the same PR as the fix (not a separate PR)\n- Keep entries concise — one line per pitfall, with enough context to be useful\n- On CI, only add critical learnings (things that would cause repeated failures). Minor improvements should wait for interactive sessions.\n","category":"root","tokens":1022}]}