OpenRoom
CLAUDE.md1.3k starsChanged 8 months agoMITView on GitHub
An iframe-based micro-frontend VibeApp system (React + Cloud NAS). Create a new app: /vibe {AppName} {Description} Modify an existing app: /vibe {AppName} {ChangeDescription} Resume an existing workflow: /vibe {AppName} Re-run from a specific stage: /vibe {AppName} --from=04-codegen Creation mode runs 6 stages: Requirement Analysis -> Architecture Design -> Task Planning -> Code Generation -> Asset Generation -> Project Integration. Change mode runs 4 stages: Change Impact Analysis -> Change Task Planning -> Change Code Implementation -> Change Verification. You can…
We split this CLAUDE.md into the rules it gives an agent
11 rules. About 0 are common, 6 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 7
Create a new app: /vibe {AppName} {Description} Modify an existing app: /vibe {AppName} {ChangeDescription} Resume an existing workflow: …
- Very specific: line 99
When the user enters a requirement description directly (instead of using the /vibe command), automatically execute the workflow defined in …
- Distinctive: line 128
Run from the webuiapps package:
- Distinctive: line 137
Run from the repo root. The dev server starts automatically.
- Very specific: line 147
Only Chromium is configured by default.
- Very specific: line 148
After completing code changes that affect UI or routing, run pnpm test:e2e and report pass/fail.
- Distinctive: line 152
Before declaring a task complete, agents must satisfy all of the following:
- Distinctive: line 161
If current config thresholds are lower, do not treat that as sufficient.
- Distinctive: line 162
Add or improve tests until the changed area exceeds 90% coverage, or explicitly report why that is not yet achievable.
- Distinctive: line 164
Do not stop at smoke tests if the change affects real behavior.
- Very specific: line 166
If UI behavior changes, prefer stable selectors (data-testid) over fragile class-name/text-only selectors.
≈ “Common” is an estimate: at least 1 in 5 of the 25,680 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
VibeApp Development Guide
An iframe-based micro-frontend VibeApp system (React + Cloud NAS).
Quick Start
Create a new app: /vibe {AppName} {Description}
Modify an existing app: /vibe {AppName} {ChangeDescription}
Resume an existing workflow: /vibe {AppName}
Re-run from a specific stage: /vibe {AppName} --from=04-codegen
Creation mode runs 6 stages: Requirement Analysis -> Architecture Design -> Task Planning -> Code Generation -> Asset Generation -> Project Integration. Change mode runs 4 stages: Change Impact Analysis -> Change Task Planning -> Change Code Implementation -> Change Verification. You can also enter a requirement description directly, and the system will automatically detect and trigger the corresponding mode.
Tech Stack
- Framework: React 18 + TypeScript + Vite
- Styling: Tailwind CSS (H5 Pages), CSS Modules (Components)
- Icons: Lucide React (No Emoji)
- Storage: Cloud NAS via
@/lib(Repository Pattern) - Communication:
postMessagevia@/lib
File Structure
src/pages/{AppName}/
├── components/ # UI Components
├── pages/ # Sub-pages (H5 Templates)
├── data/ # Seed Data (JSON only)
├── assets/ # Generated Image Assets
├── mock/ # Dev Mock Data (TypeScript)
├── store/ # Context/Reducer
├── actions/ # Action Definitions
├── styles/ # CSS Variables
├── i18n/ # en.ts + zh.ts
├── meta/
│ ├── meta_cn/ # Chinese: guide.md + meta.yaml
│ └── meta_en/ # English: guide.md + meta.yaml
├── index.tsx # Entry (lifecycle reports here only)
├── index.module.scss
└── types.tsWorkflow Structure
.claude/
├── commands/vibe.md # Single entry orchestrator
├── workflow/
│ ├── stages/ # Stage definitions (loaded on-demand)
│ │ ├── 01-analysis.md # Create: Requirement Analysis
│ │ ├── 02-architecture.md # Create: Architecture Design
│ │ ├── 03-planning.md # Create: Task Planning
│ │ ├── 04-codegen.md # Create: Code Generation
│ │ ├── 05-assets.md # Create: Asset Generation
│ │ ├── 06-integration.md # Create: Project Integration
│ │ ├── 01-change-analysis.md # Change: Impact Analysis
│ │ ├── 02-change-planning.md # Change: Task Planning
│ │ ├── 03-change-codegen.md # Change: Code Implementation
│ │ └── 04-change-verification.md # Change: Verification
│ └── rules/ # Stage-specific rules (loaded on-demand)
│ ├── app-definition.md
│ ├── responsive-layout.md
│ ├── guide-md.md
│ └── meta-yaml.md
├── rules/ # Global rules (always loaded)
│ ├── data-interaction.md
│ ├── design-tokens.md
│ ├── concurrent-execution.md
│ └── post-task-check.md
└── thinking/{AppName}/ # Per-app workflow state & artifacts
├── workflow.json
├── 01-requirement-analysis.md
├── 02-architecture-design.md
├── 03-task-planning.md
├── 04-code-generation.md
└── outputs/
├── requirement-breakdown.json
├── solution-design.json
└── workflow-todolist.jsonRules
The following global rules in .claude/rules/ are mandatory constraints across all stages:
| Rule File | Description |
data-interaction.md | Data interaction & NAS storage specification |
design-tokens.md | Design token system & usage guidelines |
concurrent-execution.md | Concurrent execution & task scheduling rules |
post-task-check.md | Post-task completion checklist |
Stage-specific rules are in .claude/workflow/rules/, loaded on-demand by /vibe.
Auto Workflow Trigger
When the user enters a requirement description directly (instead of using the /vibe command), automatically execute the workflow defined in .claude/commands/vibe.md.
Creating a New App
Detection rules:
- The user's message contains an explicit new app requirement (e.g., "build a XX app", "I need a XX", "help me develop XX")
- Automatically extract AppName (PascalCase format) from the requirement; Description is the user's full requirement text
- Equivalent to executing
/vibe {AppName} {Description}
Modifying an Existing App
Detection rules:
- The user's message explicitly targets an existing App with a change request (e.g., "add lyrics feature to MusicApp", "MusicApp needs to support XX")
- Also includes cases where the App name is not specified but can be inferred from context (e.g., there is only one App, and the user says "add a lyrics display feature")
- Automatically identify AppName; Description is the change requirement text
- Equivalent to executing
/vibe {AppName} {ChangeDescription}(vibe.md's mode detection logic automatically enters change mode)
Cases That Do NOT Trigger
- The user is clearly asking questions, chatting, or making fine-grained code modifications (e.g., "change this button color to red")
- The user used the
/vibecommand (already handled by the command mechanism) - The user requests resuming or re-running from a specific stage (must explicitly use
/vibe {AppName}or/vibe {AppName} --from=XX)
Testing
Unit Tests (Vitest)
Run from the webuiapps package:
cd apps/webuiapps && pnpm test # single run
cd apps/webuiapps && pnpm test:watch # watch modeE2E Tests (Playwright)
Run from the repo root. The dev server starts automatically.
pnpm test:e2e # headless, Chromium only
pnpm test:e2e:ui # interactive UI mode- Config:
playwright.config.ts(root) - Tests:
e2e/directory - The web server (
pnpm dev) is auto-launched on port 3000 and reused if already running. - Only Chromium is configured by default; add projects in
playwright.config.tsfor Firefox/WebKit. - After completing code changes that affect UI or routing, run
pnpm test:e2eand report pass/fail.
Task completion quality bar (mandatory)
Before declaring a task complete, agents must satisfy all of the following:
- Unit tests must pass for the affected package(s).
- For
apps/webuiapps, run the relevant Vitest command(s), for example:cd apps/webuiapps && pnpm test cd apps/webuiapps && pnpm test:coverage
- For
- Code coverage must be > 90% for the code touched by the task.
- If current config thresholds are lower, do not treat that as sufficient.
- Add or improve tests until the changed area exceeds 90% coverage, or explicitly report why that is not yet achievable.
- E2E coverage must be complete for impacted user flows.
- Do not stop at smoke tests if the change affects real behavior.
- Cover the primary user path, key state transitions, and at least one meaningful assertion of successful behavior.
- If UI behavior changes, prefer stable selectors (
data-testid) over fragile class-name/text-only selectors.
- Report exact validation commands and results in the final handoff.
- Include what passed, what failed, and any known gaps.
Minimum expectation: no task is "done" if unit tests are red, coverage on changed code is below 90%, or impacted E2E coverage is missing/incomplete.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

