# Generated Project Configuration

> **🔄 Updated by `analyze_project`** (incremental update)
> **Scanned:** 2026-06-03

> **Auto-generated by `analyze_project`**
> **Project:** fluentui-mcp
> **Type:** library

Save this content to `.clinerules/project.md` in your project root,
then review and adjust the values as needed.

---

## 🚨 MANDATORY: Load CodeOps Rules Before Any Work

**Before ANY planning or implementation, the AI agent MUST load these rules
using the codeops-mcp tools:**

1. `get_rule("agents")` — Load agent behavior rules **(REQUIRED FIRST)**
2. `get_rule("code")` — Load coding standards
3. `get_rule("testing")` — Load testing workflows
4. `get_rule("git-commands")` — Load git commit protocols

These rules are **mandatory** and must be consulted before every task.
**Do NOT skip this step. Do NOT proceed without reading these documents.**

---

## Project Overview

- **Name:** fluentui-mcp
- **Description:** MCP server providing FluentUI v9 documentation, component references, patterns, and implementation guides as tools and resources for AI agents. Backed by a schema-driven pipeline (scraper → LLM enhancer → bundled enhanced JSON schema) served from an in-memory store.
- **Type:** library

## Toolchain

- **Language(s):** TypeScript
- **Framework(s):** MCP SDK
- **Package Manager:** yarn
- **Test Framework:** Vitest

**Manifest files found:** package.json, tsconfig.json

## Commands

All commands assume execution from the project root. Prefix all shell commands with `clear && sleep [delay] &&` (see Terminal Delay below).

### Terminal Delay

- **Delay (seconds):** 3
- The `clear` ensures a clean terminal; the `sleep` gives VS Code time to initialize the terminal before the command runs.
- Adjust the delay for your environment: `1` for fast machines, `3` (default) for normal, `5` for slower environments.
- All command examples below use `sleep 3` — replace `3` with your configured delay.

### Build

```bash
clear && sleep 3 && yarn build
```

### Test

```bash
# Run all tests
clear && sleep 3 && yarn test
```

### Verify (before commit)

```bash
# Full verification — run this before any git commit
clear && sleep 3 && yarn build && yarn test
```

### Schema Pipeline (offline, build-time)

```bash
# Scrape props/slots/stories from FluentUI source
clear && sleep 3 && yarn scrape --version v9 --clone --verbose

# Enhance with AI descriptions, best practices, a11y, guides/patterns
clear && sleep 3 && yarn enhance --version v9 --full --verbose

# Whole pipeline (scrape → enhance → build → test)
clear && sleep 3 && yarn pipeline:full
```

## Project Structure

### Type: Single repository

### Directory Layout

```
LICENSE/
data/
docs/
maintenance/
node_modules/
plans/
scripts/
src/
```

## Coding Conventions

### Naming

- **Files:** kebab-case
- **Components/Classes:** PascalCase
- **Functions/Methods:** camelCase
- **Constants:** UPPER_SNAKE_CASE

## Git & Commit Conventions

### Commit Scope

```
# Use module/feature as scope:
# feat(module): description
```

### Branch Strategy

- **Main branch:** `main`
- **Feature branches:** `feature/[name]`

## Special Rules (Project-Specific)

```
- The bundled enhanced schema lives in data/v9/fluentui-schema-enhanced.json and is the
  single source of truth served at runtime. It is generated offline by the scraper + enhancer.
- Schema pipeline tooling lives in scripts/: scripts/scraper/ (ts-morph extraction) and
  scripts/enhancer/ (LLM enrichment + guide/pattern generation). Run via tsx, not built.
- MCP tools are defined in src/tools/ as individual files per tool (12 tools).
- Runtime schema subsystem: src/schema/ (loader, store, validator), src/search/ (TF-IDF
  search engine + index), src/formatters/ (render schema entries → markdown).
- All enhanced-schema enrichment fields are OPTIONAL/additive — formatters render a section
  only when its field is present, preserving back-compat with un-enhanced schemas.
- LLM provider note: newer OpenAI models (gpt-5.x / o-series) require max_completion_tokens
  and reject custom temperature; the OpenAI provider branches on model family accordingly.
```

## Cross-References

The generic rule files that read this `project.md`:

- **make_plan.md** — Uses verify command, file paths, commit scope, task file path patterns
- **code.md** — Uses language conventions, architecture rules
- **testing.md** — Uses test commands, test locations, test framework
- **git-commands.md** — Uses commit scope, verify command
- **agents.md** — Uses shell commands, verify command
- **requirements.md** — Uses project type, tech stack, and conventions for requirements discovery
- **retro_requirements.md** — Uses project type, tech stack for codebase analysis adaptation
- **techdocs.md** — Uses project type, tech stack for documentation generation
- **upgrade_plan.md** — Uses project context for upgrade compatibility checks
- **grill_me.md** — Uses project context for deep disambiguation before planning or requirements
- **preflight.md** — Uses project type, tech stack, and conventions for grounded quality audits
