{"owner":"octokatherine","repo":"readme.so","hasSkills":true,"totalSkillsCount":1,"totalTokensCount":716,"categories":["copilot-instructions"],"hasMcp":false,"mcpConfig":null,"found":[".github/copilot-instructions.md"],"skills":{".github/copilot-instructions.md":"# Copilot Instructions\n\n## Build & Test Commands\n\n- **Dev server:** `npm run dev` (runs on localhost:3000)\n- **Build:** `npm run build` (static export to `out/` directory)\n- **Test all:** `npm test`\n- **Test single file:** `npx jest __tests__/editor.test.js` or `npx jest components/__tests__/Nav.test.js`\n- **Test watch:** `npm run test:watch`\n- **Lint:** `npm run lint` (runs Next.js linter + Prettier check)\n- **Format:** `npm run format` (Prettier auto-fix)\n\n## Architecture\n\nThis is a static Next.js app (exported to `out/`) that lets users build README.md files by selecting, editing, and reordering markdown section templates.\n\n### Data flow\n\nAll state lives in `pages/editor.js` and is passed down via props — there is no global state management library. The key state:\n\n- **`templates`** — array of `{ slug, name, markdown }` objects representing all available sections with their current markdown content\n- **`selectedSectionSlugs`** — ordered array of slug strings the user has added to their readme\n- **`focusedSectionSlug`** — which section is currently being edited\n- **`sectionSlugs`** — slugs not yet added (the \"available\" pool)\n\nUser edits persist to `localStorage` via the `useLocalStorage` hook (key: `readme-backup`), which debounces saves by 1 second. The selected section list is also stored in `localStorage` under `current-slug-list`.\n\n### Section templates\n\nDefined in `data/section-templates-{locale}.js` as exported arrays of `{ slug, name, markdown }` objects. The `data/index.js` file maps locale keys to template sets, though the editor currently hardcodes `en_EN`.\n\nCustom sections get a slug prefixed with `custom-` (e.g., `custom-my-section`). This prefix is checked when resetting a section to distinguish custom from built-in templates.\n\n### Three-column layout\n\n1. **SectionsColumn** (left) — lists selected sections (drag-to-reorder via `@dnd-kit`) and available sections to add\n2. **EditorColumn** (center) — Monaco editor on desktop, `<textarea>` on mobile\n3. **PreviewColumn** (right) — rendered markdown preview (via `react-markdown` + `remark-gfm`) or raw markdown view\n\nMobile uses a tab-based UI instead of side-by-side columns.\n\n## Conventions\n\n- **Formatting:** Prettier with no semicolons, single quotes, trailing commas (es5), 2-space indent, 100 char print width\n- **Styling:** TailwindCSS utility classes. Color palette is limited to emerald, gray, black, white, transparent, and current\n- **Components:** Functional components only. Mix of named exports (`export const Foo`) and default exports — no consistent pattern\n- **Testing:** Jest + React Testing Library. Tests live in `__tests__/` (page-level) and `components/__tests__/` (component-level). Coverage is collected for `components/*` and `pages/editor.js`\n- **Static export:** The app uses `output: 'export'` in `next.config.js` — no server-side features (no API routes, no SSR, no `getServerSideProps`)\n"},"files":{".github/copilot-instructions.md":"# Copilot Instructions\n\n## Build & Test Commands\n\n- **Dev server:** `npm run dev` (runs on localhost:3000)\n- **Build:** `npm run build` (static export to `out/` directory)\n- **Test all:** `npm test`\n- **Test single file:** `npx jest __tests__/editor.test.js` or `npx jest components/__tests__/Nav.test.js`\n- **Test watch:** `npm run test:watch`\n- **Lint:** `npm run lint` (runs Next.js linter + Prettier check)\n- **Format:** `npm run format` (Prettier auto-fix)\n\n## Architecture\n\nThis is a static Next.js app (exported to `out/`) that lets users build README.md files by selecting, editing, and reordering markdown section templates.\n\n### Data flow\n\nAll state lives in `pages/editor.js` and is passed down via props — there is no global state management library. The key state:\n\n- **`templates`** — array of `{ slug, name, markdown }` objects representing all available sections with their current markdown content\n- **`selectedSectionSlugs`** — ordered array of slug strings the user has added to their readme\n- **`focusedSectionSlug`** — which section is currently being edited\n- **`sectionSlugs`** — slugs not yet added (the \"available\" pool)\n\nUser edits persist to `localStorage` via the `useLocalStorage` hook (key: `readme-backup`), which debounces saves by 1 second. The selected section list is also stored in `localStorage` under `current-slug-list`.\n\n### Section templates\n\nDefined in `data/section-templates-{locale}.js` as exported arrays of `{ slug, name, markdown }` objects. The `data/index.js` file maps locale keys to template sets, though the editor currently hardcodes `en_EN`.\n\nCustom sections get a slug prefixed with `custom-` (e.g., `custom-my-section`). This prefix is checked when resetting a section to distinguish custom from built-in templates.\n\n### Three-column layout\n\n1. **SectionsColumn** (left) — lists selected sections (drag-to-reorder via `@dnd-kit`) and available sections to add\n2. **EditorColumn** (center) — Monaco editor on desktop, `<textarea>` on mobile\n3. **PreviewColumn** (right) — rendered markdown preview (via `react-markdown` + `remark-gfm`) or raw markdown view\n\nMobile uses a tab-based UI instead of side-by-side columns.\n\n## Conventions\n\n- **Formatting:** Prettier with no semicolons, single quotes, trailing commas (es5), 2-space indent, 100 char print width\n- **Styling:** TailwindCSS utility classes. Color palette is limited to emerald, gray, black, white, transparent, and current\n- **Components:** Functional components only. Mix of named exports (`export const Foo`) and default exports — no consistent pattern\n- **Testing:** Jest + React Testing Library. Tests live in `__tests__/` (page-level) and `components/__tests__/` (component-level). Coverage is collected for `components/*` and `pages/editor.js`\n- **Static export:** The app uses `output: 'export'` in `next.config.js` — no server-side features (no API routes, no SSR, no `getServerSideProps`)\n"},"items":[{"name":"copilot-instructions.md","path":".github/copilot-instructions.md","rawUrl":"https://raw.githubusercontent.com/octokatherine/readme.so/HEAD/.github/copilot-instructions.md","title":"GitHub Copilot Instructions","category":"copilot-instructions","format":"markdown","content":"# Copilot Instructions\n\n## Build & Test Commands\n\n- **Dev server:** `npm run dev` (runs on localhost:3000)\n- **Build:** `npm run build` (static export to `out/` directory)\n- **Test all:** `npm test`\n- **Test single file:** `npx jest __tests__/editor.test.js` or `npx jest components/__tests__/Nav.test.js`\n- **Test watch:** `npm run test:watch`\n- **Lint:** `npm run lint` (runs Next.js linter + Prettier check)\n- **Format:** `npm run format` (Prettier auto-fix)\n\n## Architecture\n\nThis is a static Next.js app (exported to `out/`) that lets users build README.md files by selecting, editing, and reordering markdown section templates.\n\n### Data flow\n\nAll state lives in `pages/editor.js` and is passed down via props — there is no global state management library. The key state:\n\n- **`templates`** — array of `{ slug, name, markdown }` objects representing all available sections with their current markdown content\n- **`selectedSectionSlugs`** — ordered array of slug strings the user has added to their readme\n- **`focusedSectionSlug`** — which section is currently being edited\n- **`sectionSlugs`** — slugs not yet added (the \"available\" pool)\n\nUser edits persist to `localStorage` via the `useLocalStorage` hook (key: `readme-backup`), which debounces saves by 1 second. The selected section list is also stored in `localStorage` under `current-slug-list`.\n\n### Section templates\n\nDefined in `data/section-templates-{locale}.js` as exported arrays of `{ slug, name, markdown }` objects. The `data/index.js` file maps locale keys to template sets, though the editor currently hardcodes `en_EN`.\n\nCustom sections get a slug prefixed with `custom-` (e.g., `custom-my-section`). This prefix is checked when resetting a section to distinguish custom from built-in templates.\n\n### Three-column layout\n\n1. **SectionsColumn** (left) — lists selected sections (drag-to-reorder via `@dnd-kit`) and available sections to add\n2. **EditorColumn** (center) — Monaco editor on desktop, `<textarea>` on mobile\n3. **PreviewColumn** (right) — rendered markdown preview (via `react-markdown` + `remark-gfm`) or raw markdown view\n\nMobile uses a tab-based UI instead of side-by-side columns.\n\n## Conventions\n\n- **Formatting:** Prettier with no semicolons, single quotes, trailing commas (es5), 2-space indent, 100 char print width\n- **Styling:** TailwindCSS utility classes. Color palette is limited to emerald, gray, black, white, transparent, and current\n- **Components:** Functional components only. Mix of named exports (`export const Foo`) and default exports — no consistent pattern\n- **Testing:** Jest + React Testing Library. Tests live in `__tests__/` (page-level) and `components/__tests__/` (component-level). Coverage is collected for `components/*` and `pages/editor.js`\n- **Static export:** The app uses `output: 'export'` in `next.config.js` — no server-side features (no API routes, no SSR, no `getServerSideProps`)\n","isInternal":false,"tokens":716,"sizeBytes":2934}],"systemPromptSnippet":"<yakaai_skills repo=\"octokatherine/readme.so\">\n<!-- File: .github/copilot-instructions.md (Tokens: ~716 | Category: copilot-instructions) -->\n# Copilot Instructions\n\n## Build & Test Commands\n\n- **Dev server:** `npm run dev` (runs on localhost:3000)\n- **Build:** `npm run build` (static export to `out/` directory)\n- **Test all:** `npm test`\n- **Test single file:** `npx jest __tests__/editor.test.js` or `npx jest components/__tests__/Nav.test.js`\n- **Test watch:** `npm run test:watch`\n- **Lint:** `npm run lint` (runs Next.js linter + Prettier check)\n- **Format:** `npm run format` (Prettier auto-fix)\n\n## Architecture\n\nThis is a static Next.js app (exported to `out/`) that lets users build README.md files by selecting, editing, and reordering markdown section templates.\n\n### Data flow\n\nAll state lives in `pages/editor.js` and is passed down via props — there is no global state management library. The key state:\n\n- **`templates`** — array of `{ slug, name, markdown }` objects representing all available sections with their current markdown content\n- **`selectedSectionSlugs`** — ordered array of slug strings the user has added to their readme\n- **`focusedSectionSlug`** — which section is currently being edited\n- **`sectionSlugs`** — slugs not yet added (the \"available\" pool)\n\nUser edits persist to `localStorage` via the `useLocalStorage` hook (key: `readme-backup`), which debounces saves by 1 second. The selected section list is also stored in `localStorage` under `current-slug-list`.\n\n### Section templates\n\nDefined in `data/section-templates-{locale}.js` as exported arrays of `{ slug, name, markdown }` objects. The `data/index.js` file maps locale keys to template sets, though the editor currently hardcodes `en_EN`.\n\nCustom sections get a slug prefixed with `custom-` (e.g., `custom-my-section`). This prefix is checked when resetting a section to distinguish custom from built-in templates.\n\n### Three-column layout\n\n1. **SectionsColumn** (left) — lists selected sections (drag-to-reorder via `@dnd-kit`) and available sections to add\n2. **EditorColumn** (center) — Monaco editor on desktop, `<textarea>` on mobile\n3. **PreviewColumn** (right) — rendered markdown preview (via `react-markdown` + `remark-gfm`) or raw markdown view\n\nMobile uses a tab-based UI instead of side-by-side columns.\n\n## Conventions\n\n- **Formatting:** Prettier with no semicolons, single quotes, trailing commas (es5), 2-space indent, 100 char print width\n- **Styling:** TailwindCSS utility classes. Color palette is limited to emerald, gray, black, white, transparent, and current\n- **Components:** Functional components only. Mix of named exports (`export const Foo`) and default exports — no consistent pattern\n- **Testing:** Jest + React Testing Library. Tests live in `__tests__/` (page-level) and `components/__tests__/` (component-level). Coverage is collected for `components/*` and `pages/editor.js`\n- **Static export:** The app uses `output: 'export'` in `next.config.js` — no server-side features (no API routes, no SSR, no `getServerSideProps`)\n</yakaai_skills>"}