Imported from YOLOVibeCode/tyto (
AGENTS.md). Install upstream withnpx skills add YOLOVibeCode/tyto. Copyright stays with the author.
Agent instructions (Cursor Cloud + other coding agents)
Tyto is TDD + ISP. These instructions are mandatory. Detailed Cursor
rules live in .cursor/rules/. Claude Code also reads
CLAUDE.md and .claude/rules/.
Non-negotiable
- Red–green–refactor. A failing test exists before production code.
npm testis offline. No Chrome, no network, no keys.TYTO_LIVE=1is opt-in.- No god interfaces. Ports in
packages/core/src/ports/— one job each. @tyto/coreis pure. No Playwright, no CDP socket, no vendor LLM SDK, noLiteLLMtype.- Perch/MCP never see
RawCdpPortorCredentialStorePort. - Loopback only.
127.0.0.1+ token. Never0.0.0.0. - Trusted CDP input for clicks. Not
element.click()as the product path. - No secrets in git. Cookies/tokens never in session JSON, tape, or model prompts. Run
Redactorfirst. - After changes:
npm run check.
Do not promote poc/ (Playwright spike) into product packages.
Full contract: docs/IMPLEMENTATION.md.
Noctusoft LLM Relay (optional endpoint)
When this app talks to Noctusoft models, the base URL is https://ai.noctusoft.com/v1 on litellm-vm. Tyto still treats it as a generic OpenAI-compatible URL. No LiteLLM types.