Custom React hooks
#### Key Components Architecture
- **Rules System**: Rules are organized by technology stacks (frontend, backend, database, etc.) and stored in `src/data/rules/`
- **Rules Builder Service**: Core service in `src/services/rules-builder/` that
combine
4. Response validated to ensure parts combine correctly to form original word
5. Frontend visualizes as React Flow graph with custom nodes
### Data Schema
```typescript
wordSchema = {
thought: string,
parts
backend handles HTTP APIs and persistence, the core handles AI/LLM orchestration, and the frontend provides a React dashboard.
> **The frontend lives in this repository and builds from source.** `frontend
CLAUDE.md — frontend
The canonical Sico frontend lives in `frontend/` inside the Sico monorepo. It is
a pnpm + Turborepo workspace for the application and shared frontend packages.
## Stack
React 19 + TypeScript
under `docs/` is short for `crates/opencompany-core/src/...`;
the data the crate embeds and reads (`companies/`,
`frontend/`, `vendor/`) stays at the repository root, `../..` from
`CARGO_MANIFEST_DIR`.
- `crates/opencompany-app`: the Tauri desktop shell
agent.
The project consists of the following components:
* Control Plane (Golang backend and React frontend) with dashboard, VNC client for Chromium, Terminal, Logs and other useful stuff.
* Agent image with
three writers for a release while the value reaching the DB came from the frontend |
| `src/portal/migrate.ts` | invariants.md §5 | `npm test` (runs `migrate-sqlite.test.ts` + `schema-invariants.test.ts`) | Single DDL must stay MySQL + SQLite compatible
Sonnet, `fast` = Haiku
(`claude-haiku-4-5`). The pipeline distributes Sonnet/Opus per sub-agent.
- **Frontend:** Vanilla HTML + CSS + JS (no build step, no bundler). All
external assets come from permissively
without justification
- **Line Length**: Max 100 characters
- **Testing**: High coverage (backend 90%+, frontend 85%+)
Repository policy (plain repo etiquette, not runtime-enforced):
- No Claude Code mentions in commits/code
- No package.json
without justification
- **Line Length**: Max 100 characters
- **Testing**: High coverage (backend 90%+, frontend 85%+)
## Forbidden Actions
- ❌ No Claude Code mentions in commits/code
- ❌ No package.json modifications without approval
- ❌ Never commit secrets/API
completable in one coding session
3. **Order**: Dependencies must come first (database → backend → frontend)
4. **Criteria**: Must be specific and verifiable, include "Typecheck passes"
Fix any issues by:
- Splitting large
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.