interactive commit tool:**
```bash
pnpm commit
```
### PR Requirements
- ✅ At least 1 approving review from a code owner
- ✅ All status checks passing (CI/CD pipeline)
- ✅ No merge conflicts with the base branch
here; verify each finding against this repository's code, configuration and history before acting on it. Do not assume a reviewer is right, and do not assume it is wrong
Agents for This Project
- project-analyst
- database-architect
- django-backend-expert
- django-api-developer
- code-reviewer
## CRITICAL INSTRUCTION
Use ONLY the agents listed above. Do NOT use laravel, rails
principles and architecture constraints: [`.specify/memory/constitution.md`](.specify/memory/constitution.md). You MUST read the constitution before performing any codereview.
## Find Detail In
- [docs/claude/architecture.md](docs/claude/architecture.md) — System architecture: SignalR bridge, main-thread execution, deterministic port
Claude Code. Substitute as follows everywhere — prose and code alike:
| Web tool | Claude Code equivalent |
|---|---|
| `questions_v2` | `AskUserQuestion` (returns answers inline; up to 4 questions/call, follow-up call if more
never post a claim about someone else's work without verifying it against the code first.
- When Ben asks for a reply to a contributor, produce a short draft
contributors (human or AI) on how this SDK is put together, plus the things reviews most often come back to. Setup instructions live in [CONTRIBUTING.md](CONTRIBUTING.md).
## Overview
The official Python
same `--out` directory so `context-map.json`, `checklist.json`, and `flow-trace-*.json` are shared automatically.
---
## SYSTEMATIC CODEREVIEW
The `/audit` command runs a hypothesis-driven code audit with tool verification
when working with code in this repository.
## 项目概述
Codeg(Code Generation)是一个多智能体编码工作台,它将多个智能体(Claude Code、Codex CLI、OpenCode、Gemini CLI、OpenClaw、Cline 等)统一到一个工作区中,支持会话聚合和多智能体协作,支持桌面安装,服务器/Docker 部署。
## 技术栈
Before calling a UI feature done — consider visual-test.** `make tsc` + `make test` check code; `/visual-test` checks the *screen*. Run it yourself for self-contained UI changes where
human review.
- NEVER close an issue. Leave issues open for the reviewer.
- Always add the label `agent:claude-code` to every issue and PR you touch.
- Always add labels
with Biome
bun run lint:fix # Auto-fix lint issues
bun run format # Format code
# Testing
bun run test # Run unit tests (vitest)
bun run test:ui # Interactive test
concern itself.
```yaml
# Bad — triggers on all Go work
description: Use when writing code, reviewing style, or writing comments in Golang.
# Good — triggers only when style is the actual concern
Claude Code Bridge
This repository uses a single source of truth for engineering rules:
- Follow [`../AGENTS.md`](../AGENTS.md) for all workflow, testing, and review requirements.
Skill layout for multi-agent compatibility
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Repository Overview
TanStack AI is a type-safe, provider-agnostic
tests with Playwright UI
pnpm test:headed # Run tests in headed browser mode
```
### Code Quality
```bash
pnpm typecheck # Type checking across all workspaces
pnpm lint # Linting across all workspaces
```
## Project
Layer
| Agent | Persona | When to Use |
|-------|------|----------|
| `fullstack-dhh` | DHH | Code implementation, technical implementation choices, codereview and refactor, dev workflow optimization |
| `qa-bach` | James Bach | Test strategy, release quality checks
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.