keep indentation ≤3 levels and functions single-purpose.
- Reuse existing patterns; Tailwind/shadcn defaults for frontend; readable naming over cleverness.
- Comments only when intent is non-obvious; keep them short.
- Enforce
host that agents reach over the network.
## Build, run, test
```bash
make build # Builds frontend (React/Vite) then Go binary → ./agent-vault
make web-dev # Frontend-only hot reload (Vite
configs/mcp-gateway.yaml
go run cmd/mock-server/main.go
# Configuration testing
go run cmd/mcp-gateway/main.go test -c configs/mcp-gateway.yaml
```
### Web Frontend
```bash
cd web/
pnpm run dev # development server
pnpm run build # production build
pnpm run lint
tauri build # Linux/Windows build
pnpm dev # Start Vite dev server only
pnpm build # Build frontend with TypeScript checking
pnpm lint # Run ESLint
```
## Branch Strategy
```
main ← 릴리즈 전용 (사용자가 GitHub에서 보는
team)
- `publish: true` (only if template should appear in dashboard)
### Visual and Content Requirements
- **Frontend Component**: Must have visual UI that clearly demonstrates functionality
- **Preview Image**: Required 16:9 aspect
Apps Component Framework (PCF)
Each PCF control is a self-contained project with TypeScript/React frontend and MSBuild packaging.
**Basic Commands:**
```bash
cd component-framework/[ControlName]
# Install dependencies
npm install
# Build
base folders without approval.
- Do not change the application's dependencies without approval.
## Frontend Bundling
- If the user doesn't see a frontend change reflected in the UI, it could
Project Guidelines
1. All code comments must be written in English.
2. Frontend changes must consider internationalization and include both Chinese and English user-facing text where applicable.
3. When
disabled for active development.
- Do not implement new behavior in `packages/cli` unless explicitly requested.
- Frontend is the primary product surface; prioritize `packages/frontend` + supporting `packages/client`/`packages/backend`.
- Monorepo `build`, `typecheck`, and `test
Frontend Instructions
- When the user asks for UI changes, capture screenshots of the updated UI after implementation and verification.
- At the end, offer to open those screenshots for the user
agent state pattern** where state lives in the agent and syncs to the frontend.
## Architecture
This is a **Turborepo monorepo** with three apps:
### Repository Structure
```
apps/
├── app/ # Next.js frontend
docs/checklists/pre-commit.md](docs/checklists/pre-commit.md).** Read it before any commit that touches Rust, the MCP server, the frontend, or release surfaces — it covers manifest sync, MCPB bundle guards, fmt/clippy/test, Unix-only-API gating
A file Claude Code reads at the start of every session. It holds the commands, conventions and warnings the agent needs for this project.
Where does it go?
At the repository root. Claude Code also reads CLAUDE.md files in subdirectories when it works there.
What should it contain?
Build and test commands, the project's layout, conventions that aren't obvious from the code, and mistakes to avoid. Short files tend to work better than long ones.
CLAUDE.md or AGENTS.md?
Claude Code reads CLAUDE.md; most other agents read AGENTS.md. Many projects keep one and point the other at it.