Files
cvfs/AGENTS.md
Daniel Alves Rösel 90ad5e0260 Initial commit
2026-04-02 18:47:14 +02:00

58 lines
2.0 KiB
Markdown

# UltiPlate - Agent Instructions
Scaffold for any project: webapp, API, ML pipeline, scraper, worker, CLI, or SDK. Deployable via Makefile and Docker Compose.
## Project Layout
```
apps/webapp/ Next.js 15 + React 19 + Tailwind 4 (Bun, Turbopack, auth optional)
apps/webapp-minimal/ Streamlit prototype
apps/backend/fastapi/ FastAPI server
apps/backend/flask/ Flask server
apps/worker/ Celery worker (Redis broker)
ml/ PyTorch ML pipeline (arch, train, inference, etl)
alveslib/ Shared Python library: logger, scraper, agent
src/ Simple scripts / CLI
```
## Rules for Agents
- Use `make init` to bootstrap. Use `make dev` to run webapp. Use `make help` for all targets.
- Python deps: use root `pyproject.toml` + `uv.lock`; `make envlink` propagates `.env` to sub-apps.
- JS/TS: Bun is the package manager for `apps/webapp`. Use `bun add` / `bun install` / `bun dev`.
- Do not create rogue files or test scripts outside the established structure.
- All shared Python utilities go in `alveslib/`. Import from there, never duplicate logic.
- No emojis in code, comments, or logs.
## AI / Agent SDK
`ANTHROPIC_API_KEY` is required for AI features. `alveslib.agent` provides:
```python
from alveslib import ask, stream, Agent
ask("prompt") # blocking one-shot
stream("prompt") # iterator of text chunks
Agent(system="...").chat("prompt") # multi-turn
```
For full agentic loops with file/bash tools, use the Claude Agent SDK:
```bash
pip install claude-agent-sdk
```
```python
from claude_agent_sdk import query, ClaudeAgentOptions
async for msg in query(prompt="...", options=ClaudeAgentOptions(allowed_tools=["Read","Bash"])):
print(msg)
```
## Slash Commands (.claude/commands/)
Use in Claude Code sessions (type `/`):
- `/plan` - plan an implementation within this boilerplate
- `/build` - implement a feature end-to-end
- `/api` - scaffold a backend endpoint
- `/page` - scaffold a Next.js page
- `/review` - review recent changes
- `/ship` - commit staged changes