Docs: onboarding copy, link modernization, and docs lint#3445
Docs: onboarding copy, link modernization, and docs lint#3445
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Summary by CodeRabbit
WalkthroughDocs and templates migrated from "Moose" to "MooseStack"; examples updated to new public API shapes (ConsumptionApi → Api, IngestConfigWithDestination, MooseClient, new run signature); MDX include syntax standardized; docs linting/tooling added; legacy quickstart removed and redirected; many README/install flows consolidated. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 6
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
templates/typescript-mcp/README.md (1)
177-180:⚠️ Potential issue | 🟡 MinorStale documentation links remain.
Lines 177 and 180 still reference
docs.moosejs.comwhile other links in this PR were migrated todocs.fiveonefour.com/moosestack. Update for consistency:Proposed fix
## Learn More -- [MooseStack Documentation](https://docs.moosejs.com) +- [MooseStack Documentation](https://docs.fiveonefour.com/moosestack) - [Model Context Protocol](https://modelcontextprotocol.io) - [MCP SDK (`@modelcontextprotocol/sdk`)](https://github.com/modelcontextprotocol/typescript-sdk) -- [WebApp Class Reference](https://docs.moosejs.com/building-moose-apps/custom-apis) +- [WebApp Class Reference](https://docs.fiveonefour.com/moosestack/building-moose-apps/custom-apis)apps/framework-docs-v2/content/moosestack/engines/kafka.mdx (1)
52-52:⚠️ Potential issue | 🟡 MinorMissing
BaseModelimport in Python example.
BaseModelis used but not imported. Add the pydantic import.Proposed fix
from moose_lib import OlapTable, OlapConfig from moose_lib.blocks import KafkaEngine from moose_lib.dmv2 import MaterializedView, MaterializedViewOptions +from pydantic import BaseModel class KafkaEvent(BaseModel):templates/github-dev-trends/apps/moose-backend/README.md (1)
15-19:⚠️ Potential issue | 🟡 MinorIncomplete link migration: legacy domain still referenced.
Lines 15 and 19 still use
docs.getmoose.devwhile other links in this file were updated todocs.fiveonefour.com/moosestack. These should be updated for consistency.Proposed fix
-Get up and running with your own Moose project in minutes by using our [Quick Start Tutorial](https://docs.getmoose.dev/quickstart). We also have our [Docs](https://docs.getmoose.dev/) where you can pick your path, learn more about Moose, and learn what types of applications can be built with Moose. +Get up and running with your own Moose project in minutes by using our [Quick Start Tutorial](https://docs.fiveonefour.com/moosestack/getting-started/quickstart). We also have our [Docs](https://docs.fiveonefour.com/moosestack) where you can pick your path, learn more about Moose, and learn what types of applications can be built with Moose.-Moose is beta software and is in active development. Multiple public companies across the globe are using Moose in production. We'd love for you to [get your hands on it and try it out](https://docs.getmoose.dev/quickstart). If you're interested in using Moose in production, or if you just want to chat, you can reach us at [hello@moosejs.dev](mailto:hello@moosejs.dev) or in the Moose developer community below. +Moose is beta software and is in active development. Multiple public companies across the globe are using Moose in production. We'd love for you to [get your hands on it and try it out](https://docs.fiveonefour.com/moosestack/getting-started/quickstart). If you're interested in using Moose in production, or if you just want to chat, you can reach us at [hello@moosejs.dev](mailto:hello@moosejs.dev) or in the Moose developer community below.
🤖 Fix all issues with AI agents
In `@apps/framework-docs-v2/CLAUDE.md`:
- Line 39: Add a blank line after the heading "### App Structure (Next.js App
Router)" to satisfy MD022; locate that exact heading in CLAUDE.md and insert a
single empty line between the heading and the following content ("src/app/") so
the heading is surrounded by blank lines.
In `@apps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdx`:
- Around line 8-9: Remove the unused PathConfig symbol from the top import
statement so the file no longer imports an unreferenced value; edit the import
that currently lists Callout, ToggleBlock, MuxVideo, BulletPointsCard,
IconBadge, CTACards, CTACard, LanguageTabs, LanguageTabContent, FileTree, Tabs,
TabsList, TabsTrigger, TabsContent and remove PathConfig from that list (or
delete the separate PathConfig import if it exists), and then run a quick search
in this file for any remaining PathConfig references to ensure safe removal.
In `@apps/framework-docs-v2/content/moosestack/index.mdx`:
- Line 139: The generic types for analytics_api are incorrect: Api[QueryParams,
DataModel] expects a single DataModel return but run returns list[DataModel];
update the generic to reflect an array/list return (e.g., Api[QueryParams,
List[DataModel]] or Api[QueryParams, DataModel[]] depending on typing style) so
that the Api generic matches run's return type; change the declaration of
analytics_api (and any related type imports) to use the list/array type for
DataModel while keeping QueryParams as the first generic.
In `@apps/framework-docs-v2/package.json`:
- Around line 13-15: The current npm "lint" script only runs "typecheck" and the
custom "lint:docs" but omits Next/ESLint; update the "lint" script in
package.json so it runs "typecheck", "lint:docs" and then "next lint" (e.g.,
change "lint" to run "pnpm run typecheck && pnpm run lint:docs && next lint") so
ESLint checks for code/JSX in src/app/ and scripts/ are executed; make sure the
script names "lint", "typecheck", and "lint:docs" are used as references when
modifying the package.json.
In `@apps/framework-docs-v2/scripts/lint-docs.ts`:
- Around line 8-13: The Issue object is declared with a type alias but your
style guide prefers interfaces for object shapes; replace the type Issue
declaration with an interface Issue that has the same properties (file, code,
message, optional line) and update any imports/uses if needed so consumers
reference the interface; ensure the interface is exported if it is part of the
module's public API (check functions like any linting helpers that return or
accept Issue and add explicit return types referencing the interface where
appropriate).
In `@README.md`:
- Around line 171-178: The Api generic is using the wrong response type: the
function run returns list[DataModel], but analytics_api is declared as
Api[QueryParams, DataModel]; change the second type parameter on the Api
instantiation to match the actual return type (e.g., Api[QueryParams,
list[DataModel]]). Update any imports or typing annotations if necessary so
list[DataModel] is a valid type in that context, and ensure the symbols run,
Api, QueryParams, DataModel, and analytics_api are updated accordingly.
📜 Review details
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (49)
README.mdapps/framework-docs-v2/CLAUDE.mdapps/framework-docs-v2/COPY_AUDIT.mdapps/framework-docs-v2/DOCS_COPY_BRIEF_TEMPLATE.mdapps/framework-docs-v2/DOCS_COPY_STYLE_GUIDE.mdapps/framework-docs-v2/DOCS_PR_CHECKLIST.mdapps/framework-docs-v2/content/ai/demos/context.mdxapps/framework-docs-v2/content/ai/demos/dlqs.mdxapps/framework-docs-v2/content/ai/demos/egress.mdxapps/framework-docs-v2/content/ai/demos/ingest.mdxapps/framework-docs-v2/content/ai/demos/model-data.mdxapps/framework-docs-v2/content/ai/demos/mvs.mdxapps/framework-docs-v2/content/guides/chat-in-your-app.mdxapps/framework-docs-v2/content/guides/static-report-generation.mdxapps/framework-docs-v2/content/moosestack/deploying/configuring-moose-for-cloud.mdxapps/framework-docs-v2/content/moosestack/engines/kafka.mdxapps/framework-docs-v2/content/moosestack/getting-started/existing-app/fastify.mdxapps/framework-docs-v2/content/moosestack/getting-started/existing-app/next-js.mdxapps/framework-docs-v2/content/moosestack/getting-started/index.mdxapps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdxapps/framework-docs-v2/content/moosestack/help/index.mdxapps/framework-docs-v2/content/moosestack/help/troubleshooting.mdxapps/framework-docs-v2/content/moosestack/index.mdxapps/framework-docs-v2/content/moosestack/quickstart.mdxapps/framework-docs-v2/next.config.jsapps/framework-docs-v2/package.jsonapps/framework-docs-v2/scripts/lint-docs.tsapps/framework-docs-v2/scripts/test-snippets.tstemplates/ads-b-frontend/README.mdtemplates/ads-b/README.mdtemplates/brainwaves/README.mdtemplates/brainwaves/apps/brainmoose/app/index.tstemplates/github-dev-trends/Readme.mdtemplates/github-dev-trends/apps/moose-backend/README.mdtemplates/live-heartrate-leaderboard/README.mdtemplates/next-app-empty/README.mdtemplates/python-empty/README.mdtemplates/python-experimental/README.mdtemplates/python-fastapi-client-only/README.mdtemplates/python-fastapi/README.mdtemplates/python-tests/README.mdtemplates/python/README.mdtemplates/typescript-empty/README.mdtemplates/typescript-empty/app/index.tstemplates/typescript-express/README.mdtemplates/typescript-fastify/README.mdtemplates/typescript-mcp/README.mdtemplates/typescript-tests/README.mdtemplates/typescript/README.md
💤 Files with no reviewable changes (1)
- apps/framework-docs-v2/content/moosestack/quickstart.mdx
🧰 Additional context used
📓 Path-based instructions (5)
templates/**
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
For template modifications in the
templates/directory, verify they can still run in isolation
Files:
templates/ads-b-frontend/README.mdtemplates/typescript-tests/README.mdtemplates/typescript-fastify/README.mdtemplates/github-dev-trends/Readme.mdtemplates/typescript/README.mdtemplates/python-tests/README.mdtemplates/python/README.mdtemplates/python-fastapi/README.mdtemplates/brainwaves/apps/brainmoose/app/index.tstemplates/typescript-express/README.mdtemplates/python-empty/README.mdtemplates/typescript-mcp/README.mdtemplates/python-fastapi-client-only/README.mdtemplates/python-experimental/README.mdtemplates/typescript-empty/app/index.tstemplates/typescript-empty/README.mdtemplates/live-heartrate-leaderboard/README.mdtemplates/github-dev-trends/apps/moose-backend/README.mdtemplates/ads-b/README.mdtemplates/next-app-empty/README.mdtemplates/brainwaves/README.md
apps/framework-docs-v2/content/**/*.mdx
📄 CodeRabbit inference engine (apps/framework-docs-v2/CLAUDE.md)
apps/framework-docs-v2/content/**/*.mdx: Use{{ include "shared/path.mdx" }}directives to reuse content fragments, which are processed viaprocessIncludes()during build
Validate code snippets in documentation with the@testdirective for TypeScript and Python code blocks
TypeScript code snippets in documentation should be validated for syntax with brace matching; Python snippets should be validated for indentation
Files:
apps/framework-docs-v2/content/moosestack/getting-started/existing-app/next-js.mdxapps/framework-docs-v2/content/ai/demos/egress.mdxapps/framework-docs-v2/content/moosestack/help/troubleshooting.mdxapps/framework-docs-v2/content/moosestack/getting-started/index.mdxapps/framework-docs-v2/content/moosestack/deploying/configuring-moose-for-cloud.mdxapps/framework-docs-v2/content/guides/static-report-generation.mdxapps/framework-docs-v2/content/moosestack/getting-started/existing-app/fastify.mdxapps/framework-docs-v2/content/ai/demos/dlqs.mdxapps/framework-docs-v2/content/ai/demos/mvs.mdxapps/framework-docs-v2/content/ai/demos/ingest.mdxapps/framework-docs-v2/content/ai/demos/model-data.mdxapps/framework-docs-v2/content/moosestack/engines/kafka.mdxapps/framework-docs-v2/content/ai/demos/context.mdxapps/framework-docs-v2/content/guides/chat-in-your-app.mdxapps/framework-docs-v2/content/moosestack/index.mdxapps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdxapps/framework-docs-v2/content/moosestack/help/index.mdx
**/*.{ts,tsx,js,jsx}
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Run linting checks before submitting PRs for TypeScript/JavaScript code
**/*.{ts,tsx,js,jsx}: Group imports by external dependencies, internal modules, and types; use named exports from barrel files (index.ts)
Use camelCase for variables and functions, PascalCase for types/classes/components, UPPER_SNAKE_CASE for constants in TypeScript/JavaScript
Prefix unused variables with underscore (e.g.,_unusedParam) to bypass linting errors in TypeScript/JavaScript
Format TypeScript/JavaScript code with Prettier usingexperimentalTernaries: true; auto-formats on commit via Husky + lint-staged
Files:
templates/brainwaves/apps/brainmoose/app/index.tsapps/framework-docs-v2/next.config.jstemplates/typescript-empty/app/index.tsapps/framework-docs-v2/scripts/lint-docs.tsapps/framework-docs-v2/scripts/test-snippets.ts
**/*.{ts,tsx}
📄 CodeRabbit inference engine (AGENTS.md)
Prefer interfaces for objects, types for unions/intersections in TypeScript; explicit return types on public APIs
Files:
templates/brainwaves/apps/brainmoose/app/index.tstemplates/typescript-empty/app/index.tsapps/framework-docs-v2/scripts/lint-docs.tsapps/framework-docs-v2/scripts/test-snippets.ts
apps/framework-docs-v2/content/guides/**/*.mdx
📄 CodeRabbit inference engine (apps/framework-docs-v2/CLAUDE.md)
Guide MDX files in
content/guides/must include frontmatter with title and description fields
Files:
apps/framework-docs-v2/content/guides/static-report-generation.mdxapps/framework-docs-v2/content/guides/chat-in-your-app.mdx
🧠 Learnings (39)
📓 Common learnings
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-01T23:07:12.348Z
Learning: Always run end-to-end tests when changing MooseStack functionality
📚 Learning: 2026-01-28T14:50:11.465Z
Learnt from: cjus
Repo: 514-labs/moosestack PR: 3407
File: apps/framework-docs-v2/content/guides/static-report-generation.mdx:1402-1406
Timestamp: 2026-01-28T14:50:11.465Z
Learning: Moose WebApp handlers are Node.js-only server-side code that runs in the backend runtime, never in browsers. When reviewing WebApp implementations, Node.js-specific types like `Buffer` are appropriate and don't need cross-platform browser compatibility considerations.
Applied to files:
templates/ads-b-frontend/README.mdtemplates/typescript-tests/README.mdtemplates/typescript-fastify/README.mdtemplates/github-dev-trends/Readme.mdtemplates/typescript/README.mdtemplates/python-fastapi/README.mdtemplates/typescript-express/README.mdtemplates/typescript-mcp/README.mdapps/framework-docs-v2/CLAUDE.mdtemplates/typescript-empty/app/index.tstemplates/typescript-empty/README.mdREADME.mdtemplates/github-dev-trends/apps/moose-backend/README.mdtemplates/ads-b/README.mdtemplates/next-app-empty/README.md
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: The moose query layer represents a two-step OLAP migration pattern: Step 1 (not shown) shifts just-in-time joins to write-time via Materialized Views; Step 2 (this demo) accelerates endpoint creation with the query layer. This architecture assumes MVs/OLAP tables already exist and focuses on the read-time query selection and filtering layer
Applied to files:
templates/ads-b-frontend/README.mdtemplates/typescript-tests/README.mdtemplates/typescript-fastify/README.mdtemplates/typescript/README.mdtemplates/python-tests/README.mdtemplates/python-fastapi/README.mdtemplates/brainwaves/apps/brainmoose/app/index.tstemplates/typescript-express/README.mdtemplates/python-empty/README.mdapps/framework-docs-v2/content/guides/static-report-generation.mdxtemplates/python-experimental/README.mdtemplates/typescript-empty/app/index.tsREADME.mdtemplates/github-dev-trends/apps/moose-backend/README.mdapps/framework-docs-v2/content/moosestack/index.mdxtemplates/ads-b/README.mdapps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdxtemplates/next-app-empty/README.md
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: Applies to examples/nextjs-moose/app/actions.ts : Server actions must import query functions from the moose package and wrap them, serving as the bridge between frontend React components and backend moose query functions
Applied to files:
apps/framework-docs-v2/content/moosestack/getting-started/existing-app/next-js.mdxtemplates/brainwaves/apps/brainmoose/app/index.tstemplates/typescript-express/README.mdtemplates/typescript-mcp/README.mdapps/framework-docs-v2/content/moosestack/getting-started/existing-app/fastify.mdxapps/framework-docs-v2/CLAUDE.mdtemplates/typescript-empty/app/index.tsREADME.mdapps/framework-docs-v2/content/guides/chat-in-your-app.mdxapps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdx
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: Applies to examples/nextjs-moose/components/dashboard/**/*.ts : Dashboard hooks must call server actions (not moose functions directly) to decouple React components from ClickHouse implementation details
Applied to files:
apps/framework-docs-v2/content/moosestack/getting-started/existing-app/next-js.mdxapps/framework-docs-v2/CLAUDE.mdtemplates/typescript-empty/app/index.tsREADME.mdapps/framework-docs-v2/content/guides/chat-in-your-app.mdxapps/framework-docs-v2/content/moosestack/index.mdxapps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdx
📚 Learning: 2026-01-28T14:50:00.978Z
Learnt from: cjus
Repo: 514-labs/moosestack PR: 3407
File: apps/framework-docs-v2/content/guides/static-report-generation.mdx:1402-1406
Timestamp: 2026-01-28T14:50:00.978Z
Learning: When reviewing WebApp implementations that run in a Node.js backend, prefer Node.js-specific types (e.g., Buffer) and avoid browser-focused cross-platform compatibility considerations. This guideline applies to MDX documentation and code examples across the repository where backend/runtime code is discussed; ensure reviewers distinguish server-side context from frontend/browser constraints and validate type usage accordingly.
Applied to files:
apps/framework-docs-v2/content/moosestack/getting-started/existing-app/next-js.mdxapps/framework-docs-v2/content/ai/demos/egress.mdxapps/framework-docs-v2/content/moosestack/help/troubleshooting.mdxapps/framework-docs-v2/content/moosestack/getting-started/index.mdxapps/framework-docs-v2/content/moosestack/deploying/configuring-moose-for-cloud.mdxapps/framework-docs-v2/content/guides/static-report-generation.mdxapps/framework-docs-v2/content/moosestack/getting-started/existing-app/fastify.mdxapps/framework-docs-v2/content/ai/demos/dlqs.mdxapps/framework-docs-v2/content/ai/demos/mvs.mdxapps/framework-docs-v2/content/ai/demos/ingest.mdxapps/framework-docs-v2/content/ai/demos/model-data.mdxapps/framework-docs-v2/content/moosestack/engines/kafka.mdxapps/framework-docs-v2/content/ai/demos/context.mdxapps/framework-docs-v2/content/guides/chat-in-your-app.mdxapps/framework-docs-v2/content/moosestack/index.mdxapps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdxapps/framework-docs-v2/content/moosestack/help/index.mdx
📚 Learning: 2026-01-26T00:56:27.011Z
Learnt from: DatGuyJonathan
Repo: 514-labs/moosestack PR: 3400
File: apps/framework-cli/src/framework/core/infrastructure_map.rs:1238-1298
Timestamp: 2026-01-26T00:56:27.011Z
Learning: Repo 514-labs/moosestack — Workflows: The CLI’s workflow diff is intended to detect only Temporal schedule–affecting changes. In apps/framework-cli/src/framework/core/infrastructure_map.rs, workflows_config_equal should compare schedule, retries, and timeout only; it must not include tasks. Task code/config changes are picked up automatically when the orchestration worker restarts and should not trigger a WorkflowChange.
Applied to files:
apps/framework-docs-v2/content/moosestack/getting-started/existing-app/next-js.mdxapps/framework-docs-v2/content/moosestack/getting-started/existing-app/fastify.mdxtemplates/github-dev-trends/apps/moose-backend/README.mdapps/framework-docs-v2/content/moosestack/index.mdxapps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdxapps/framework-docs-v2/content/moosestack/help/index.mdxtemplates/next-app-empty/README.md
📚 Learning: 2025-12-16T23:09:10.917Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-cli/AGENTS.md:0-0
Timestamp: 2025-12-16T23:09:10.917Z
Learning: Applies to apps/framework-cli/**/*.rs : Document all public APIs and breaking changes
Applied to files:
templates/typescript-fastify/README.mdtemplates/brainwaves/apps/brainmoose/app/index.tstemplates/typescript-express/README.mdapps/framework-docs-v2/DOCS_COPY_BRIEF_TEMPLATE.mdapps/framework-docs-v2/DOCS_PR_CHECKLIST.mdapps/framework-docs-v2/CLAUDE.mdtemplates/typescript-empty/app/index.tstemplates/typescript-empty/README.mdapps/framework-docs-v2/DOCS_COPY_STYLE_GUIDE.mdtemplates/github-dev-trends/apps/moose-backend/README.mdapps/framework-docs-v2/package.jsontemplates/ads-b/README.mdtemplates/next-app-empty/README.md
📚 Learning: 2026-01-28T14:55:13.411Z
Learnt from: cjus
Repo: 514-labs/moosestack PR: 3407
File: apps/framework-docs-v2/content/guides/static-report-generation.mdx:1585-1616
Timestamp: 2026-01-28T14:55:13.411Z
Learning: In documentation and tutorial files under apps/framework-docs-v2/content/guides/, prefer explicit, self-contained code examples that may duplicate small snippets for clarity over abstracting with DRY helpers. Ensure examples are easy to understand in isolation, even if it means a bit of repetition, to aid learning and reduce cognitive load for readers.
Applied to files:
apps/framework-docs-v2/content/guides/static-report-generation.mdxapps/framework-docs-v2/content/guides/chat-in-your-app.mdx
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Applies to apps/framework-docs-v2/content/**/*.mdx : Use `{{ include "shared/path.mdx" }}` directives to reuse content fragments, which are processed via `processIncludes()` during build
Applied to files:
apps/framework-docs-v2/DOCS_COPY_BRIEF_TEMPLATE.mdapps/framework-docs-v2/CLAUDE.mdapps/framework-docs-v2/content/guides/chat-in-your-app.mdx
📚 Learning: 2026-01-15T19:41:53.563Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/cdp-analytics/CLAUDE.md:0-0
Timestamp: 2026-01-15T19:41:53.563Z
Learning: Applies to examples/cdp-analytics/app/apis/mcp.ts : MCP tools registered in the mcp.ts file should use descriptive names in snake_case, include tool descriptions, define parameters with Zod schema validation, and return results as JSON-stringified content
Applied to files:
templates/typescript-mcp/README.md
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: Server actions serve as the primary bridge between frontend React components and backend moose query functions. The communication flow should always be: React Component → Hook → Server Action → Moose Query Function → eventsModel.toSql() → ClickHouse
Applied to files:
templates/typescript-mcp/README.mdREADME.mdapps/framework-docs-v2/content/guides/chat-in-your-app.mdx
📚 Learning: 2026-02-01T23:07:12.348Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-01T23:07:12.348Z
Learning: Audit documentation when changing user-facing features
Applied to files:
apps/framework-docs-v2/COPY_AUDIT.md
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Search content must be generated in `.search-index/` directory via `scripts/generate-search-index.ts` and indexed with Pagefind, not sourced directly from Next.js output
Applied to files:
apps/framework-docs-v2/CLAUDE.mdapps/framework-docs-v2/package.json
📚 Learning: 2026-01-19T20:47:10.159Z
Learnt from: DatGuyJonathan
Repo: 514-labs/moosestack PR: 3365
File: apps/framework-docs-v2/src/proxy.ts:4-21
Timestamp: 2026-01-19T20:47:10.159Z
Learning: In Next.js 15/16+, middleware has been renamed to "proxy". A file named `proxy.ts` placed in the project root or `src/` directory with an exported `proxy` function and optional `config` object with `matcher` will be automatically loaded by Next.js without additional configuration. This is the correct pattern for route rewrites and does not require integration in next.config.js.
Applied to files:
apps/framework-docs-v2/CLAUDE.mdapps/framework-docs-v2/next.config.js
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Validate `{{ include }}` directives in content before build using `pnpm run validate:includes` with `scripts/validate-includes.ts`
Applied to files:
apps/framework-docs-v2/CLAUDE.mdapps/framework-docs-v2/package.json
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Content in the `shared/` folder must only be used via the `include` system (processed by `src/lib/includes.ts`), not directly as routes
Applied to files:
apps/framework-docs-v2/CLAUDE.md
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Applies to apps/framework-docs-v2/content/**/*.mdx : Validate code snippets in documentation with the `test` directive for TypeScript and Python code blocks
Applied to files:
apps/framework-docs-v2/CLAUDE.mdapps/framework-docs-v2/scripts/lint-docs.tsapps/framework-docs-v2/scripts/test-snippets.ts
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Navigation configuration must be manually maintained in `src/config/navigation.ts` and not auto-generated from file structure
Applied to files:
apps/framework-docs-v2/CLAUDE.md
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Add new guides to `guidesNavigationConfig` in `src/config/navigation.ts` with required fields: type, slug, title, icon, languages, and status (start as 'draft')
Applied to files:
apps/framework-docs-v2/CLAUDE.md
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Applies to apps/framework-docs-v2/src/app/**/page.tsx : All pages in the documentation site must use `generateStaticParams` for static site generation (SSG)
Applied to files:
apps/framework-docs-v2/CLAUDE.md
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: Applies to examples/nextjs-moose/components/report-builder/**/*.ts : Report builder components must use `prepareModel()` to transform backend model definitions for frontend consumption, configuring UI input types and options
Applied to files:
templates/typescript-empty/app/index.tsREADME.mdapps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdx
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: Applies to examples/nextjs-moose/moose/src/query-examples/**/*.ts : Query example functions must use `eventsModel.toSql()` to generate SQL, ensuring consistent query construction through the defined model
Applied to files:
templates/typescript-empty/app/index.tsREADME.md
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Applies to apps/framework-docs-v2/content/guides/**/*.mdx : Guide MDX files in `content/guides/` must include frontmatter with title and description fields
Applied to files:
apps/framework-docs-v2/DOCS_COPY_STYLE_GUIDE.mdapps/framework-docs-v2/scripts/lint-docs.tsapps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdx
📚 Learning: 2026-01-08T18:32:10.998Z
Learnt from: DatGuyJonathan
Repo: 514-labs/moosestack PR: 3170
File: apps/framework-docs-v2/src/components/copy-page-button.tsx:36-38
Timestamp: 2026-01-08T18:32:10.998Z
Learning: In the moosestack repository (apps/framework-docs-v2), ternary expressions for conditional JSX rendering follow a specific formatting style where the condition and `?` are on the first line, the true branch is indented on the next line, and the `:` and false branch are on the third line without parentheses. This pattern is especially common for copy/check icon toggles.
Applied to files:
apps/framework-docs-v2/DOCS_COPY_STYLE_GUIDE.md
📚 Learning: 2026-01-15T19:41:53.563Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/cdp-analytics/CLAUDE.md:0-0
Timestamp: 2026-01-15T19:41:53.563Z
Learning: Applies to examples/cdp-analytics/app/ingest/models.ts : Data models in ingest/models.ts should define interfaces using the Model naming convention, and create corresponding IngestPipeline instances with table, stream, and ingestApi options enabled
Applied to files:
README.mdapps/framework-docs-v2/content/moosestack/index.mdx
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: Applies to examples/nextjs-moose/moose/src/query-examples/model.ts : Query model definitions must include `dimensions` (for GROUP BY), `metrics` (for aggregates), `filters` (with allowed operators), and `sortable` (list of sortable fields)
Applied to files:
README.md
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: Applies to examples/nextjs-moose/**/*.ts : Use type inference helpers (`$inferRequest`, `$inferDimensions`, `$inferMetrics`) from query model definitions to ensure type-safe query parameter construction
Applied to files:
README.md
📚 Learning: 2026-01-15T19:41:53.563Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/cdp-analytics/CLAUDE.md:0-0
Timestamp: 2026-01-15T19:41:53.563Z
Learning: Applies to examples/cdp-analytics/app/services/analyticsService.ts : Service functions in analyticsService.ts should execute queries using executeQuery helper, transform raw results, and return typed data structures defined in types/analytics.ts
Applied to files:
README.md
📚 Learning: 2026-02-01T23:07:12.348Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-01T23:07:12.348Z
Learning: Always run end-to-end tests when changing MooseStack functionality
Applied to files:
templates/github-dev-trends/apps/moose-backend/README.md
📚 Learning: 2025-12-16T23:08:31.521Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-16T23:08:31.521Z
Learning: Build TypeScript/JavaScript packages using `pnpm build` before integration
Applied to files:
apps/framework-docs-v2/package.json
📚 Learning: 2025-12-16T23:08:31.521Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-16T23:08:31.521Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Run linting checks before submitting PRs for TypeScript/JavaScript code
Applied to files:
apps/framework-docs-v2/package.jsonapps/framework-docs-v2/scripts/lint-docs.tsapps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdx
📚 Learning: 2026-02-01T23:07:12.348Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-01T23:07:12.348Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Format TypeScript/JavaScript code with Prettier using `experimentalTernaries: true`; auto-formats on commit via Husky + lint-staged
Applied to files:
apps/framework-docs-v2/package.json
📚 Learning: 2025-12-16T23:08:31.521Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-16T23:08:31.521Z
Learning: Ensure all tests pass: `cargo test` for Rust components and appropriate test commands for TS/JS
Applied to files:
apps/framework-docs-v2/package.jsonapps/framework-docs-v2/scripts/test-snippets.ts
📚 Learning: 2026-01-15T19:41:53.563Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/cdp-analytics/CLAUDE.md:0-0
Timestamp: 2026-01-15T19:41:53.563Z
Learning: Applies to examples/cdp-analytics/app/apis/*.ts : Always separate routing from business logic in APIs. Route files should be thin (~10 lines per endpoint) and contain only HTTP handling, while service files contain all business logic.
Applied to files:
apps/framework-docs-v2/content/guides/chat-in-your-app.mdx
📚 Learning: 2026-01-15T19:41:53.563Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/cdp-analytics/CLAUDE.md:0-0
Timestamp: 2026-01-15T19:41:53.563Z
Learning: Applies to examples/cdp-analytics/app/apis/*.ts : API route files should follow a consistent error handling pattern: call service function inside try-catch, return result with res.json(), and respond with 500 status and error message on failure
Applied to files:
apps/framework-docs-v2/content/guides/chat-in-your-app.mdx
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: API route files for LLM-friendly content must be located at `src/app/api/llm/[...slug]/route.ts` with appropriate slug handling
Applied to files:
apps/framework-docs-v2/content/guides/chat-in-your-app.mdx
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Applies to apps/framework-docs-v2/content/**/*.mdx : TypeScript code snippets in documentation should be validated for syntax with brace matching; Python snippets should be validated for indentation
Applied to files:
apps/framework-docs-v2/scripts/lint-docs.tsapps/framework-docs-v2/scripts/test-snippets.ts
📚 Learning: 2026-02-01T23:07:12.348Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-01T23:07:12.348Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Prefix unused variables with underscore (e.g., `_unusedParam`) to bypass linting errors in TypeScript/JavaScript
Applied to files:
apps/framework-docs-v2/scripts/lint-docs.ts
🧬 Code graph analysis (1)
apps/framework-docs-v2/scripts/lint-docs.ts (1)
apps/framework-docs-v2/src/lib/includes.ts (1)
CONTENT_ROOT(9-9)
🪛 LanguageTool
templates/github-dev-trends/apps/moose-backend/README.md
[style] ~29-~29: Using many exclamation marks might seem excessive (in this case: 3 exclamation marks for a text that’s 2138 characters long)
Context: ...uting We welcome contributions to Moose! Please check out the [contribution guid...
(EN_EXCESSIVE_EXCLAMATION)
🪛 markdownlint-cli2 (0.20.0)
templates/typescript-tests/README.md
[warning] 1-1: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
templates/typescript/README.md
[warning] 13-13: Ordered list item prefix
Expected: 1; Actual: 2; Style: 1/1/1
(MD029, ol-prefix)
[warning] 19-19: Ordered list item prefix
Expected: 1; Actual: 3; Style: 1/1/1
(MD029, ol-prefix)
templates/python/README.md
[warning] 18-18: Ordered list item prefix
Expected: 1; Actual: 2; Style: 1/1/1
(MD029, ol-prefix)
[warning] 26-26: Ordered list item prefix
Expected: 1; Actual: 3; Style: 1/1/1
(MD029, ol-prefix)
templates/python-fastapi/README.md
[warning] 1-1: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
apps/framework-docs-v2/CLAUDE.md
[warning] 39-39: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
⏰ Context from checks skipped due to timeout of 900000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
- GitHub Check: Test E2E TypeScript Tests Template (Node 20, npm)
- GitHub Check: Test E2E TypeScript Tests Template (Node 24, npm)
- GitHub Check: Test E2E TypeScript Tests Template (Node 22, npm)
- GitHub Check: Test E2E Python Tests Template (Python 3.12)
- GitHub Check: Test E2E Python Tests Template (Python 3.13)
🔇 Additional comments (62)
apps/framework-docs-v2/content/moosestack/deploying/configuring-moose-for-cloud.mdx (1)
133-133: LGTM — correct repo link update.apps/framework-docs-v2/content/moosestack/getting-started/existing-app/next-js.mdx (1)
129-131: LGTM — updated command path is consistent.apps/framework-docs-v2/content/guides/chat-in-your-app.mdx (1)
545-552: Links look consistent with the moosestack paths.
Line 546-552 changes are clear and align with the updated repo locations.apps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdx (3)
3-3: LGTM!Branding update to MooseStack aligns with PR objectives.
40-41: LGTM!Copy improvement: cleaner phrasing for prerequisites section.
723-723: LGTM!GitHub issues link correctly updated to
514-labs/moosestackrepository, consistent with rebranding.apps/framework-docs-v2/content/moosestack/getting-started/existing-app/fastify.mdx (1)
129-131: Example path exists and is correct.The updated path
514-labs/moosestack/examples/fastify-moose/mooseis valid in the target repository.apps/framework-docs-v2/content/moosestack/index.mdx (4)
20-20: LGTM!Clear, concise tagline.
97-106: LGTM!Imports are complete and match usage below.
117-126: LGTM!Destination wiring pattern matches TypeScript example correctly.
132-137: LGTM!Clean parameterized query with
row_typefor type-safe deserialization.templates/brainwaves/apps/brainmoose/app/index.ts (1)
6-6:⚠️ Potential issue | 🔴 CriticalFix documentation URLs — pointing to incorrect paths.
The URLs reference
/moosestackbut MooseStack documentation lives at/moose. Update lines 6, 46-47 to use:
https://docs.fiveonefour.com/moosehttps://docs.fiveonefour.com/moose/reference/typescript-api-reference⛔ Skipped due to learnings
Learnt from: cjus Repo: 514-labs/moosestack PR: 3407 File: apps/framework-docs-v2/content/guides/static-report-generation.mdx:1402-1406 Timestamp: 2026-01-28T14:50:11.465Z Learning: Moose WebApp handlers are Node.js-only server-side code that runs in the backend runtime, never in browsers. When reviewing WebApp implementations, Node.js-specific types like `Buffer` are appropriate and don't need cross-platform browser compatibility considerations.templates/typescript-empty/README.md (2)
1-32: Documentation links updated correctly.All docs.fiveonefour.com links now consistently point to
/moosestack/paths. The branding update is complete.
3-3: No action required. The image URL resolves successfully and serves the logo correctly.apps/framework-docs-v2/content/ai/demos/model-data.mdx (1)
1-5: YAML frontmatter correctly quoted.Quoting the description prevents YAML parsing errors from the colon in "Demo: Model data...".
apps/framework-docs-v2/content/ai/demos/egress.mdx (1)
1-5: YAML frontmatter correctly quoted.Consistent with other demo pages. Colon-containing descriptions require quotes.
templates/python-experimental/README.md (2)
29-29: Documentation badge link updated.Quickstart link now points to the correct moosestack path.
88-88: Learn More link updated.Consistent with the broader moosestack branding migration.
templates/typescript-mcp/README.md (1)
17-17: BYO API link correctly updated.Now points to the moosestack documentation path.
apps/framework-docs-v2/content/ai/demos/context.mdx (1)
1-5: YAML frontmatter correctly quoted.Consistent with the other AI demo pages.
apps/framework-docs-v2/content/moosestack/engines/kafka.mdx (1)
9-9: Internal link correctly updated.MaterializedView reference now points to the moosestack path.
apps/framework-docs-v2/content/moosestack/getting-started/index.mdx (2)
9-9: Wording update looks good.
Clearer call-to-action with no structural impact.
34-34: Punctuation tweak is fine.
Consistent sentence style.apps/framework-docs-v2/content/ai/demos/ingest.mdx (1)
3-3: Front matter quoting is safe.
Avoids YAML parsing edge cases.apps/framework-docs-v2/content/ai/demos/mvs.mdx (1)
3-3: Front matter quoting is safe.
Consistent with other AI demo pages.templates/python-empty/README.md (2)
7-7: Docs badge link update is fine.
No impact on template behavior.
32-32: Documentation link update is fine.
Keeps references aligned with MooseStack.templates/python-tests/README.md (2)
7-7: Docs badge link update is fine.
No impact on template behavior.
41-41: Documentation link update is fine.
Keeps references aligned with MooseStack.apps/framework-docs-v2/content/ai/demos/dlqs.mdx (1)
3-3: Front matter quoting is safe.
Avoids YAML parsing edge cases.apps/framework-docs-v2/content/moosestack/help/troubleshooting.mdx (1)
286-286: GitHub issues link update looks good.
Keeps support guidance current.templates/brainwaves/README.md (1)
26-26: LGTM!Documentation links consistently updated to moosestack paths.
Also applies to: 182-182, 205-205
templates/live-heartrate-leaderboard/README.md (1)
43-43: LGTM!Deployment documentation link updated correctly.
templates/typescript-fastify/README.md (1)
1-32: LGTM!All documentation links consistently updated to moosestack paths throughout the file.
templates/python-fastapi-client-only/README.md (1)
7-7: LGTM!Documentation links correctly migrated to moosestack paths.
Also applies to: 78-78
apps/framework-docs-v2/content/moosestack/help/index.mdx (1)
58-58: LGTM!GitHub repository links correctly point to moosestack.
Also applies to: 66-66
templates/github-dev-trends/Readme.md (1)
13-13: LGTM!Documentation links correctly migrated to moosestack paths.
Also applies to: 141-141
templates/github-dev-trends/apps/moose-backend/README.md (2)
2-11: LGTM!Links on lines 2, 4, 8, 11 correctly updated to moosestack paths.
29-29: LGTM!Contributing link correctly points to moosestack repository.
templates/python-fastapi/README.md (1)
1-32: LGTM — Branding updates are consistent.All links correctly updated to
/moosestackpaths. The MD041 lint warning (first line should be heading) is intentional for this template style.templates/typescript-express/README.md (1)
1-36: LGTM — Consistent with other template READMEs.Links properly migrated to
/moosestackpaths.templates/typescript-tests/README.md (1)
1-56: LGTM — Links updated consistently.MooseStack branding applied. Template-specific content (OlapTable versioning, engine testing docs) unchanged.
apps/framework-docs-v2/content/guides/static-report-generation.mdx (1)
1546-1550: LGTM — Resources section links updated.Paths correctly aligned to
/moosestackrouting.apps/framework-docs-v2/DOCS_COPY_BRIEF_TEMPLATE.md (1)
1-62: LGTM — Useful template for documentation governance.Well-structured brief covering audience, JTBD, prerequisites with verification, and language parity notes.
templates/next-app-empty/README.md (1)
17-43: LGTM — Links updated to MooseStack paths.Consistent with other template README updates.
apps/framework-docs-v2/CLAUDE.md (1)
106-110: Include syntax documented correctly.The
:::includesyntax in CLAUDE.md lines 106-110 is properly supported bysrc/lib/includes.ts(regex at line 10) andscripts/validate-includes.ts(regex at line 15). No{{ include }}references remain in the codebase. Documentation is accurate.apps/framework-docs-v2/DOCS_PR_CHECKLIST.md (1)
1-31: LGTM!Solid checklist covering copy quality, language parity, link hygiene, and validation. The validation commands align with PR objectives.
apps/framework-docs-v2/scripts/test-snippets.ts (1)
13-22: LGTM!Unified extraction with post-hoc filtering is cleaner than separate extraction calls. Reduces code duplication while maintaining language-specific counts.
templates/python/README.md (1)
1-54: LGTM!Clean rewrite with MooseStack branding. Actionable steps, correct doc links using
/moosestack/...paths. Prerequisites and verification checkpoint included per style guide.apps/framework-docs-v2/DOCS_COPY_STYLE_GUIDE.md (1)
1-84: LGTM!Comprehensive style guide with clear conventions for voice, naming, structure, and links. The link patterns (Lines 68-74) codify the modernization goals of this PR.
apps/framework-docs-v2/COPY_AUDIT.md (2)
1-37: Good audit trail.Clear tracking of P0/P1 surfaces and process artifacts. Aligns with the retrieved learning to audit documentation when changing user-facing features.
17-17: 🧹 Nitpick | 🔵 TrivialOutstanding TODO item.
templates/python-empty/app/main.pyis marked "todo" for updating doc pointers. Consider addressing in this PR or creating a follow-up issue.Do you want me to open an issue to track this remaining item?
⛔ Skipped due to learnings
Learnt from: CR Repo: 514-labs/moosestack PR: 0 File: AGENTS.md:0-0 Timestamp: 2026-02-01T23:07:12.348Z Learning: Audit documentation when changing user-facing featurestemplates/typescript/README.md (1)
1-47: LGTM!Clean rewrite with MooseStack branding. Uses
pnpmper coding guidelines for TS templates. Doc links correctly point to/moosestack/...paths.apps/framework-docs-v2/next.config.js (1)
24-32: LGTM!Correct use of
permanent: truefor route consolidation. This ensures proper 301 redirect for SEO and bookmarks.templates/ads-b/README.md (1)
7-7: Verify the template still runs in isolation after doc-link updates.
Please confirm the template can still be set up and run standalone (install + dev run) even though only docs links changed.As per coding guidelines: For template modifications in the
templates/directory, verify they can still run in isolation.Also applies to: 32-32
templates/ads-b-frontend/README.md (1)
19-19: Verify the template still runs in isolation after doc-link updates.
Please confirm the template can still be set up and run standalone (install + dev run) even though only docs links changed.As per coding guidelines: For template modifications in the
templates/directory, verify they can still run in isolation.Also applies to: 46-46
templates/typescript-empty/app/index.ts (1)
1-25: Confirm lint checks were run for this TS template change.
The doc-link updates look fine; please verify the repo’s standard TS/JS lint step was executed.As per coding guidelines: Run linting checks before submitting PRs for TypeScript/JavaScript code.
apps/framework-docs-v2/scripts/lint-docs.ts (2)
37-78: Helper scan utilities look solid.
80-204: Run the docs app lint pipeline for this new TS script.
Please confirmpnpm -C apps/framework-docs-v2 lint(or CI equivalent) was executed.As per coding guidelines: Run linting checks before submitting PRs for TypeScript/JavaScript code.
README.md (3)
11-11: Branding and docs-link updates read clean.Also applies to: 38-40, 185-185
50-60: Quickstart steps are clear and consistent.Also applies to: 62-83
103-131: Confirm the TS example matches current@514labs/moose-libAPI.
Please verify the newApiusage and callback signature against the latest library docs.
✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.
apps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdx
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
apps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdx (2)
593-611:⚠️ Potential issue | 🟡 MinorMissing
datetimeimport.Line 606 references
datetimebut it's not imported. This code will fail withNameError: name 'datetime' is not defined.🐛 Proposed fix
from moose_lib import Key, StringToEnumMixin from typing import Optional, Annotated from enum import IntEnum, auto from pydantic import BaseModel +from datetime import datetime class Baz(StringToEnumMixin, IntEnum): QUX = auto()
365-380: 🧹 Nitpick | 🔵 TrivialAdd
@testdirectives to TypeScript and Python code snippets.The TypeScript snippets (lines 365-371, 570-578) and Python snippets (lines 374-380, 593-611) lack
@testdirectives. As per coding guidelines, TypeScript and Python code blocks in documentation should include the@testdirective for validation.📝 Example with `@test` directive
For TypeScript:
-```ts filename="app/index.ts" +```ts filename="app/index.ts" `@test` export * from "./ingest/models";For Python:
-```python filename="app/main.py" +```python filename="app/main.py" `@test` from app.ingest.models import *As per coding guidelines: "Validate code snippets in documentation with the
@testdirective for TypeScript and Python code blocks"Also applies to: 570-611
🤖 Fix all issues with AI agents
In `@apps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdx`:
- Line 8: The import line includes unused symbols CTACards and CTACard which
should be removed to clean up dead imports; edit the import statement that
currently lists Callout, ToggleBlock, MuxVideo, BulletPointsCard, IconBadge,
CTACards, CTACard, LanguageTabs, LanguageTabContent, FileTree, Tabs, TabsList,
TabsTrigger, TabsContent and remove CTACards and CTACard so only actually used
components remain.
📜 Review details
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (3)
README.mdapps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdxapps/framework-docs-v2/package.json
🧰 Additional context used
📓 Path-based instructions (1)
apps/framework-docs-v2/content/**/*.mdx
📄 CodeRabbit inference engine (apps/framework-docs-v2/CLAUDE.md)
apps/framework-docs-v2/content/**/*.mdx: Use{{ include "shared/path.mdx" }}directives to reuse content fragments, which are processed viaprocessIncludes()during build
Validate code snippets in documentation with the@testdirective for TypeScript and Python code blocks
TypeScript code snippets in documentation should be validated for syntax with brace matching; Python snippets should be validated for indentation
Files:
apps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdx
🧠 Learnings (25)
📚 Learning: 2025-12-16T23:08:31.521Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-16T23:08:31.521Z
Learning: Build TypeScript/JavaScript packages using `pnpm build` before integration
Applied to files:
apps/framework-docs-v2/package.json
📚 Learning: 2025-12-16T23:09:10.917Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-cli/AGENTS.md:0-0
Timestamp: 2025-12-16T23:09:10.917Z
Learning: Applies to apps/framework-cli/**/*.rs : Document all public APIs and breaking changes
Applied to files:
apps/framework-docs-v2/package.json
📚 Learning: 2025-12-16T23:08:31.521Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-16T23:08:31.521Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Run linting checks before submitting PRs for TypeScript/JavaScript code
Applied to files:
apps/framework-docs-v2/package.jsonapps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdx
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Applies to apps/framework-docs-v2/content/**/*.mdx : TypeScript code snippets in documentation should be validated for syntax with brace matching; Python snippets should be validated for indentation
Applied to files:
apps/framework-docs-v2/package.json
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Applies to apps/framework-docs-v2/content/**/*.mdx : Validate code snippets in documentation with the `test` directive for TypeScript and Python code blocks
Applied to files:
apps/framework-docs-v2/package.json
📚 Learning: 2025-12-16T23:09:39.883Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: packages/protobuf/AGENTS.md:0-0
Timestamp: 2025-12-16T23:09:39.883Z
Learning: Applies to packages/protobuf/**/*.proto : Run `buf lint` before committing Protocol Buffer files
Applied to files:
apps/framework-docs-v2/package.json
📚 Learning: 2026-02-01T23:07:12.348Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-01T23:07:12.348Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Format TypeScript/JavaScript code with Prettier using `experimentalTernaries: true`; auto-formats on commit via Husky + lint-staged
Applied to files:
apps/framework-docs-v2/package.json
📚 Learning: 2026-02-01T23:07:12.348Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-01T23:07:12.348Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Prefix unused variables with underscore (e.g., `_unusedParam`) to bypass linting errors in TypeScript/JavaScript
Applied to files:
apps/framework-docs-v2/package.json
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Search content must be generated in `.search-index/` directory via `scripts/generate-search-index.ts` and indexed with Pagefind, not sourced directly from Next.js output
Applied to files:
apps/framework-docs-v2/package.json
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Validate `{{ include }}` directives in content before build using `pnpm run validate:includes` with `scripts/validate-includes.ts`
Applied to files:
apps/framework-docs-v2/package.json
📚 Learning: 2025-12-16T23:08:31.521Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-16T23:08:31.521Z
Learning: Ensure all tests pass: `cargo test` for Rust components and appropriate test commands for TS/JS
Applied to files:
apps/framework-docs-v2/package.json
📚 Learning: 2026-01-26T00:56:27.011Z
Learnt from: DatGuyJonathan
Repo: 514-labs/moosestack PR: 3400
File: apps/framework-cli/src/framework/core/infrastructure_map.rs:1238-1298
Timestamp: 2026-01-26T00:56:27.011Z
Learning: Repo 514-labs/moosestack — Workflows: The CLI’s workflow diff is intended to detect only Temporal schedule–affecting changes. In apps/framework-cli/src/framework/core/infrastructure_map.rs, workflows_config_equal should compare schedule, retries, and timeout only; it must not include tasks. Task code/config changes are picked up automatically when the orchestration worker restarts and should not trigger a WorkflowChange.
Applied to files:
apps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdx
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: Applies to examples/nextjs-moose/app/actions.ts : Server actions must import query functions from the moose package and wrap them, serving as the bridge between frontend React components and backend moose query functions
Applied to files:
apps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdxREADME.md
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: Applies to examples/nextjs-moose/components/dashboard/**/*.ts : Dashboard hooks must call server actions (not moose functions directly) to decouple React components from ClickHouse implementation details
Applied to files:
apps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdxREADME.md
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: The moose query layer represents a two-step OLAP migration pattern: Step 1 (not shown) shifts just-in-time joins to write-time via Materialized Views; Step 2 (this demo) accelerates endpoint creation with the query layer. This architecture assumes MVs/OLAP tables already exist and focuses on the read-time query selection and filtering layer
Applied to files:
apps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdxREADME.md
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Applies to apps/framework-docs-v2/content/guides/**/*.mdx : Guide MDX files in `content/guides/` must include frontmatter with title and description fields
Applied to files:
apps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdx
📚 Learning: 2026-01-28T14:50:00.978Z
Learnt from: cjus
Repo: 514-labs/moosestack PR: 3407
File: apps/framework-docs-v2/content/guides/static-report-generation.mdx:1402-1406
Timestamp: 2026-01-28T14:50:00.978Z
Learning: When reviewing WebApp implementations that run in a Node.js backend, prefer Node.js-specific types (e.g., Buffer) and avoid browser-focused cross-platform compatibility considerations. This guideline applies to MDX documentation and code examples across the repository where backend/runtime code is discussed; ensure reviewers distinguish server-side context from frontend/browser constraints and validate type usage accordingly.
Applied to files:
apps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdx
📚 Learning: 2026-01-28T14:50:11.465Z
Learnt from: cjus
Repo: 514-labs/moosestack PR: 3407
File: apps/framework-docs-v2/content/guides/static-report-generation.mdx:1402-1406
Timestamp: 2026-01-28T14:50:11.465Z
Learning: Moose WebApp handlers are Node.js-only server-side code that runs in the backend runtime, never in browsers. When reviewing WebApp implementations, Node.js-specific types like `Buffer` are appropriate and don't need cross-platform browser compatibility considerations.
Applied to files:
README.md
📚 Learning: 2026-01-15T19:41:53.563Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/cdp-analytics/CLAUDE.md:0-0
Timestamp: 2026-01-15T19:41:53.563Z
Learning: Applies to examples/cdp-analytics/app/ingest/models.ts : Data models in ingest/models.ts should define interfaces using the Model naming convention, and create corresponding IngestPipeline instances with table, stream, and ingestApi options enabled
Applied to files:
README.md
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: Applies to examples/nextjs-moose/moose/src/query-examples/model.ts : Query model definitions must include `dimensions` (for GROUP BY), `metrics` (for aggregates), `filters` (with allowed operators), and `sortable` (list of sortable fields)
Applied to files:
README.md
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: Applies to examples/nextjs-moose/components/report-builder/**/*.ts : Report builder components must use `prepareModel()` to transform backend model definitions for frontend consumption, configuring UI input types and options
Applied to files:
README.md
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: Applies to examples/nextjs-moose/moose/src/query-examples/**/*.ts : Query example functions must use `eventsModel.toSql()` to generate SQL, ensuring consistent query construction through the defined model
Applied to files:
README.md
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: Applies to examples/nextjs-moose/**/*.ts : Use type inference helpers (`$inferRequest`, `$inferDimensions`, `$inferMetrics`) from query model definitions to ensure type-safe query parameter construction
Applied to files:
README.md
📚 Learning: 2026-01-15T19:41:53.563Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/cdp-analytics/CLAUDE.md:0-0
Timestamp: 2026-01-15T19:41:53.563Z
Learning: Applies to examples/cdp-analytics/app/services/analyticsService.ts : Service functions in analyticsService.ts should execute queries using executeQuery helper, transform raw results, and return typed data structures defined in types/analytics.ts
Applied to files:
README.md
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: Server actions serve as the primary bridge between frontend React components and backend moose query functions. The communication flow should always be: React Component → Hook → Server Action → Moose Query Function → eventsModel.toSql() → ClickHouse
Applied to files:
README.md
⏰ Context from checks skipped due to timeout of 900000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
- GitHub Check: Test E2E TypeScript Tests Template (Node 24, npm)
- GitHub Check: Test E2E Python Tests Template (Python 3.12)
- GitHub Check: Test E2E TypeScript Tests Template (Node 20, npm)
- GitHub Check: Test E2E TypeScript Tests Template (Node 22, npm)
- GitHub Check: Test E2E Python Tests Template (Python 3.13)
🔇 Additional comments (5)
apps/framework-docs-v2/package.json (1)
13-15: LGTM — lint chain now covers typecheck, docs lint, and Next lint.README.md (4)
11-11: Clearer value prop; reads well.
38-85: Quickstart flow is coherent and actionable.
102-178: Examples align with updated API shapes.
183-185: Docs links updated consistently.
✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.
apps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdx
Show resolved
Hide resolved
b6bb06d to
cd0d783
Compare
There was a problem hiding this comment.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
apps/framework-docs-v2/content/moosestack/engines/kafka.mdx (1)
14-75:⚠️ Potential issue | 🟡 MinorAdd
@testdirectives to the TS/Python snippets.Line 14 and Line 47 code fences lack the required
@testdirective, so these snippets won’t be validated by the snippet tester. Add@testand ensure any required imports (e.g.,BaseModel) are present so the snippets execute.♻️ Suggested update
-```ts filename="KafkaTable.ts" copy +```ts filename="KafkaTable.ts" copy `@test` -```py filename="KafkaTable.py" copy +```py filename="KafkaTable.py" copy `@test`
🤖 Fix all issues with AI agents
In `@templates/python-fastapi/README.md`:
- Line 3: The README's logo image src and possibly the surrounding link still
reference the old repo path "514-labs/moose/main" instead of the moosestack
repo; update the <img src="..."> (and its enclosing <a href="..."> if present)
to point to the correct moosestack path used elsewhere (replace
"514-labs/moose/main" with the proper "moosestack/..." repository path) so the
logo URL matches the docs and other templates.
In `@templates/typescript-express/README.md`:
- Line 3: Update the logo image source to point to the moosestack repository:
change the img src value currently referencing "514-labs/moose" to
"https://raw.githubusercontent.com/514-labs/moosestack/main/logo-m-light.png" in
the README where the <img> tag is defined so the logo URL matches other
documentation links (refer to the existing <img src="...logo-m-light.png">
element).
📜 Review details
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (47)
README.mdapps/framework-docs-v2/CLAUDE.mdapps/framework-docs-v2/COPY_AUDIT.mdapps/framework-docs-v2/DOCS_COPY_BRIEF_TEMPLATE.mdapps/framework-docs-v2/DOCS_COPY_STYLE_GUIDE.mdapps/framework-docs-v2/DOCS_PR_CHECKLIST.mdapps/framework-docs-v2/content/ai/demos/context.mdxapps/framework-docs-v2/content/ai/demos/dlqs.mdxapps/framework-docs-v2/content/ai/demos/egress.mdxapps/framework-docs-v2/content/ai/demos/ingest.mdxapps/framework-docs-v2/content/ai/demos/model-data.mdxapps/framework-docs-v2/content/ai/demos/mvs.mdxapps/framework-docs-v2/content/guides/chat-in-your-app.mdxapps/framework-docs-v2/content/guides/static-report-generation.mdxapps/framework-docs-v2/content/moosestack/deploying/configuring-moose-for-cloud.mdxapps/framework-docs-v2/content/moosestack/engines/kafka.mdxapps/framework-docs-v2/content/moosestack/getting-started/existing-app/fastify.mdxapps/framework-docs-v2/content/moosestack/getting-started/existing-app/next-js.mdxapps/framework-docs-v2/content/moosestack/getting-started/index.mdxapps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdxapps/framework-docs-v2/content/moosestack/help/index.mdxapps/framework-docs-v2/content/moosestack/help/troubleshooting.mdxapps/framework-docs-v2/content/moosestack/index.mdxapps/framework-docs-v2/content/moosestack/quickstart.mdxapps/framework-docs-v2/next.config.jsapps/framework-docs-v2/package.jsonapps/framework-docs-v2/scripts/lint-docs.tsapps/framework-docs-v2/scripts/test-snippets.tstemplates/ads-b-frontend/README.mdtemplates/ads-b/README.mdtemplates/brainwaves/README.mdtemplates/brainwaves/apps/brainmoose/app/index.tstemplates/github-dev-trends/Readme.mdtemplates/github-dev-trends/apps/moose-backend/README.mdtemplates/live-heartrate-leaderboard/README.mdtemplates/next-app-empty/README.mdtemplates/python-empty/README.mdtemplates/python-experimental/README.mdtemplates/python-fastapi-client-only/README.mdtemplates/python-fastapi/README.mdtemplates/python-tests/README.mdtemplates/python/README.mdtemplates/typescript-empty/README.mdtemplates/typescript-empty/app/index.tstemplates/typescript-express/README.mdtemplates/typescript-fastify/README.mdtemplates/typescript-mcp/README.md
💤 Files with no reviewable changes (1)
- apps/framework-docs-v2/content/moosestack/quickstart.mdx
🧰 Additional context used
📓 Path-based instructions (5)
apps/framework-docs-v2/content/**/*.mdx
📄 CodeRabbit inference engine (apps/framework-docs-v2/CLAUDE.md)
apps/framework-docs-v2/content/**/*.mdx: Use{{ include "shared/path.mdx" }}directives to reuse content fragments, which are processed viaprocessIncludes()during build
Validate code snippets in documentation with the@testdirective for TypeScript and Python code blocks
TypeScript code snippets in documentation should be validated for syntax with brace matching; Python snippets should be validated for indentation
Files:
apps/framework-docs-v2/content/moosestack/engines/kafka.mdxapps/framework-docs-v2/content/ai/demos/model-data.mdxapps/framework-docs-v2/content/ai/demos/ingest.mdxapps/framework-docs-v2/content/moosestack/getting-started/existing-app/fastify.mdxapps/framework-docs-v2/content/ai/demos/context.mdxapps/framework-docs-v2/content/moosestack/deploying/configuring-moose-for-cloud.mdxapps/framework-docs-v2/content/moosestack/help/troubleshooting.mdxapps/framework-docs-v2/content/guides/static-report-generation.mdxapps/framework-docs-v2/content/ai/demos/mvs.mdxapps/framework-docs-v2/content/ai/demos/dlqs.mdxapps/framework-docs-v2/content/moosestack/getting-started/existing-app/next-js.mdxapps/framework-docs-v2/content/moosestack/index.mdxapps/framework-docs-v2/content/moosestack/getting-started/index.mdxapps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdxapps/framework-docs-v2/content/ai/demos/egress.mdxapps/framework-docs-v2/content/guides/chat-in-your-app.mdxapps/framework-docs-v2/content/moosestack/help/index.mdx
templates/**
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
For template modifications in the
templates/directory, verify they can still run in isolation
Files:
templates/ads-b-frontend/README.mdtemplates/python/README.mdtemplates/python-fastapi-client-only/README.mdtemplates/python-empty/README.mdtemplates/python-tests/README.mdtemplates/ads-b/README.mdtemplates/github-dev-trends/apps/moose-backend/README.mdtemplates/next-app-empty/README.mdtemplates/typescript-empty/app/index.tstemplates/typescript-fastify/README.mdtemplates/typescript-empty/README.mdtemplates/brainwaves/README.mdtemplates/typescript-mcp/README.mdtemplates/typescript-express/README.mdtemplates/python-experimental/README.mdtemplates/python-fastapi/README.mdtemplates/live-heartrate-leaderboard/README.mdtemplates/github-dev-trends/Readme.mdtemplates/brainwaves/apps/brainmoose/app/index.ts
apps/framework-docs-v2/content/guides/**/*.mdx
📄 CodeRabbit inference engine (apps/framework-docs-v2/CLAUDE.md)
Guide MDX files in
content/guides/must include frontmatter with title and description fields
Files:
apps/framework-docs-v2/content/guides/static-report-generation.mdxapps/framework-docs-v2/content/guides/chat-in-your-app.mdx
**/*.{ts,tsx,js,jsx}
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Run linting checks before submitting PRs for TypeScript/JavaScript code
**/*.{ts,tsx,js,jsx}: Group imports by external dependencies, internal modules, and types; use named exports from barrel files (index.ts)
Use camelCase for variables and functions, PascalCase for types/classes/components, UPPER_SNAKE_CASE for constants in TypeScript/JavaScript
Prefix unused variables with underscore (e.g.,_unusedParam) to bypass linting errors in TypeScript/JavaScript
Format TypeScript/JavaScript code with Prettier usingexperimentalTernaries: true; auto-formats on commit via Husky + lint-staged
Files:
templates/typescript-empty/app/index.tsapps/framework-docs-v2/scripts/test-snippets.tsapps/framework-docs-v2/scripts/lint-docs.tstemplates/brainwaves/apps/brainmoose/app/index.tsapps/framework-docs-v2/next.config.js
**/*.{ts,tsx}
📄 CodeRabbit inference engine (AGENTS.md)
Prefer interfaces for objects, types for unions/intersections in TypeScript; explicit return types on public APIs
Files:
templates/typescript-empty/app/index.tsapps/framework-docs-v2/scripts/test-snippets.tsapps/framework-docs-v2/scripts/lint-docs.tstemplates/brainwaves/apps/brainmoose/app/index.ts
🧠 Learnings (43)
📓 Common learnings
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: The moose query layer represents a two-step OLAP migration pattern: Step 1 (not shown) shifts just-in-time joins to write-time via Materialized Views; Step 2 (this demo) accelerates endpoint creation with the query layer. This architecture assumes MVs/OLAP tables already exist and focuses on the read-time query selection and filtering layer
Learnt from: DatGuyJonathan
Repo: 514-labs/moosestack PR: 3400
File: apps/framework-cli/src/framework/core/infrastructure_map.rs:1238-1298
Timestamp: 2026-01-26T00:56:27.011Z
Learning: Repo 514-labs/moosestack — Workflows: The CLI’s workflow diff is intended to detect only Temporal schedule–affecting changes. In apps/framework-cli/src/framework/core/infrastructure_map.rs, workflows_config_equal should compare schedule, retries, and timeout only; it must not include tasks. Task code/config changes are picked up automatically when the orchestration worker restarts and should not trigger a WorkflowChange.
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: The moose query layer represents a two-step OLAP migration pattern: Step 1 (not shown) shifts just-in-time joins to write-time via Materialized Views; Step 2 (this demo) accelerates endpoint creation with the query layer. This architecture assumes MVs/OLAP tables already exist and focuses on the read-time query selection and filtering layer
Applied to files:
apps/framework-docs-v2/content/moosestack/engines/kafka.mdxtemplates/ads-b-frontend/README.mdtemplates/python-empty/README.mdtemplates/python-tests/README.mdtemplates/ads-b/README.mdtemplates/github-dev-trends/apps/moose-backend/README.mdtemplates/next-app-empty/README.mdapps/framework-docs-v2/content/guides/static-report-generation.mdxtemplates/typescript-empty/app/index.tstemplates/typescript-fastify/README.mdtemplates/typescript-express/README.mdtemplates/python-experimental/README.mdtemplates/python-fastapi/README.mdapps/framework-docs-v2/content/moosestack/index.mdxapps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdxtemplates/brainwaves/apps/brainmoose/app/index.tsREADME.md
📚 Learning: 2026-01-28T14:50:00.978Z
Learnt from: cjus
Repo: 514-labs/moosestack PR: 3407
File: apps/framework-docs-v2/content/guides/static-report-generation.mdx:1402-1406
Timestamp: 2026-01-28T14:50:00.978Z
Learning: When reviewing WebApp implementations that run in a Node.js backend, prefer Node.js-specific types (e.g., Buffer) and avoid browser-focused cross-platform compatibility considerations. This guideline applies to MDX documentation and code examples across the repository where backend/runtime code is discussed; ensure reviewers distinguish server-side context from frontend/browser constraints and validate type usage accordingly.
Applied to files:
apps/framework-docs-v2/content/moosestack/engines/kafka.mdxapps/framework-docs-v2/content/ai/demos/model-data.mdxapps/framework-docs-v2/content/ai/demos/ingest.mdxapps/framework-docs-v2/content/moosestack/getting-started/existing-app/fastify.mdxapps/framework-docs-v2/content/ai/demos/context.mdxapps/framework-docs-v2/content/moosestack/deploying/configuring-moose-for-cloud.mdxapps/framework-docs-v2/content/moosestack/help/troubleshooting.mdxapps/framework-docs-v2/content/guides/static-report-generation.mdxapps/framework-docs-v2/content/ai/demos/mvs.mdxapps/framework-docs-v2/content/ai/demos/dlqs.mdxapps/framework-docs-v2/content/moosestack/getting-started/existing-app/next-js.mdxapps/framework-docs-v2/content/moosestack/index.mdxapps/framework-docs-v2/content/moosestack/getting-started/index.mdxapps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdxapps/framework-docs-v2/content/ai/demos/egress.mdxapps/framework-docs-v2/content/guides/chat-in-your-app.mdxapps/framework-docs-v2/content/moosestack/help/index.mdx
📚 Learning: 2025-12-16T23:09:10.917Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-cli/AGENTS.md:0-0
Timestamp: 2025-12-16T23:09:10.917Z
Learning: Applies to apps/framework-cli/**/*.rs : Document all public APIs and breaking changes
Applied to files:
templates/ads-b-frontend/README.mdapps/framework-docs-v2/CLAUDE.mdtemplates/ads-b/README.mdtemplates/github-dev-trends/apps/moose-backend/README.mdtemplates/next-app-empty/README.mdtemplates/typescript-fastify/README.mdtemplates/typescript-empty/README.mdtemplates/typescript-mcp/README.mdtemplates/typescript-express/README.mdtemplates/brainwaves/apps/brainmoose/app/index.tsapps/framework-docs-v2/DOCS_COPY_STYLE_GUIDE.mdapps/framework-docs-v2/DOCS_PR_CHECKLIST.md
📚 Learning: 2026-01-28T14:50:11.465Z
Learnt from: cjus
Repo: 514-labs/moosestack PR: 3407
File: apps/framework-docs-v2/content/guides/static-report-generation.mdx:1402-1406
Timestamp: 2026-01-28T14:50:11.465Z
Learning: Moose WebApp handlers are Node.js-only server-side code that runs in the backend runtime, never in browsers. When reviewing WebApp implementations, Node.js-specific types like `Buffer` are appropriate and don't need cross-platform browser compatibility considerations.
Applied to files:
templates/ads-b-frontend/README.mdapps/framework-docs-v2/CLAUDE.mdtemplates/ads-b/README.mdtemplates/github-dev-trends/apps/moose-backend/README.mdtemplates/next-app-empty/README.mdtemplates/typescript-empty/app/index.tstemplates/typescript-fastify/README.mdtemplates/typescript-empty/README.mdtemplates/typescript-mcp/README.mdtemplates/typescript-express/README.mdtemplates/python-fastapi/README.mdtemplates/github-dev-trends/Readme.mdREADME.md
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Applies to apps/framework-docs-v2/content/**/*.mdx : Use `{{ include "shared/path.mdx" }}` directives to reuse content fragments, which are processed via `processIncludes()` during build
Applied to files:
apps/framework-docs-v2/CLAUDE.mdapps/framework-docs-v2/scripts/lint-docs.tsapps/framework-docs-v2/content/guides/chat-in-your-app.mdx
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Content in the `shared/` folder must only be used via the `include` system (processed by `src/lib/includes.ts`), not directly as routes
Applied to files:
apps/framework-docs-v2/CLAUDE.md
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: Applies to examples/nextjs-moose/app/actions.ts : Server actions must import query functions from the moose package and wrap them, serving as the bridge between frontend React components and backend moose query functions
Applied to files:
apps/framework-docs-v2/CLAUDE.mdapps/framework-docs-v2/content/moosestack/getting-started/existing-app/fastify.mdxtemplates/typescript-empty/app/index.tstemplates/typescript-mcp/README.mdapps/framework-docs-v2/content/moosestack/getting-started/existing-app/next-js.mdxapps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdxapps/framework-docs-v2/content/guides/chat-in-your-app.mdxtemplates/brainwaves/apps/brainmoose/app/index.tsREADME.md
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Search content must be generated in `.search-index/` directory via `scripts/generate-search-index.ts` and indexed with Pagefind, not sourced directly from Next.js output
Applied to files:
apps/framework-docs-v2/CLAUDE.mdapps/framework-docs-v2/package.json
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: Applies to examples/nextjs-moose/components/dashboard/**/*.ts : Dashboard hooks must call server actions (not moose functions directly) to decouple React components from ClickHouse implementation details
Applied to files:
apps/framework-docs-v2/CLAUDE.mdtemplates/typescript-empty/app/index.tsapps/framework-docs-v2/content/moosestack/getting-started/existing-app/next-js.mdxapps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdxapps/framework-docs-v2/content/guides/chat-in-your-app.mdxREADME.md
📚 Learning: 2026-01-19T20:47:10.159Z
Learnt from: DatGuyJonathan
Repo: 514-labs/moosestack PR: 3365
File: apps/framework-docs-v2/src/proxy.ts:4-21
Timestamp: 2026-01-19T20:47:10.159Z
Learning: In Next.js 15/16+, middleware has been renamed to "proxy". A file named `proxy.ts` placed in the project root or `src/` directory with an exported `proxy` function and optional `config` object with `matcher` will be automatically loaded by Next.js without additional configuration. This is the correct pattern for route rewrites and does not require integration in next.config.js.
Applied to files:
apps/framework-docs-v2/CLAUDE.mdapps/framework-docs-v2/next.config.js
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Validate `{{ include }}` directives in content before build using `pnpm run validate:includes` with `scripts/validate-includes.ts`
Applied to files:
apps/framework-docs-v2/CLAUDE.mdapps/framework-docs-v2/package.jsonapps/framework-docs-v2/scripts/lint-docs.ts
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Applies to apps/framework-docs-v2/content/**/*.mdx : Validate code snippets in documentation with the `test` directive for TypeScript and Python code blocks
Applied to files:
apps/framework-docs-v2/CLAUDE.mdapps/framework-docs-v2/scripts/test-snippets.tsapps/framework-docs-v2/package.jsonapps/framework-docs-v2/scripts/lint-docs.ts
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Navigation configuration must be manually maintained in `src/config/navigation.ts` and not auto-generated from file structure
Applied to files:
apps/framework-docs-v2/CLAUDE.md
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Add new guides to `guidesNavigationConfig` in `src/config/navigation.ts` with required fields: type, slug, title, icon, languages, and status (start as 'draft')
Applied to files:
apps/framework-docs-v2/CLAUDE.md
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Applies to apps/framework-docs-v2/src/app/**/page.tsx : All pages in the documentation site must use `generateStaticParams` for static site generation (SSG)
Applied to files:
apps/framework-docs-v2/CLAUDE.md
📚 Learning: 2026-01-26T00:56:27.011Z
Learnt from: DatGuyJonathan
Repo: 514-labs/moosestack PR: 3400
File: apps/framework-cli/src/framework/core/infrastructure_map.rs:1238-1298
Timestamp: 2026-01-26T00:56:27.011Z
Learning: Repo 514-labs/moosestack — Workflows: The CLI’s workflow diff is intended to detect only Temporal schedule–affecting changes. In apps/framework-cli/src/framework/core/infrastructure_map.rs, workflows_config_equal should compare schedule, retries, and timeout only; it must not include tasks. Task code/config changes are picked up automatically when the orchestration worker restarts and should not trigger a WorkflowChange.
Applied to files:
apps/framework-docs-v2/content/moosestack/getting-started/existing-app/fastify.mdxapps/framework-docs-v2/content/moosestack/deploying/configuring-moose-for-cloud.mdxtemplates/github-dev-trends/apps/moose-backend/README.mdapps/framework-docs-v2/content/moosestack/getting-started/existing-app/next-js.mdxapps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdxapps/framework-docs-v2/content/moosestack/help/index.mdx
📚 Learning: 2026-02-01T23:07:12.348Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-01T23:07:12.348Z
Learning: Audit documentation when changing user-facing features
Applied to files:
apps/framework-docs-v2/COPY_AUDIT.mdapps/framework-docs-v2/DOCS_PR_CHECKLIST.md
📚 Learning: 2026-02-01T23:07:12.348Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-01T23:07:12.348Z
Learning: Always run end-to-end tests when changing MooseStack functionality
Applied to files:
templates/github-dev-trends/apps/moose-backend/README.md
📚 Learning: 2026-01-28T14:55:13.411Z
Learnt from: cjus
Repo: 514-labs/moosestack PR: 3407
File: apps/framework-docs-v2/content/guides/static-report-generation.mdx:1585-1616
Timestamp: 2026-01-28T14:55:13.411Z
Learning: In documentation and tutorial files under apps/framework-docs-v2/content/guides/, prefer explicit, self-contained code examples that may duplicate small snippets for clarity over abstracting with DRY helpers. Ensure examples are easy to understand in isolation, even if it means a bit of repetition, to aid learning and reduce cognitive load for readers.
Applied to files:
apps/framework-docs-v2/content/guides/static-report-generation.mdxapps/framework-docs-v2/content/guides/chat-in-your-app.mdx
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: Applies to examples/nextjs-moose/components/report-builder/**/*.ts : Report builder components must use `prepareModel()` to transform backend model definitions for frontend consumption, configuring UI input types and options
Applied to files:
templates/typescript-empty/app/index.tsREADME.md
📚 Learning: 2026-01-15T19:41:53.563Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/cdp-analytics/CLAUDE.md:0-0
Timestamp: 2026-01-15T19:41:53.563Z
Learning: Applies to examples/cdp-analytics/app/views/*.ts : Use SummingMergeTree engine for materialized views that require incremental updates, and wrap aggregated metrics with SUM() when querying to properly merge partial rows
Applied to files:
templates/typescript-empty/app/index.ts
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Applies to apps/framework-docs-v2/content/**/*.mdx : TypeScript code snippets in documentation should be validated for syntax with brace matching; Python snippets should be validated for indentation
Applied to files:
apps/framework-docs-v2/scripts/test-snippets.tsapps/framework-docs-v2/package.jsonapps/framework-docs-v2/scripts/lint-docs.ts
📚 Learning: 2025-12-16T23:08:31.521Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-16T23:08:31.521Z
Learning: Ensure all tests pass: `cargo test` for Rust components and appropriate test commands for TS/JS
Applied to files:
apps/framework-docs-v2/scripts/test-snippets.tsapps/framework-docs-v2/package.json
📚 Learning: 2025-12-16T23:08:31.521Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-16T23:08:31.521Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Run linting checks before submitting PRs for TypeScript/JavaScript code
Applied to files:
apps/framework-docs-v2/package.jsonapps/framework-docs-v2/scripts/lint-docs.tsapps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdx
📚 Learning: 2025-12-16T23:08:31.521Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-16T23:08:31.521Z
Learning: Build TypeScript/JavaScript packages using `pnpm build` before integration
Applied to files:
apps/framework-docs-v2/package.json
📚 Learning: 2026-02-01T23:07:12.348Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-01T23:07:12.348Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Format TypeScript/JavaScript code with Prettier using `experimentalTernaries: true`; auto-formats on commit via Husky + lint-staged
Applied to files:
apps/framework-docs-v2/package.json
📚 Learning: 2025-12-16T23:09:39.883Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: packages/protobuf/AGENTS.md:0-0
Timestamp: 2025-12-16T23:09:39.883Z
Learning: Applies to packages/protobuf/**/*.proto : Run `buf lint` before committing Protocol Buffer files
Applied to files:
apps/framework-docs-v2/package.json
📚 Learning: 2026-02-01T23:07:12.348Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-01T23:07:12.348Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Prefix unused variables with underscore (e.g., `_unusedParam`) to bypass linting errors in TypeScript/JavaScript
Applied to files:
apps/framework-docs-v2/package.json
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Applies to apps/framework-docs-v2/content/guides/**/*.mdx : Guide MDX files in `content/guides/` must include frontmatter with title and description fields
Applied to files:
apps/framework-docs-v2/scripts/lint-docs.tsapps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdxapps/framework-docs-v2/DOCS_COPY_STYLE_GUIDE.md
📚 Learning: 2026-02-01T23:07:12.348Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-01T23:07:12.348Z
Learning: Applies to **/*.{ts,tsx} : Prefer interfaces for objects, types for unions/intersections in TypeScript; explicit return types on public APIs
Applied to files:
apps/framework-docs-v2/scripts/lint-docs.ts
📚 Learning: 2026-01-15T19:41:53.563Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/cdp-analytics/CLAUDE.md:0-0
Timestamp: 2026-01-15T19:41:53.563Z
Learning: Applies to examples/cdp-analytics/app/apis/mcp.ts : MCP tools registered in the mcp.ts file should use descriptive names in snake_case, include tool descriptions, define parameters with Zod schema validation, and return results as JSON-stringified content
Applied to files:
templates/typescript-mcp/README.md
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: Server actions serve as the primary bridge between frontend React components and backend moose query functions. The communication flow should always be: React Component → Hook → Server Action → Moose Query Function → eventsModel.toSql() → ClickHouse
Applied to files:
templates/typescript-mcp/README.mdapps/framework-docs-v2/content/guides/chat-in-your-app.mdxREADME.md
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: Applies to examples/nextjs-moose/**/*.ts : Use type inference helpers (`$inferRequest`, `$inferDimensions`, `$inferMetrics`) from query model definitions to ensure type-safe query parameter construction
Applied to files:
apps/framework-docs-v2/content/moosestack/getting-started/existing-app/next-js.mdxREADME.md
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: Applies to examples/nextjs-moose/moose/src/query-examples/**/*.ts : Query example functions must use `eventsModel.toSql()` to generate SQL, ensuring consistent query construction through the defined model
Applied to files:
apps/framework-docs-v2/content/moosestack/getting-started/existing-app/next-js.mdxREADME.md
📚 Learning: 2026-01-15T19:41:53.563Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/cdp-analytics/CLAUDE.md:0-0
Timestamp: 2026-01-15T19:41:53.563Z
Learning: Applies to examples/cdp-analytics/app/ingest/models.ts : Data models in ingest/models.ts should define interfaces using the Model naming convention, and create corresponding IngestPipeline instances with table, stream, and ingestApi options enabled
Applied to files:
apps/framework-docs-v2/content/moosestack/index.mdxREADME.md
📚 Learning: 2025-12-17T23:59:22.807Z
Learnt from: callicles
Repo: 514-labs/moosestack PR: 3143
File: apps/framework-docs/llm-docs/python/table-setup.md:331-336
Timestamp: 2025-12-17T23:59:22.807Z
Learning: In apps/framework-docs/llm-docs/**/*.md (LLM documentation), prefer exact class and type names (e.g., "MaterializedView", "OlapTable") over lowercase prose variants (e.g., "materialized view") to help LLMs generate correct code with proper imports and syntax.
Applied to files:
apps/framework-docs-v2/content/moosestack/getting-started/index.mdx
📚 Learning: 2026-01-15T19:41:53.563Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/cdp-analytics/CLAUDE.md:0-0
Timestamp: 2026-01-15T19:41:53.563Z
Learning: Applies to examples/cdp-analytics/app/apis/*.ts : Always separate routing from business logic in APIs. Route files should be thin (~10 lines per endpoint) and contain only HTTP handling, while service files contain all business logic.
Applied to files:
apps/framework-docs-v2/content/guides/chat-in-your-app.mdx
📚 Learning: 2026-01-15T19:41:53.563Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/cdp-analytics/CLAUDE.md:0-0
Timestamp: 2026-01-15T19:41:53.563Z
Learning: Applies to examples/cdp-analytics/app/apis/*.ts : API route files should follow a consistent error handling pattern: call service function inside try-catch, return result with res.json(), and respond with 500 status and error message on failure
Applied to files:
apps/framework-docs-v2/content/guides/chat-in-your-app.mdx
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: API route files for LLM-friendly content must be located at `src/app/api/llm/[...slug]/route.ts` with appropriate slug handling
Applied to files:
apps/framework-docs-v2/content/guides/chat-in-your-app.mdx
📚 Learning: 2026-01-08T18:32:10.998Z
Learnt from: DatGuyJonathan
Repo: 514-labs/moosestack PR: 3170
File: apps/framework-docs-v2/src/components/copy-page-button.tsx:36-38
Timestamp: 2026-01-08T18:32:10.998Z
Learning: In the moosestack repository (apps/framework-docs-v2), ternary expressions for conditional JSX rendering follow a specific formatting style where the condition and `?` are on the first line, the true branch is indented on the next line, and the `:` and false branch are on the third line without parentheses. This pattern is especially common for copy/check icon toggles.
Applied to files:
apps/framework-docs-v2/DOCS_COPY_STYLE_GUIDE.md
📚 Learning: 2026-01-27T17:36:29.854Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/nextjs-moose/CLAUDE.md:0-0
Timestamp: 2026-01-27T17:36:29.854Z
Learning: Applies to examples/nextjs-moose/moose/src/query-examples/model.ts : Query model definitions must include `dimensions` (for GROUP BY), `metrics` (for aggregates), `filters` (with allowed operators), and `sortable` (list of sortable fields)
Applied to files:
README.md
📚 Learning: 2026-01-15T19:41:53.563Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/cdp-analytics/CLAUDE.md:0-0
Timestamp: 2026-01-15T19:41:53.563Z
Learning: Applies to examples/cdp-analytics/app/services/analyticsService.ts : Service functions in analyticsService.ts should execute queries using executeQuery helper, transform raw results, and return typed data structures defined in types/analytics.ts
Applied to files:
README.md
🧬 Code graph analysis (2)
apps/framework-docs-v2/scripts/test-snippets.ts (1)
scripts/package-templates.js (1)
path(7-7)
apps/framework-docs-v2/scripts/lint-docs.ts (1)
apps/framework-docs-v2/src/lib/includes.ts (1)
CONTENT_ROOT(9-9)
🪛 LanguageTool
templates/github-dev-trends/apps/moose-backend/README.md
[style] ~29-~29: Using many exclamation marks might seem excessive (in this case: 3 exclamation marks for a text that’s 2138 characters long)
Context: ...uting We welcome contributions to Moose! Please check out the [contribution guid...
(EN_EXCESSIVE_EXCLAMATION)
🪛 markdownlint-cli2 (0.20.0)
templates/python/README.md
[warning] 18-18: Ordered list item prefix
Expected: 1; Actual: 2; Style: 1/1/1
(MD029, ol-prefix)
[warning] 26-26: Ordered list item prefix
Expected: 1; Actual: 3; Style: 1/1/1
(MD029, ol-prefix)
apps/framework-docs-v2/CLAUDE.md
[warning] 39-39: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
templates/typescript-empty/README.md
[warning] 1-1: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
templates/typescript-express/README.md
[warning] 1-1: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
⏰ Context from checks skipped due to timeout of 900000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Test E2E TypeScript Tests Template (Node 20, npm)
- GitHub Check: Test E2E TypeScript Tests Template (Node 22, npm)
🔇 Additional comments (52)
apps/framework-docs-v2/content/moosestack/getting-started/existing-app/fastify.mdx (1)
129-131: Looks good. Updated tiged source matches the new moosestack repo path.apps/framework-docs-v2/content/moosestack/deploying/configuring-moose-for-cloud.mdx (1)
133-133: LGTM!Link correctly updated from
514-labs/mooseto514-labs/moosestack, consistent with the PR's link modernization objective.apps/framework-docs-v2/content/ai/demos/model-data.mdx (1)
3-3: LGTM!Quoting the description fixes YAML parsing for strings containing
:.apps/framework-docs-v2/content/ai/demos/context.mdx (1)
3-3: LGTM!Consistent quoting fix for YAML colon handling.
apps/framework-docs-v2/content/ai/demos/dlqs.mdx (1)
3-3: LGTM!Quoted description resolves YAML parsing issue.
apps/framework-docs-v2/content/ai/demos/mvs.mdx (1)
3-3: LGTM!Quoted description consistent with other AI demo pages.
apps/framework-docs-v2/content/ai/demos/egress.mdx (1)
3-3: LGTM!Proper YAML quoting applied.
apps/framework-docs-v2/content/ai/demos/ingest.mdx (1)
3-3: LGTM!Completes the consistent quoting fix across all AI demo frontmatter.
apps/framework-docs-v2/content/guides/static-report-generation.mdx (1)
2177-2181: Link updates look consistent and correct.
MooseStack resource paths are updated cleanly with no issues spotted.apps/framework-docs-v2/content/moosestack/engines/kafka.mdx (1)
8-10: Link update looks correct.No concerns with the updated MaterializedView path.
templates/python-tests/README.md (1)
7-7: LGTM - Documentation links updated correctly.The badge and documentation URLs have been properly updated to the moosestack branding.
Also applies to: 41-41
templates/typescript-mcp/README.md (1)
17-17: LGTM - Documentation link updated correctly.BYO API framework documentation URL properly migrated to moosestack path.
templates/python-experimental/README.md (1)
29-29: LGTM - Documentation links updated correctly.Badge and documentation URLs properly updated to moosestack branding.
Also applies to: 88-88
templates/python-empty/README.md (1)
7-7: LGTM - Documentation links updated correctly.Badge and documentation URLs properly migrated to moosestack paths.
Also applies to: 32-32
templates/live-heartrate-leaderboard/README.md (1)
43-43: LGTM - Documentation link updated correctly.Deployment documentation URL properly updated to moosestack path.
templates/python-fastapi-client-only/README.md (1)
7-7: LGTM - Documentation links updated correctly.Badge and documentation URLs properly updated to moosestack branding.
Also applies to: 78-78
templates/brainwaves/README.md (1)
26-26: LGTM - Documentation links updated correctly.All documentation URLs properly migrated to moosestack paths across the README.
Also applies to: 182-182, 205-205
apps/framework-docs-v2/content/moosestack/help/troubleshooting.mdx (1)
286-286: Link update is consistent.Points to the correct MooseStack issues tracker.
apps/framework-docs-v2/content/moosestack/getting-started/index.mdx (1)
9-9: Copy polish looks good.Also applies to: 34-34
templates/ads-b/README.md (1)
7-7: Docs links updated; please confirm the template still runs standalone.As per coding guidelines “
templates/**: For template modifications in thetemplates/directory, verify they can still run in isolation.”Also applies to: 32-32
templates/github-dev-trends/apps/moose-backend/README.md (1)
2-2: Branding/links updated consistently; please confirm the template still runs standalone.As per coding guidelines “
templates/**: For template modifications in thetemplates/directory, verify they can still run in isolation.”Also applies to: 4-4, 8-8, 11-11, 29-29
templates/brainwaves/apps/brainmoose/app/index.ts (1)
6-6: Doc references updated; please confirm the template still runs standalone.As per coding guidelines “
templates/**: For template modifications in thetemplates/directory, verify they can still run in isolation.”Also applies to: 46-47
apps/framework-docs-v2/next.config.js (1)
24-31: Redirects implementation is correct for Next.js 16.The
async redirects()function withpermanent: truefollows the documented API and will emit HTTP 308 status codes, appropriate for permanent redirects.apps/framework-docs-v2/content/moosestack/getting-started/existing-app/next-js.mdx (1)
130-130: Path needs manual verification on GitHub. Web search confirmed514-labs/moosestackexists and contains anexamples/directory, but couldn't access the directory listing to confirmexamples/nextjs-mooseexists. The path follows the pattern used elsewhere in docs (e.g.,examples/fastify-moose), but verify directly at https://github.com/514-labs/moosestack/tree/main/examples.templates/ads-b-frontend/README.md (1)
19-19: LGTM!Link updates to MooseStack paths are consistent with the PR's modernization goals.
Also applies to: 46-46
apps/framework-docs-v2/content/moosestack/getting-started/quickstart.mdx (1)
3-3: LGTM!Branding update, copy improvement, and link modernization are consistent.
Also applies to: 40-40, 722-722
apps/framework-docs-v2/content/moosestack/help/index.mdx (1)
58-58: LGTM!GitHub issue links consistently updated to moosestack.
Also applies to: 66-66
templates/github-dev-trends/Readme.md (1)
13-13: LGTM!Documentation links updated to MooseStack paths.
Also applies to: 141-141
templates/typescript-fastify/README.md (1)
1-32: LGTM!Comprehensive link modernization throughout the README.
apps/framework-docs-v2/scripts/test-snippets.ts (1)
13-22: LGTM!Cleaner approach: single extraction pass with subsequent filtering eliminates redundant directory traversal.
templates/next-app-empty/README.md (1)
17-17: LGTM!Documentation links updated to MooseStack paths.
Also applies to: 43-43
apps/framework-docs-v2/DOCS_PR_CHECKLIST.md (1)
1-31: LGTM!Well-structured checklist with actionable items covering copy, parity, links, and validation. The Zinsser/Schwartz references align with professional copywriting standards.
templates/typescript-express/README.md (1)
1-32: Branding updates look correct.Doc URLs consistently point to
/moosestack/paths. The non-heading first line (MD041 warning) is acceptable for template READMEs.apps/framework-docs-v2/package.json (1)
13-15: LGTM!Comprehensive lint pipeline:
typecheck→lint:docs→next lint. Chained with&&for fail-fast behavior.apps/framework-docs-v2/DOCS_COPY_BRIEF_TEMPLATE.md (1)
1-62: LGTM!Solid template covering audience, JTBD, prerequisites, checkpoints, and language parity. Aligns with docs quality goals.
templates/python-fastapi/README.md (1)
1-36: Branding updates consistent with other templates.Doc URLs correctly migrated to
/moosestack/paths.apps/framework-docs-v2/CLAUDE.md (1)
106-110: Include syntax verified and consistent.Documentation uses
:::include /shared/fragment.mdx, matching theINCLUDE_REGEXpatterns in bothsrc/lib/includes.tsandscripts/validate-includes.ts.apps/framework-docs-v2/content/guides/chat-in-your-app.mdx (1)
548-555: Verify the updated docs/GitHub links resolve.
Confirm these URLs return valid pages (and that thelang=typescriptparameter is still supported) to prevent dead links in the guide.templates/typescript-empty/app/index.ts (1)
1-25: Doc link refresh looks good.apps/framework-docs-v2/DOCS_COPY_STYLE_GUIDE.md (1)
1-84: Clear, actionable style guide.templates/typescript-empty/README.md (1)
1-22: Verify the template still runs standalone.
Please confirm thetemplates/typescript-emptytemplate still boots in isolation by following its README steps (e.g., init +moose dev+ health check).As per coding guidelines: For template modifications in the
templates/directory, verify they can still run in isolation.apps/framework-docs-v2/COPY_AUDIT.md (1)
1-37: Audit checklist looks solid.apps/framework-docs-v2/content/moosestack/index.mdx (1)
59-107: No action needed. The@testdirective is optional per CLAUDE.md ("Annotate snippets with@testdirective if needed"). The code snippets shown are illustrative examples of API/table definitions, not executable test code that requires the directive.Likely an incorrect or invalid review comment.
templates/python/README.md (1)
10-30: The MD029 claim is incorrect. Markdownlint's defaultone_or_orderedstyle accepts both all-1 numbering and ordered numbering (1, 2, 3). The current numbering is valid and doesn't violate MD029. The template structure is sound with requirements.txt and proper isolation.Likely an incorrect or invalid review comment.
README.md (8)
11-11: Clear, concise tagline update.
38-40: Docs list is a cleaner Quickstart entry.
50-60: Project creation flow reads clean and actionable.
62-78: Dependency install split by language is clear.
80-84: Run locally step is straightforward.
102-131: TypeScript example is coherent and concise.
136-178: Python example reads correctly and matches new API naming.
185-185: Quickstart link label update looks good.
✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.
| This is a [Moose](https://docs.fiveonefour.com/moosestack) project bootstrapped with [`moose init`](https://docs.fiveonefour.com/moosestack/moose-cli) or [`sloan init`](https://docs.fiveonefour.com/sloan/cli-reference#init) | ||
|
|
||
| <a href="https://docs.fiveonefour.com/moose/"><img src="https://raw.githubusercontent.com/514-labs/moose/main/logo-m-light.png" alt="moose logo" height="100px"></a> | ||
| <a href="https://docs.fiveonefour.com/moosestack/"><img src="https://raw.githubusercontent.com/514-labs/moose/main/logo-m-light.png" alt="moose logo" height="100px"></a> |
There was a problem hiding this comment.
Logo URL still references old repo path.
Same issue as typescript-express: logo URL points to 514-labs/moose/main/ while doc links use moosestack.
🤖 Prompt for AI Agents
In `@templates/python-fastapi/README.md` at line 3, The README's logo image src
and possibly the surrounding link still reference the old repo path
"514-labs/moose/main" instead of the moosestack repo; update the <img src="...">
(and its enclosing <a href="..."> if present) to point to the correct moosestack
path used elsewhere (replace "514-labs/moose/main" with the proper
"moosestack/..." repository path) so the logo URL matches the docs and other
templates.
| This is a [Moose](https://docs.fiveonefour.com/moosestack) project bootstrapped with [`moose init`](https://docs.fiveonefour.com/moosestack/moose-cli) or [`sloan init`](https://docs.fiveonefour.com/sloan/cli-reference#init) | ||
|
|
||
| <a href="https://docs.fiveonefour.com/moose/"><img src="https://raw.githubusercontent.com/514-labs/moose/main/logo-m-light.png" alt="moose logo" height="100px"></a> | ||
| <a href="https://docs.fiveonefour.com/moosestack/"><img src="https://raw.githubusercontent.com/514-labs/moose/main/logo-m-light.png" alt="moose logo" height="100px"></a> |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
# Read the full README to see all changes and context
head -50 templates/typescript-express/README.mdRepository: 514-labs/moosestack
Length of output: 3062
🏁 Script executed:
# Check both logo paths
echo "=== Old repo path (514-labs/moose) ==="
curl -s -I "https://raw.githubusercontent.com/514-labs/moose/main/logo-m-light.png" | head -1
echo "=== New repo path (514-labs/moosestack) ==="
curl -s -I "https://raw.githubusercontent.com/514-labs/moosestack/main/logo-m-light.png" | head -1Repository: 514-labs/moosestack
Length of output: 170
Logo URL should point to moosestack repo for consistency.
The logo URL references 514-labs/moose while all other documentation links and GitHub references have been updated to 514-labs/moosestack. Update the image source to https://raw.githubusercontent.com/514-labs/moosestack/main/logo-m-light.png (the asset exists at both paths).
🤖 Prompt for AI Agents
In `@templates/typescript-express/README.md` at line 3, Update the logo image
source to point to the moosestack repository: change the img src value currently
referencing "514-labs/moose" to
"https://raw.githubusercontent.com/514-labs/moosestack/main/logo-m-light.png" in
the README where the <img> tag is defined so the logo URL matches other
documentation links (refer to the existing <img src="...logo-m-light.png">
element).
| Never hardcode sensitive values directly in your deployment configuration files. | ||
|
|
||
| Please share your feedback about Moose monitoring capabilities through [our GitHub repository](https://github.com/514-labs/moose/issues/new?title=Feedback%20for%20%E2%80%9CMonitoring%E2%80%9D&labels=feedback). | ||
| Please share your feedback about Moose monitoring capabilities through [our GitHub repository](https://github.com/514-labs/moosestack/issues/new?title=Feedback%20for%20%E2%80%9CMonitoring%E2%80%9D&labels=feedback). |
There was a problem hiding this comment.
shouldnt this be MooseStack monitoring vs Moose monitoring?
| @@ -0,0 +1,37 @@ | |||
| # MooseStack Docs Copy Audit | |||
There was a problem hiding this comment.
do we want to commit this or have it gitignored
Summary
Notable Changes
apps/framework-docs-v2/content/moosestack/index.mdxcopy + corrected Python snippet/moosestack/quickstart->/moosestack/getting-started/quickstart:in AI demo pagesValidation
pnpm -C apps/framework-docs-v2 validate:includespnpm -C apps/framework-docs-v2 test:snippetspnpm -C apps/framework-docs-v2 lintpnpm -C apps/framework-docs-v2 buildNote
Low Risk
Primarily documentation and tooling updates; main risk is minor build/lint friction in
apps/framework-docs-v2and potential redirect/link regressions.Overview
Improves onboarding docs and repo entrypoints by tightening Quickstart/getting-started copy, correcting code examples (notably Python), and standardizing terminology (e.g., TypeScript capitalization).
Modernizes and centralizes links across docs and templates, replacing legacy
/mooseand514-labs/moosereferences with/moosestackand514-labs/moosestack, and updating various resource links in guides.Reduces docs routing duplication by adding a permanent redirect from
/moosestack/quickstartto/moosestack/getting-started/quickstartand removing the old duplicate quickstart page.Adds lightweight docs quality gates: introduces
scripts/lint-docs.ts(frontmatter checks, banned phrases, legacy link detection, duplicate-body heuristic), wires it intoapps/framework-docs-v2lintalongside a newtypecheckscript, and updates snippet testing to scan the unifiedcontent/tree and filter snippets by language.Written by Cursor Bugbot for commit cd0d783. This will update automatically on new commits. Configure here.