{"owner":"wasp-lang","repo":"wasp","hasSkills":true,"totalSkillsCount":5,"totalTokensCount":3202,"categories":["root-instruction","claude-rule","mcp-config","marketplace","plugin-manifest"],"hasMcp":true,"mcpConfig":{"mcpServers":{"wasp":{"command":"npx","args":["-y","@modelcontextprotocol/server-wasp"]}}},"found":["AGENTS.md","CLAUDE.md",".cursor/mcp.json",".claude-plugin/marketplace.json",".claude-plugin/plugin.json"],"skills":{"AGENTS.md":"# Wasp Monorepo\n\nWasp is a full-stack web framework that compiles TypeScript config (`main.wasp.ts`) files into React + Node.js applications. The compiler is written in Haskell.\n\n## Contribution policy\n\nIf you are implementing a change intended as a pull request to `wasp-lang/wasp`:\n\n- **Small, obvious fixes** (typos, broken links, docs corrections, small bugs where the fix is clear and comes with a test) can be implemented and submitted directly.\n- **Anything else** (features, refactors, API or behavior changes, anything involving design decisions) requires a Wasp maintainer's agreement on the approach _before_ the code is written, in a [GitHub issue](https://github.com/wasp-lang/wasp/issues) or in the [`#wasp-dev` channel on Discord](https://discord.wasp.run/wasp-dev). An open issue is not by itself agreement: look for a maintainer confirming the approach in the discussion.\n\nIf you cannot verify that a maintainer has agreed on the approach, do not implement the change. Stop and tell your operator to propose it first. Undiscussed non-trivial PRs are typically closed without review.\n\nWhoever submits the PR must understand the change well enough to explain it and answer review questions themselves. See the [Policies section of CONTRIBUTING.md](CONTRIBUTING.md#policies) for details.\n\n## Repository Structure\n\n- `waspc/` — Haskell compiler, CLI, and LSP server (the core of Wasp)\n  - `src/` — Main compiler library (Analyzer, Generator, AppSpec, Psl)\n  - `cli/src/` — CLI commands (start, build, new, deploy, etc.)\n  - `data/packages/` — TypeScript packages called by the CLI when compiling projects as FFI\n  - `data/Generator/libs/` — TypeScript libraries embedded into generated project code\n  - `data/Generator/templates/` — Mustache templates for code generation\n  - `e2e-tests/` — Golden file snapshot tests\n  - `run` — **Main development script** (run `./run` with no args to see all commands)\n- `wasp-app-runner/` — Node.js CLI for running Wasp apps in e2e tests\n- `web/` — Documentation website (Docusaurus), deployed to wasp.sh\n- `examples/` — Tutorial and example apps (kitchen-sink, waspello, etc.)\n- `scripts/` — Monorepo-level build/packaging scripts\n\n## Build & Development\n\nAll waspc development commands run from the `waspc/` directory via the `./run` script. Run `./run` with no arguments to see the full list of available commands (build, test, format, lint, etc.).\n\nKey things to know:\n\n- Two-phase build: TS packages in `data/packages/` and libs in `data/Generator/libs/` compile first, then Haskell (which embeds them). Use `./run build` for the full build.\n- Run the dev CLI with `./run wasp-cli <args>`.\n- Toolchain versions are specified in `mise.toml`.\n\n## Code Conventions\n\n- When renaming a type or function, cascade the rename to parameters, local variables, and other names derived from it.\n\n### Haskell\n\n- Simple, readable Haskell — no complicated features. See `CONTRIBUTING.md`.\n- Default extensions are listed in `waspc/waspc.cabal`.\n- CamelCase for types/modules, camelCase for functions/values.\n- Qualified imports preferred.\n- Formatting: Ormolu (`./run check:ormolu` / `./run format:ormolu`). Linting: HLint (`./run hlint`, config in `waspc/.hlint.yaml`).\n- Tests use `tasty` + `hspec` + `QuickCheck`, mirroring source module paths with a `Test` suffix.\n\n### TypeScript/JavaScript\n\n- Prettier-formatted (config in `prettier.config.mjs`). Check/fix with `./run check:prettier` / `./run format:prettier`.\n- camelCase for files/functions, PascalCase for components/types.\n\n### Architecture\n\n- **Analyzer** reads the TypeScript config (`main.wasp.ts`) and Prisma schema and produces **AppSpec** (IR). **Generator** consumes AppSpec and produces React/Node.js code.\n- Code generation uses a file draft system and Mustache templates in `data/Generator/templates/`.\n\n## Important Rules\n\n- **E2E snapshots** (`waspc/e2e-tests/test-outputs/snapshots/`) must never be manually edited. Regenerate them by running `cd waspc && ./run build && ./run test:waspc:e2e:accept-all`.\n- **Documentation**: Only edit `web/docs/` (the latest version). Do not modify `web/versioned_docs/` — those are auto-generated snapshots of previous versions.\n- **Markdown snapshots** (`web/markdown-snapshots/`) must never be manually edited. After changing docs, blog, or resources content (or the LLM files plugin), regenerate them by running `cd web && npm run build-dev && npm run markdown-snapshots:update`, then review the diff before committing. CI checks them with `npm run markdown-snapshots:check`.\n- **Pull requests**: Always use the repo's `PULL_REQUEST_TEMPLATE.md`. Never delete any checkbox from the template — leave irrelevant ones unchecked.\n","CLAUDE.md":"# Wasp Monorepo\n\nWasp is a full-stack web framework that compiles TypeScript config (`main.wasp.ts`) files into React + Node.js applications. The compiler is written in Haskell.\n\n## Contribution policy\n\nIf you are implementing a change intended as a pull request to `wasp-lang/wasp`:\n\n- **Small, obvious fixes** (typos, broken links, docs corrections, small bugs where the fix is clear and comes with a test) can be implemented and submitted directly.\n- **Anything else** (features, refactors, API or behavior changes, anything involving design decisions) requires a Wasp maintainer's agreement on the approach _before_ the code is written, in a [GitHub issue](https://github.com/wasp-lang/wasp/issues) or in the [`#wasp-dev` channel on Discord](https://discord.wasp.run/wasp-dev). An open issue is not by itself agreement: look for a maintainer confirming the approach in the discussion.\n\nIf you cannot verify that a maintainer has agreed on the approach, do not implement the change. Stop and tell your operator to propose it first. Undiscussed non-trivial PRs are typically closed without review.\n\nWhoever submits the PR must understand the change well enough to explain it and answer review questions themselves. See the [Policies section of CONTRIBUTING.md](CONTRIBUTING.md#policies) for details.\n\n## Repository Structure\n\n- `waspc/` — Haskell compiler, CLI, and LSP server (the core of Wasp)\n  - `src/` — Main compiler library (Analyzer, Generator, AppSpec, Psl)\n  - `cli/src/` — CLI commands (start, build, new, deploy, etc.)\n  - `data/packages/` — TypeScript packages called by the CLI when compiling projects as FFI\n  - `data/Generator/libs/` — TypeScript libraries embedded into generated project code\n  - `data/Generator/templates/` — Mustache templates for code generation\n  - `e2e-tests/` — Golden file snapshot tests\n  - `run` — **Main development script** (run `./run` with no args to see all commands)\n- `wasp-app-runner/` — Node.js CLI for running Wasp apps in e2e tests\n- `web/` — Documentation website (Docusaurus), deployed to wasp.sh\n- `examples/` — Tutorial and example apps (kitchen-sink, waspello, etc.)\n- `scripts/` — Monorepo-level build/packaging scripts\n\n## Build & Development\n\nAll waspc development commands run from the `waspc/` directory via the `./run` script. Run `./run` with no arguments to see the full list of available commands (build, test, format, lint, etc.).\n\nKey things to know:\n\n- Two-phase build: TS packages in `data/packages/` and libs in `data/Generator/libs/` compile first, then Haskell (which embeds them). Use `./run build` for the full build.\n- Run the dev CLI with `./run wasp-cli <args>`.\n- Toolchain versions are specified in `mise.toml`.\n\n## Code Conventions\n\n- When renaming a type or function, cascade the rename to parameters, local variables, and other names derived from it.\n\n### Haskell\n\n- Simple, readable Haskell — no complicated features. See `CONTRIBUTING.md`.\n- Default extensions are listed in `waspc/waspc.cabal`.\n- CamelCase for types/modules, camelCase for functions/values.\n- Qualified imports preferred.\n- Formatting: Ormolu (`./run check:ormolu` / `./run format:ormolu`). Linting: HLint (`./run hlint`, config in `waspc/.hlint.yaml`).\n- Tests use `tasty` + `hspec` + `QuickCheck`, mirroring source module paths with a `Test` suffix.\n\n### TypeScript/JavaScript\n\n- Prettier-formatted (config in `prettier.config.mjs`). Check/fix with `./run check:prettier` / `./run format:prettier`.\n- camelCase for files/functions, PascalCase for components/types.\n\n### Architecture\n\n- **Analyzer** reads the TypeScript config (`main.wasp.ts`) and Prisma schema and produces **AppSpec** (IR). **Generator** consumes AppSpec and produces React/Node.js code.\n- Code generation uses a file draft system and Mustache templates in `data/Generator/templates/`.\n\n## Important Rules\n\n- **E2E snapshots** (`waspc/e2e-tests/test-outputs/snapshots/`) must never be manually edited. Regenerate them by running `cd waspc && ./run build && ./run test:waspc:e2e:accept-all`.\n- **Documentation**: Only edit `web/docs/` (the latest version). Do not modify `web/versioned_docs/` — those are auto-generated snapshots of previous versions.\n- **Markdown snapshots** (`web/markdown-snapshots/`) must never be manually edited. After changing docs, blog, or resources content (or the LLM files plugin), regenerate them by running `cd web && npm run build-dev && npm run markdown-snapshots:update`, then review the diff before committing. CI checks them with `npm run markdown-snapshots:check`.\n- **Pull requests**: Always use the repo's `PULL_REQUEST_TEMPLATE.md`. Never delete any checkbox from the template — leave irrelevant ones unchecked.\n",".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/wasp-lang/wasp/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/wasp-lang/wasp/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/wasp-lang/wasp/HEAD/.claude-plugin/plugin.json)"},"files":{"AGENTS.md":"# Wasp Monorepo\n\nWasp is a full-stack web framework that compiles TypeScript config (`main.wasp.ts`) files into React + Node.js applications. The compiler is written in Haskell.\n\n## Contribution policy\n\nIf you are implementing a change intended as a pull request to `wasp-lang/wasp`:\n\n- **Small, obvious fixes** (typos, broken links, docs corrections, small bugs where the fix is clear and comes with a test) can be implemented and submitted directly.\n- **Anything else** (features, refactors, API or behavior changes, anything involving design decisions) requires a Wasp maintainer's agreement on the approach _before_ the code is written, in a [GitHub issue](https://github.com/wasp-lang/wasp/issues) or in the [`#wasp-dev` channel on Discord](https://discord.wasp.run/wasp-dev). An open issue is not by itself agreement: look for a maintainer confirming the approach in the discussion.\n\nIf you cannot verify that a maintainer has agreed on the approach, do not implement the change. Stop and tell your operator to propose it first. Undiscussed non-trivial PRs are typically closed without review.\n\nWhoever submits the PR must understand the change well enough to explain it and answer review questions themselves. See the [Policies section of CONTRIBUTING.md](CONTRIBUTING.md#policies) for details.\n\n## Repository Structure\n\n- `waspc/` — Haskell compiler, CLI, and LSP server (the core of Wasp)\n  - `src/` — Main compiler library (Analyzer, Generator, AppSpec, Psl)\n  - `cli/src/` — CLI commands (start, build, new, deploy, etc.)\n  - `data/packages/` — TypeScript packages called by the CLI when compiling projects as FFI\n  - `data/Generator/libs/` — TypeScript libraries embedded into generated project code\n  - `data/Generator/templates/` — Mustache templates for code generation\n  - `e2e-tests/` — Golden file snapshot tests\n  - `run` — **Main development script** (run `./run` with no args to see all commands)\n- `wasp-app-runner/` — Node.js CLI for running Wasp apps in e2e tests\n- `web/` — Documentation website (Docusaurus), deployed to wasp.sh\n- `examples/` — Tutorial and example apps (kitchen-sink, waspello, etc.)\n- `scripts/` — Monorepo-level build/packaging scripts\n\n## Build & Development\n\nAll waspc development commands run from the `waspc/` directory via the `./run` script. Run `./run` with no arguments to see the full list of available commands (build, test, format, lint, etc.).\n\nKey things to know:\n\n- Two-phase build: TS packages in `data/packages/` and libs in `data/Generator/libs/` compile first, then Haskell (which embeds them). Use `./run build` for the full build.\n- Run the dev CLI with `./run wasp-cli <args>`.\n- Toolchain versions are specified in `mise.toml`.\n\n## Code Conventions\n\n- When renaming a type or function, cascade the rename to parameters, local variables, and other names derived from it.\n\n### Haskell\n\n- Simple, readable Haskell — no complicated features. See `CONTRIBUTING.md`.\n- Default extensions are listed in `waspc/waspc.cabal`.\n- CamelCase for types/modules, camelCase for functions/values.\n- Qualified imports preferred.\n- Formatting: Ormolu (`./run check:ormolu` / `./run format:ormolu`). Linting: HLint (`./run hlint`, config in `waspc/.hlint.yaml`).\n- Tests use `tasty` + `hspec` + `QuickCheck`, mirroring source module paths with a `Test` suffix.\n\n### TypeScript/JavaScript\n\n- Prettier-formatted (config in `prettier.config.mjs`). Check/fix with `./run check:prettier` / `./run format:prettier`.\n- camelCase for files/functions, PascalCase for components/types.\n\n### Architecture\n\n- **Analyzer** reads the TypeScript config (`main.wasp.ts`) and Prisma schema and produces **AppSpec** (IR). **Generator** consumes AppSpec and produces React/Node.js code.\n- Code generation uses a file draft system and Mustache templates in `data/Generator/templates/`.\n\n## Important Rules\n\n- **E2E snapshots** (`waspc/e2e-tests/test-outputs/snapshots/`) must never be manually edited. Regenerate them by running `cd waspc && ./run build && ./run test:waspc:e2e:accept-all`.\n- **Documentation**: Only edit `web/docs/` (the latest version). Do not modify `web/versioned_docs/` — those are auto-generated snapshots of previous versions.\n- **Markdown snapshots** (`web/markdown-snapshots/`) must never be manually edited. After changing docs, blog, or resources content (or the LLM files plugin), regenerate them by running `cd web && npm run build-dev && npm run markdown-snapshots:update`, then review the diff before committing. CI checks them with `npm run markdown-snapshots:check`.\n- **Pull requests**: Always use the repo's `PULL_REQUEST_TEMPLATE.md`. Never delete any checkbox from the template — leave irrelevant ones unchecked.\n","CLAUDE.md":"# Wasp Monorepo\n\nWasp is a full-stack web framework that compiles TypeScript config (`main.wasp.ts`) files into React + Node.js applications. The compiler is written in Haskell.\n\n## Contribution policy\n\nIf you are implementing a change intended as a pull request to `wasp-lang/wasp`:\n\n- **Small, obvious fixes** (typos, broken links, docs corrections, small bugs where the fix is clear and comes with a test) can be implemented and submitted directly.\n- **Anything else** (features, refactors, API or behavior changes, anything involving design decisions) requires a Wasp maintainer's agreement on the approach _before_ the code is written, in a [GitHub issue](https://github.com/wasp-lang/wasp/issues) or in the [`#wasp-dev` channel on Discord](https://discord.wasp.run/wasp-dev). An open issue is not by itself agreement: look for a maintainer confirming the approach in the discussion.\n\nIf you cannot verify that a maintainer has agreed on the approach, do not implement the change. Stop and tell your operator to propose it first. Undiscussed non-trivial PRs are typically closed without review.\n\nWhoever submits the PR must understand the change well enough to explain it and answer review questions themselves. See the [Policies section of CONTRIBUTING.md](CONTRIBUTING.md#policies) for details.\n\n## Repository Structure\n\n- `waspc/` — Haskell compiler, CLI, and LSP server (the core of Wasp)\n  - `src/` — Main compiler library (Analyzer, Generator, AppSpec, Psl)\n  - `cli/src/` — CLI commands (start, build, new, deploy, etc.)\n  - `data/packages/` — TypeScript packages called by the CLI when compiling projects as FFI\n  - `data/Generator/libs/` — TypeScript libraries embedded into generated project code\n  - `data/Generator/templates/` — Mustache templates for code generation\n  - `e2e-tests/` — Golden file snapshot tests\n  - `run` — **Main development script** (run `./run` with no args to see all commands)\n- `wasp-app-runner/` — Node.js CLI for running Wasp apps in e2e tests\n- `web/` — Documentation website (Docusaurus), deployed to wasp.sh\n- `examples/` — Tutorial and example apps (kitchen-sink, waspello, etc.)\n- `scripts/` — Monorepo-level build/packaging scripts\n\n## Build & Development\n\nAll waspc development commands run from the `waspc/` directory via the `./run` script. Run `./run` with no arguments to see the full list of available commands (build, test, format, lint, etc.).\n\nKey things to know:\n\n- Two-phase build: TS packages in `data/packages/` and libs in `data/Generator/libs/` compile first, then Haskell (which embeds them). Use `./run build` for the full build.\n- Run the dev CLI with `./run wasp-cli <args>`.\n- Toolchain versions are specified in `mise.toml`.\n\n## Code Conventions\n\n- When renaming a type or function, cascade the rename to parameters, local variables, and other names derived from it.\n\n### Haskell\n\n- Simple, readable Haskell — no complicated features. See `CONTRIBUTING.md`.\n- Default extensions are listed in `waspc/waspc.cabal`.\n- CamelCase for types/modules, camelCase for functions/values.\n- Qualified imports preferred.\n- Formatting: Ormolu (`./run check:ormolu` / `./run format:ormolu`). Linting: HLint (`./run hlint`, config in `waspc/.hlint.yaml`).\n- Tests use `tasty` + `hspec` + `QuickCheck`, mirroring source module paths with a `Test` suffix.\n\n### TypeScript/JavaScript\n\n- Prettier-formatted (config in `prettier.config.mjs`). Check/fix with `./run check:prettier` / `./run format:prettier`.\n- camelCase for files/functions, PascalCase for components/types.\n\n### Architecture\n\n- **Analyzer** reads the TypeScript config (`main.wasp.ts`) and Prisma schema and produces **AppSpec** (IR). **Generator** consumes AppSpec and produces React/Node.js code.\n- Code generation uses a file draft system and Mustache templates in `data/Generator/templates/`.\n\n## Important Rules\n\n- **E2E snapshots** (`waspc/e2e-tests/test-outputs/snapshots/`) must never be manually edited. Regenerate them by running `cd waspc && ./run build && ./run test:waspc:e2e:accept-all`.\n- **Documentation**: Only edit `web/docs/` (the latest version). Do not modify `web/versioned_docs/` — those are auto-generated snapshots of previous versions.\n- **Markdown snapshots** (`web/markdown-snapshots/`) must never be manually edited. After changing docs, blog, or resources content (or the LLM files plugin), regenerate them by running `cd web && npm run build-dev && npm run markdown-snapshots:update`, then review the diff before committing. CI checks them with `npm run markdown-snapshots:check`.\n- **Pull requests**: Always use the repo's `PULL_REQUEST_TEMPLATE.md`. Never delete any checkbox from the template — leave irrelevant ones unchecked.\n",".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/wasp-lang/wasp/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/wasp-lang/wasp/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/wasp-lang/wasp/HEAD/.claude-plugin/plugin.json)"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","rawUrl":"https://raw.githubusercontent.com/wasp-lang/wasp/HEAD/AGENTS.md","title":"AI Agent Protocol & Instructions","category":"root-instruction","format":"markdown","content":"# Wasp Monorepo\n\nWasp is a full-stack web framework that compiles TypeScript config (`main.wasp.ts`) files into React + Node.js applications. The compiler is written in Haskell.\n\n## Contribution policy\n\nIf you are implementing a change intended as a pull request to `wasp-lang/wasp`:\n\n- **Small, obvious fixes** (typos, broken links, docs corrections, small bugs where the fix is clear and comes with a test) can be implemented and submitted directly.\n- **Anything else** (features, refactors, API or behavior changes, anything involving design decisions) requires a Wasp maintainer's agreement on the approach _before_ the code is written, in a [GitHub issue](https://github.com/wasp-lang/wasp/issues) or in the [`#wasp-dev` channel on Discord](https://discord.wasp.run/wasp-dev). An open issue is not by itself agreement: look for a maintainer confirming the approach in the discussion.\n\nIf you cannot verify that a maintainer has agreed on the approach, do not implement the change. Stop and tell your operator to propose it first. Undiscussed non-trivial PRs are typically closed without review.\n\nWhoever submits the PR must understand the change well enough to explain it and answer review questions themselves. See the [Policies section of CONTRIBUTING.md](CONTRIBUTING.md#policies) for details.\n\n## Repository Structure\n\n- `waspc/` — Haskell compiler, CLI, and LSP server (the core of Wasp)\n  - `src/` — Main compiler library (Analyzer, Generator, AppSpec, Psl)\n  - `cli/src/` — CLI commands (start, build, new, deploy, etc.)\n  - `data/packages/` — TypeScript packages called by the CLI when compiling projects as FFI\n  - `data/Generator/libs/` — TypeScript libraries embedded into generated project code\n  - `data/Generator/templates/` — Mustache templates for code generation\n  - `e2e-tests/` — Golden file snapshot tests\n  - `run` — **Main development script** (run `./run` with no args to see all commands)\n- `wasp-app-runner/` — Node.js CLI for running Wasp apps in e2e tests\n- `web/` — Documentation website (Docusaurus), deployed to wasp.sh\n- `examples/` — Tutorial and example apps (kitchen-sink, waspello, etc.)\n- `scripts/` — Monorepo-level build/packaging scripts\n\n## Build & Development\n\nAll waspc development commands run from the `waspc/` directory via the `./run` script. Run `./run` with no arguments to see the full list of available commands (build, test, format, lint, etc.).\n\nKey things to know:\n\n- Two-phase build: TS packages in `data/packages/` and libs in `data/Generator/libs/` compile first, then Haskell (which embeds them). Use `./run build` for the full build.\n- Run the dev CLI with `./run wasp-cli <args>`.\n- Toolchain versions are specified in `mise.toml`.\n\n## Code Conventions\n\n- When renaming a type or function, cascade the rename to parameters, local variables, and other names derived from it.\n\n### Haskell\n\n- Simple, readable Haskell — no complicated features. See `CONTRIBUTING.md`.\n- Default extensions are listed in `waspc/waspc.cabal`.\n- CamelCase for types/modules, camelCase for functions/values.\n- Qualified imports preferred.\n- Formatting: Ormolu (`./run check:ormolu` / `./run format:ormolu`). Linting: HLint (`./run hlint`, config in `waspc/.hlint.yaml`).\n- Tests use `tasty` + `hspec` + `QuickCheck`, mirroring source module paths with a `Test` suffix.\n\n### TypeScript/JavaScript\n\n- Prettier-formatted (config in `prettier.config.mjs`). Check/fix with `./run check:prettier` / `./run format:prettier`.\n- camelCase for files/functions, PascalCase for components/types.\n\n### Architecture\n\n- **Analyzer** reads the TypeScript config (`main.wasp.ts`) and Prisma schema and produces **AppSpec** (IR). **Generator** consumes AppSpec and produces React/Node.js code.\n- Code generation uses a file draft system and Mustache templates in `data/Generator/templates/`.\n\n## Important Rules\n\n- **E2E snapshots** (`waspc/e2e-tests/test-outputs/snapshots/`) must never be manually edited. Regenerate them by running `cd waspc && ./run build && ./run test:waspc:e2e:accept-all`.\n- **Documentation**: Only edit `web/docs/` (the latest version). Do not modify `web/versioned_docs/` — those are auto-generated snapshots of previous versions.\n- **Markdown snapshots** (`web/markdown-snapshots/`) must never be manually edited. After changing docs, blog, or resources content (or the LLM files plugin), regenerate them by running `cd web && npm run build-dev && npm run markdown-snapshots:update`, then review the diff before committing. CI checks them with `npm run markdown-snapshots:check`.\n- **Pull requests**: Always use the repo's `PULL_REQUEST_TEMPLATE.md`. Never delete any checkbox from the template — leave irrelevant ones unchecked.\n","isInternal":false,"tokens":1151,"sizeBytes":4709},{"name":"CLAUDE.md","path":"CLAUDE.md","rawUrl":"https://raw.githubusercontent.com/wasp-lang/wasp/HEAD/CLAUDE.md","title":"Claude Agent Guidelines & System Prompt","category":"claude-rule","format":"markdown","content":"# Wasp Monorepo\n\nWasp is a full-stack web framework that compiles TypeScript config (`main.wasp.ts`) files into React + Node.js applications. The compiler is written in Haskell.\n\n## Contribution policy\n\nIf you are implementing a change intended as a pull request to `wasp-lang/wasp`:\n\n- **Small, obvious fixes** (typos, broken links, docs corrections, small bugs where the fix is clear and comes with a test) can be implemented and submitted directly.\n- **Anything else** (features, refactors, API or behavior changes, anything involving design decisions) requires a Wasp maintainer's agreement on the approach _before_ the code is written, in a [GitHub issue](https://github.com/wasp-lang/wasp/issues) or in the [`#wasp-dev` channel on Discord](https://discord.wasp.run/wasp-dev). An open issue is not by itself agreement: look for a maintainer confirming the approach in the discussion.\n\nIf you cannot verify that a maintainer has agreed on the approach, do not implement the change. Stop and tell your operator to propose it first. Undiscussed non-trivial PRs are typically closed without review.\n\nWhoever submits the PR must understand the change well enough to explain it and answer review questions themselves. See the [Policies section of CONTRIBUTING.md](CONTRIBUTING.md#policies) for details.\n\n## Repository Structure\n\n- `waspc/` — Haskell compiler, CLI, and LSP server (the core of Wasp)\n  - `src/` — Main compiler library (Analyzer, Generator, AppSpec, Psl)\n  - `cli/src/` — CLI commands (start, build, new, deploy, etc.)\n  - `data/packages/` — TypeScript packages called by the CLI when compiling projects as FFI\n  - `data/Generator/libs/` — TypeScript libraries embedded into generated project code\n  - `data/Generator/templates/` — Mustache templates for code generation\n  - `e2e-tests/` — Golden file snapshot tests\n  - `run` — **Main development script** (run `./run` with no args to see all commands)\n- `wasp-app-runner/` — Node.js CLI for running Wasp apps in e2e tests\n- `web/` — Documentation website (Docusaurus), deployed to wasp.sh\n- `examples/` — Tutorial and example apps (kitchen-sink, waspello, etc.)\n- `scripts/` — Monorepo-level build/packaging scripts\n\n## Build & Development\n\nAll waspc development commands run from the `waspc/` directory via the `./run` script. Run `./run` with no arguments to see the full list of available commands (build, test, format, lint, etc.).\n\nKey things to know:\n\n- Two-phase build: TS packages in `data/packages/` and libs in `data/Generator/libs/` compile first, then Haskell (which embeds them). Use `./run build` for the full build.\n- Run the dev CLI with `./run wasp-cli <args>`.\n- Toolchain versions are specified in `mise.toml`.\n\n## Code Conventions\n\n- When renaming a type or function, cascade the rename to parameters, local variables, and other names derived from it.\n\n### Haskell\n\n- Simple, readable Haskell — no complicated features. See `CONTRIBUTING.md`.\n- Default extensions are listed in `waspc/waspc.cabal`.\n- CamelCase for types/modules, camelCase for functions/values.\n- Qualified imports preferred.\n- Formatting: Ormolu (`./run check:ormolu` / `./run format:ormolu`). Linting: HLint (`./run hlint`, config in `waspc/.hlint.yaml`).\n- Tests use `tasty` + `hspec` + `QuickCheck`, mirroring source module paths with a `Test` suffix.\n\n### TypeScript/JavaScript\n\n- Prettier-formatted (config in `prettier.config.mjs`). Check/fix with `./run check:prettier` / `./run format:prettier`.\n- camelCase for files/functions, PascalCase for components/types.\n\n### Architecture\n\n- **Analyzer** reads the TypeScript config (`main.wasp.ts`) and Prisma schema and produces **AppSpec** (IR). **Generator** consumes AppSpec and produces React/Node.js code.\n- Code generation uses a file draft system and Mustache templates in `data/Generator/templates/`.\n\n## Important Rules\n\n- **E2E snapshots** (`waspc/e2e-tests/test-outputs/snapshots/`) must never be manually edited. Regenerate them by running `cd waspc && ./run build && ./run test:waspc:e2e:accept-all`.\n- **Documentation**: Only edit `web/docs/` (the latest version). Do not modify `web/versioned_docs/` — those are auto-generated snapshots of previous versions.\n- **Markdown snapshots** (`web/markdown-snapshots/`) must never be manually edited. After changing docs, blog, or resources content (or the LLM files plugin), regenerate them by running `cd web && npm run build-dev && npm run markdown-snapshots:update`, then review the diff before committing. CI checks them with `npm run markdown-snapshots:check`.\n- **Pull requests**: Always use the repo's `PULL_REQUEST_TEMPLATE.md`. Never delete any checkbox from the template — leave irrelevant ones unchecked.\n","isInternal":false,"tokens":1151,"sizeBytes":4709},{"name":"marketplace.json","path":".claude-plugin/marketplace.json","rawUrl":"https://raw.githubusercontent.com/wasp-lang/wasp/HEAD/.claude-plugin/marketplace.json","title":"Claude Plugin Marketplace Catalog","category":"marketplace","format":"json","content":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/wasp-lang/wasp/HEAD/.claude-plugin/marketplace.json)","tokens":300,"sizeBytes":193},{"name":"plugin.json","path":".claude-plugin/plugin.json","rawUrl":"https://raw.githubusercontent.com/wasp-lang/wasp/HEAD/.claude-plugin/plugin.json","title":"claude-plugin Plugin Manifest","category":"plugin-manifest","format":"json","content":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/wasp-lang/wasp/HEAD/.claude-plugin/plugin.json)","tokens":300,"sizeBytes":179},{"name":"mcp.json","path":".cursor/mcp.json","rawUrl":"https://raw.githubusercontent.com/wasp-lang/wasp/HEAD/.cursor/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/wasp-lang/wasp/HEAD/.cursor/mcp.json)","tokens":300,"sizeBytes":172}],"systemPromptSnippet":"<yakaai_skills repo=\"wasp-lang/wasp\">\n<!-- File: AGENTS.md (Tokens: ~1151 | Category: root-instruction) -->\n# Wasp Monorepo\n\nWasp is a full-stack web framework that compiles TypeScript config (`main.wasp.ts`) files into React + Node.js applications. The compiler is written in Haskell.\n\n## Contribution policy\n\nIf you are implementing a change intended as a pull request to `wasp-lang/wasp`:\n\n- **Small, obvious fixes** (typos, broken links, docs corrections, small bugs where the fix is clear and comes with a test) can be implemented and submitted directly.\n- **Anything else** (features, refactors, API or behavior changes, anything involving design decisions) requires a Wasp maintainer's agreement on the approach _before_ the code is written, in a [GitHub issue](https://github.com/wasp-lang/wasp/issues) or in the [`#wasp-dev` channel on Discord](https://discord.wasp.run/wasp-dev). An open issue is not by itself agreement: look for a maintainer confirming the approach in the discussion.\n\nIf you cannot verify that a maintainer has agreed on the approach, do not implement the change. Stop and tell your operator to propose it first. Undiscussed non-trivial PRs are typically closed without review.\n\nWhoever submits the PR must understand the change well enough to explain it and answer review questions themselves. See the [Policies section of CONTRIBUTING.md](CONTRIBUTING.md#policies) for details.\n\n## Repository Structure\n\n- `waspc/` — Haskell compiler, CLI, and LSP server (the core of Wasp)\n  - `src/` — Main compiler library (Analyzer, Generator, AppSpec, Psl)\n  - `cli/src/` — CLI commands (start, build, new, deploy, etc.)\n  - `data/packages/` — TypeScript packages called by the CLI when compiling projects as FFI\n  - `data/Generator/libs/` — TypeScript libraries embedded into generated project code\n  - `data/Generator/templates/` — Mustache templates for code generation\n  - `e2e-tests/` — Golden file snapshot tests\n  - `run` — **Main development script** (run `./run` with no args to see all commands)\n- `wasp-app-runner/` — Node.js CLI for running Wasp apps in e2e tests\n- `web/` — Documentation website (Docusaurus), deployed to wasp.sh\n- `examples/` — Tutorial and example apps (kitchen-sink, waspello, etc.)\n- `scripts/` — Monorepo-level build/packaging scripts\n\n## Build & Development\n\nAll waspc development commands run from the `waspc/` directory via the `./run` script. Run `./run` with no arguments to see the full list of available commands (build, test, format, lint, etc.).\n\nKey things to know:\n\n- Two-phase build: TS packages in `data/packages/` and libs in `data/Generator/libs/` compile first, then Haskell (which embeds them). Use `./run build` for the full build.\n- Run the dev CLI with `./run wasp-cli <args>`.\n- Toolchain versions are specified in `mise.toml`.\n\n## Code Conventions\n\n- When renaming a type or function, cascade the rename to parameters, local variables, and other names derived from it.\n\n### Haskell\n\n- Simple, readable Haskell — no complicated features. See `CONTRIBUTING.md`.\n- Default extensions are listed in `waspc/waspc.cabal`.\n- CamelCase for types/modules, camelCase for functions/values.\n- Qualified imports preferred.\n- Formatting: Ormolu (`./run check:ormolu` / `./run format:ormolu`). Linting: HLint (`./run hlint`, config in `waspc/.hlint.yaml`).\n- Tests use `tasty` + `hspec` + `QuickCheck`, mirroring source module paths with a `Test` suffix.\n\n### TypeScript/JavaScript\n\n- Prettier-formatted (config in `prettier.config.mjs`). Check/fix with `./run check:prettier` / `./run format:prettier`.\n- camelCase for files/functions, PascalCase for components/types.\n\n### Architecture\n\n- **Analyzer** reads the TypeScript config (`main.wasp.ts`) and Prisma schema and produces **AppSpec** (IR). **Generator** consumes AppSpec and produces React/Node.js code.\n- Code generation uses a file draft system and Mustache templates in `data/Generator/templates/`.\n\n## Important Rules\n\n- **E2E snapshots** (`waspc/e2e-tests/test-outputs/snapshots/`) must never be manually edited. Regenerate them by running `cd waspc && ./run build && ./run test:waspc:e2e:accept-all`.\n- **Documentation**: Only edit `web/docs/` (the latest version). Do not modify `web/versioned_docs/` — those are auto-generated snapshots of previous versions.\n- **Markdown snapshots** (`web/markdown-snapshots/`) must never be manually edited. After changing docs, blog, or resources content (or the LLM files plugin), regenerate them by running `cd web && npm run build-dev && npm run markdown-snapshots:update`, then review the diff before committing. CI checks them with `npm run markdown-snapshots:check`.\n- **Pull requests**: Always use the repo's `PULL_REQUEST_TEMPLATE.md`. Never delete any checkbox from the template — leave irrelevant ones unchecked.\n\n<!-- File: CLAUDE.md (Tokens: ~1151 | Category: claude-rule) -->\n# Wasp Monorepo\n\nWasp is a full-stack web framework that compiles TypeScript config (`main.wasp.ts`) files into React + Node.js applications. The compiler is written in Haskell.\n\n## Contribution policy\n\nIf you are implementing a change intended as a pull request to `wasp-lang/wasp`:\n\n- **Small, obvious fixes** (typos, broken links, docs corrections, small bugs where the fix is clear and comes with a test) can be implemented and submitted directly.\n- **Anything else** (features, refactors, API or behavior changes, anything involving design decisions) requires a Wasp maintainer's agreement on the approach _before_ the code is written, in a [GitHub issue](https://github.com/wasp-lang/wasp/issues) or in the [`#wasp-dev` channel on Discord](https://discord.wasp.run/wasp-dev). An open issue is not by itself agreement: look for a maintainer confirming the approach in the discussion.\n\nIf you cannot verify that a maintainer has agreed on the approach, do not implement the change. Stop and tell your operator to propose it first. Undiscussed non-trivial PRs are typically closed without review.\n\nWhoever submits the PR must understand the change well enough to explain it and answer review questions themselves. See the [Policies section of CONTRIBUTING.md](CONTRIBUTING.md#policies) for details.\n\n## Repository Structure\n\n- `waspc/` — Haskell compiler, CLI, and LSP server (the core of Wasp)\n  - `src/` — Main compiler library (Analyzer, Generator, AppSpec, Psl)\n  - `cli/src/` — CLI commands (start, build, new, deploy, etc.)\n  - `data/packages/` — TypeScript packages called by the CLI when compiling projects as FFI\n  - `data/Generator/libs/` — TypeScript libraries embedded into generated project code\n  - `data/Generator/templates/` — Mustache templates for code generation\n  - `e2e-tests/` — Golden file snapshot tests\n  - `run` — **Main development script** (run `./run` with no args to see all commands)\n- `wasp-app-runner/` — Node.js CLI for running Wasp apps in e2e tests\n- `web/` — Documentation website (Docusaurus), deployed to wasp.sh\n- `examples/` — Tutorial and example apps (kitchen-sink, waspello, etc.)\n- `scripts/` — Monorepo-level build/packaging scripts\n\n## Build & Development\n\nAll waspc development commands run from the `waspc/` directory via the `./run` script. Run `./run` with no arguments to see the full list of available commands (build, test, format, lint, etc.).\n\nKey things to know:\n\n- Two-phase build: TS packages in `data/packages/` and libs in `data/Generator/libs/` compile first, then Haskell (which embeds them). Use `./run build` for the full build.\n- Run the dev CLI with `./run wasp-cli <args>`.\n- Toolchain versions are specified in `mise.toml`.\n\n## Code Conventions\n\n- When renaming a type or function, cascade the rename to parameters, local variables, and other names derived from it.\n\n### Haskell\n\n- Simple, readable Haskell — no complicated features. See `CONTRIBUTING.md`.\n- Default extensions are listed in `waspc/waspc.cabal`.\n- CamelCase for types/modules, camelCase for functions/values.\n- Qualified imports preferred.\n- Formatting: Ormolu (`./run check:ormolu` / `./run format:ormolu`). Linting: HLint (`./run hlint`, config in `waspc/.hlint.yaml`).\n- Tests use `tasty` + `hspec` + `QuickCheck`, mirroring source module paths with a `Test` suffix.\n\n### TypeScript/JavaScript\n\n- Prettier-formatted (config in `prettier.config.mjs`). Check/fix with `./run check:prettier` / `./run format:prettier`.\n- camelCase for files/functions, PascalCase for components/types.\n\n### Architecture\n\n- **Analyzer** reads the TypeScript config (`main.wasp.ts`) and Prisma schema and produces **AppSpec** (IR). **Generator** consumes AppSpec and produces React/Node.js code.\n- Code generation uses a file draft system and Mustache templates in `data/Generator/templates/`.\n\n## Important Rules\n\n- **E2E snapshots** (`waspc/e2e-tests/test-outputs/snapshots/`) must never be manually edited. Regenerate them by running `cd waspc && ./run build && ./run test:waspc:e2e:accept-all`.\n- **Documentation**: Only edit `web/docs/` (the latest version). Do not modify `web/versioned_docs/` — those are auto-generated snapshots of previous versions.\n- **Markdown snapshots** (`web/markdown-snapshots/`) must never be manually edited. After changing docs, blog, or resources content (or the LLM files plugin), regenerate them by running `cd web && npm run build-dev && npm run markdown-snapshots:update`, then review the diff before committing. CI checks them with `npm run markdown-snapshots:check`.\n- **Pull requests**: Always use the repo's `PULL_REQUEST_TEMPLATE.md`. Never delete any checkbox from the template — leave irrelevant ones unchecked.\n\n<!-- File: .claude-plugin/marketplace.json (Tokens: ~300 | Category: marketplace) -->\n# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/wasp-lang/wasp/HEAD/.claude-plugin/marketplace.json)\n\n<!-- File: .claude-plugin/plugin.json (Tokens: ~300 | Category: plugin-manifest) -->\n# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/wasp-lang/wasp/HEAD/.claude-plugin/plugin.json)\n\n<!-- File: .cursor/mcp.json (Tokens: ~300 | Category: mcp-config) -->\n# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/wasp-lang/wasp/HEAD/.cursor/mcp.json)\n</yakaai_skills>"}