-
Notifications
You must be signed in to change notification settings - Fork 562
docs: add CLAUDE.md files for AI-assisted development #26128
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Add CLAUDE.md documentation files throughout the Fluid Framework monorepo to support AI-assisted development workflows. These files provide context about package structure, build commands, testing, and key conventions. - Root CLAUDE.md with workspace overview, build system, and code style - Package-specific files covering build/test/lint commands and key notes - Coverage spans core packages, DDSs, drivers, framework, runtime, experimental packages, examples, and tools
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds 163 CLAUDE.md documentation files throughout the Fluid Framework monorepo to improve AI-assisted development. The root-level file provides workspace overview covering build system, commands, structure, code style, and testing conventions. Package-specific files document build/test/lint commands, key files, API exports, and notable dependencies across core packages (DDSs, drivers, framework, loader, runtime, service-clients), experimental packages including PropertyDDS, examples (apps, benchmarks, data-objects, service-clients, utilities, view-integration), tools (devtools suite, fluid-runner, fetch-tool, replay-tool, markdown-magic), common/build (eslint-config-fluid), and Azure packages (local-service, service-utils).
Reviewed changes
Copilot reviewed 163 out of 163 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| CLAUDE.md | Root-level workspace documentation with build system, commands, structure overview |
| tools/markdown-magic/CLAUDE.md | Documentation for markdown content generation tool |
| packages/utils/*/CLAUDE.md | Utility packages documentation (tool-utils, telemetry-utils, odsp-doclib-utils) |
| packages/tools/*/CLAUDE.md | Developer tools documentation (replay-tool, fluid-runner, fetch-tool, devtools/*) |
| packages/test/*/CLAUDE.md | Test utilities and infrastructure documentation |
| packages/service-clients/*/CLAUDE.md | Service client implementations documentation |
| packages/runtime/*/CLAUDE.md | Runtime component documentation |
| packages/framework/*/CLAUDE.md | Framework packages documentation |
| packages/drivers/*/CLAUDE.md | Driver implementations documentation |
| packages/dds/*/CLAUDE.md | Distributed Data Structures documentation |
| packages/common/*/CLAUDE.md | Common interfaces and utilities documentation |
| experimental/*/CLAUDE.md | Experimental packages documentation |
| examples/*/CLAUDE.md | Example applications documentation |
| azure/packages/*/CLAUDE.md | Azure-specific packages documentation |
| common/build/eslint-config-fluid/CLAUDE.md | ESLint configuration documentation |
The documentation appears comprehensive, well-structured, and consistent across all files. No critical issues were found during the review.
|
🔗 No broken links found! ✅ Your attention to detail is admirable. linkcheck output |
| - Enable corepack: `corepack enable` | ||
| - Install dependencies: `pnpm install` | ||
| - Build all: `pnpm build` | ||
| - Build specific package: `pnpm build --filter @fluidframework/<package-name>` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
proper command is just pnpm build <package-name>
|
in the past I've had problems with any kind of instruction files existing, and it having a very negative impact on model output quality. I think it just ends up polluting the context with a bunch of additional instructions which can confused the model. is there any way to keep this personal, rather that checked in globally? |
Yeah, we could add gitignore entries so folks could keep the files locally without polluting the repo. That said, I don't think files like this are that valuable unless they're shared/kept updated, which is hard to do without checking them in. My experience has been that they're more helpful with Claude code than other agents, but it's all anecdotal. |
yeah. its hard. i'd like everyone to be able to experiment which includes sharing and not sharing, as it really hard to understand why sometimes results are good, and other times they are not. i use the Claude model a lot, mainly with copilot, and find the less prompt the better, but it could just be how i prompt, or what i consider good for the problem I'm working on. i wonder if we can get the best of both worlds somehow. my first though is
i would have claude build this infra. |
I have also found that to be true when using copilot with the Claude model - but not with Claude Code itself. There appears to be more to it than just the model. |
i'd really like to keep the ability to experiment, but i don't have a good solution. if you don't want to do more, could we minimize this, and only add one at the root, rather than one per package so local modification is easier |
|
so far i haven't found these types of instructions to be necessary. if i point claude cli at the code base it installs, builds, and tests just fine without specific instruction. Are you seeing specific problems in these areas that you are trying to resolve? |
Summary
Coverage
These files enable AI assistants to understand package structure and available commands when working within specific packages.