{"owner":"abi","repo":"screenshot-to-code","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":["AGENTS.md"],"skills":{"AGENTS.md":"# Project Agent Instructions\n\nPython environment:\n\n- Always use the backend Poetry virtualenv (`backend-py3.10`) for Python commands.\n- Preferred invocation: `cd backend && poetry run <command>`.\n- If you need to activate directly, use Poetry to discover it in the current environment:\n  - `cd backend && poetry env activate` (then run the `source .../bin/activate` command it prints)\n\nTesting policy:\n\n- Always run backend tests after every code change: `cd backend && poetry run pytest`.\n- Always run type checking after every code change: `cd backend && poetry run pyright`.\n- Type checking policy: no new warnings in changed files (`pyright`).\n\n## Frontend\n\n- Frontend: `cd frontend && pnpm lint`\n\nIf changes touch both, run both sets.\n\n## Prompt formatting\n\n- Prefer triple-quoted strings (`\"\"\"...\"\"\"`) for multi-line prompt text.\n- For interpolated multi-line prompts, prefer a single triple-quoted f-string over concatenated string fragments.\n\n# Hosted\n\nThe hosted version is on the `hosted` branch. The `hosted` branch connects to a saas backend, which is a seperate codebase at ../screenshot-to-code-saas\n\n## Cursor Cloud specific instructions\n\nDependencies are refreshed automatically on startup (`poetry install` in `backend/`, `pnpm install` in `frontend/`); no manual install is needed.\nCursor Cloud environment setup should run `bash /agent/repos/screenshot-to-code/scripts/cursor-cloud-install.sh`; the script changes to the repo root before installing so it works regardless of the startup working directory.\n\nServices (see `README.md` for the canonical commands):\n- Backend (FastAPI + WebSocket): from `backend/`, `poetry run uvicorn main:app --reload --port 7001`.\n- Frontend (Vite/React): from `frontend/`, `pnpm dev` → open `http://localhost:5173`. The Vite dev server binds to `localhost` only, so use `http://localhost:5173`, not `http://127.0.0.1:5173` (the latter refuses the connection).\n- Frontend talks to the backend over a WebSocket (`VITE_WS_BACKEND_URL`, default `ws://127.0.0.1:7001`); generation streams over that socket, other routes are plain HTTP.\n\nNon-obvious caveats:\n- `poetry` is installed under `~/.local/bin` and is on PATH for interactive shells (`.bashrc`) but not necessarily for non-interactive scripts; use the full path `~/.local/bin/poetry` if `poetry` is not found.\n- The Poetry virtualenv resolves to Python 3.12 (named like `backend-...-py3.12`), not 3.10 — `pyproject.toml` pins `^3.10`, which 3.12 satisfies. Just use `poetry run`.\n- Core feature (screenshot → code) requires at least one LLM key: set `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, or `GEMINI_API_KEY` in `backend/.env` (restart backend after editing) or in the in-app Settings dialog. Without a key, generation fails fast with a \"No OpenAI, Anthropic, or Gemini API key\" message. `REPLICATE_API_KEY` (image gen/edit) only works via `backend/.env`, not the UI.\n- Playwright Chromium is pre-installed for the optional \"Screenshot preview\" tool; Settings shows it as \"Available\".\n- `pnpm install` prints an \"Ignored build scripts (esbuild, puppeteer)\" warning — this is harmless; Vite build/dev and tests work without approving builds.\n- `cd frontend && pnpm lint` currently reports pre-existing errors (e.g. `@typescript-eslint/no-explicit-any` in `generateCode.ts`) because lint runs with `--max-warnings 0`; these are baseline issues, not environment problems.\n"},"files":{"AGENTS.md":"# Project Agent Instructions\n\nPython environment:\n\n- Always use the backend Poetry virtualenv (`backend-py3.10`) for Python commands.\n- Preferred invocation: `cd backend && poetry run <command>`.\n- If you need to activate directly, use Poetry to discover it in the current environment:\n  - `cd backend && poetry env activate` (then run the `source .../bin/activate` command it prints)\n\nTesting policy:\n\n- Always run backend tests after every code change: `cd backend && poetry run pytest`.\n- Always run type checking after every code change: `cd backend && poetry run pyright`.\n- Type checking policy: no new warnings in changed files (`pyright`).\n\n## Frontend\n\n- Frontend: `cd frontend && pnpm lint`\n\nIf changes touch both, run both sets.\n\n## Prompt formatting\n\n- Prefer triple-quoted strings (`\"\"\"...\"\"\"`) for multi-line prompt text.\n- For interpolated multi-line prompts, prefer a single triple-quoted f-string over concatenated string fragments.\n\n# Hosted\n\nThe hosted version is on the `hosted` branch. The `hosted` branch connects to a saas backend, which is a seperate codebase at ../screenshot-to-code-saas\n\n## Cursor Cloud specific instructions\n\nDependencies are refreshed automatically on startup (`poetry install` in `backend/`, `pnpm install` in `frontend/`); no manual install is needed.\nCursor Cloud environment setup should run `bash /agent/repos/screenshot-to-code/scripts/cursor-cloud-install.sh`; the script changes to the repo root before installing so it works regardless of the startup working directory.\n\nServices (see `README.md` for the canonical commands):\n- Backend (FastAPI + WebSocket): from `backend/`, `poetry run uvicorn main:app --reload --port 7001`.\n- Frontend (Vite/React): from `frontend/`, `pnpm dev` → open `http://localhost:5173`. The Vite dev server binds to `localhost` only, so use `http://localhost:5173`, not `http://127.0.0.1:5173` (the latter refuses the connection).\n- Frontend talks to the backend over a WebSocket (`VITE_WS_BACKEND_URL`, default `ws://127.0.0.1:7001`); generation streams over that socket, other routes are plain HTTP.\n\nNon-obvious caveats:\n- `poetry` is installed under `~/.local/bin` and is on PATH for interactive shells (`.bashrc`) but not necessarily for non-interactive scripts; use the full path `~/.local/bin/poetry` if `poetry` is not found.\n- The Poetry virtualenv resolves to Python 3.12 (named like `backend-...-py3.12`), not 3.10 — `pyproject.toml` pins `^3.10`, which 3.12 satisfies. Just use `poetry run`.\n- Core feature (screenshot → code) requires at least one LLM key: set `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, or `GEMINI_API_KEY` in `backend/.env` (restart backend after editing) or in the in-app Settings dialog. Without a key, generation fails fast with a \"No OpenAI, Anthropic, or Gemini API key\" message. `REPLICATE_API_KEY` (image gen/edit) only works via `backend/.env`, not the UI.\n- Playwright Chromium is pre-installed for the optional \"Screenshot preview\" tool; Settings shows it as \"Available\".\n- `pnpm install` prints an \"Ignored build scripts (esbuild, puppeteer)\" warning — this is harmless; Vite build/dev and tests work without approving builds.\n- `cd frontend && pnpm lint` currently reports pre-existing errors (e.g. `@typescript-eslint/no-explicit-any` in `generateCode.ts`) because lint runs with `--max-warnings 0`; these are baseline issues, not environment problems.\n"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","title":"AGENTS.md","content":"# Project Agent Instructions\n\nPython environment:\n\n- Always use the backend Poetry virtualenv (`backend-py3.10`) for Python commands.\n- Preferred invocation: `cd backend && poetry run <command>`.\n- If you need to activate directly, use Poetry to discover it in the current environment:\n  - `cd backend && poetry env activate` (then run the `source .../bin/activate` command it prints)\n\nTesting policy:\n\n- Always run backend tests after every code change: `cd backend && poetry run pytest`.\n- Always run type checking after every code change: `cd backend && poetry run pyright`.\n- Type checking policy: no new warnings in changed files (`pyright`).\n\n## Frontend\n\n- Frontend: `cd frontend && pnpm lint`\n\nIf changes touch both, run both sets.\n\n## Prompt formatting\n\n- Prefer triple-quoted strings (`\"\"\"...\"\"\"`) for multi-line prompt text.\n- For interpolated multi-line prompts, prefer a single triple-quoted f-string over concatenated string fragments.\n\n# Hosted\n\nThe hosted version is on the `hosted` branch. The `hosted` branch connects to a saas backend, which is a seperate codebase at ../screenshot-to-code-saas\n\n## Cursor Cloud specific instructions\n\nDependencies are refreshed automatically on startup (`poetry install` in `backend/`, `pnpm install` in `frontend/`); no manual install is needed.\nCursor Cloud environment setup should run `bash /agent/repos/screenshot-to-code/scripts/cursor-cloud-install.sh`; the script changes to the repo root before installing so it works regardless of the startup working directory.\n\nServices (see `README.md` for the canonical commands):\n- Backend (FastAPI + WebSocket): from `backend/`, `poetry run uvicorn main:app --reload --port 7001`.\n- Frontend (Vite/React): from `frontend/`, `pnpm dev` → open `http://localhost:5173`. The Vite dev server binds to `localhost` only, so use `http://localhost:5173`, not `http://127.0.0.1:5173` (the latter refuses the connection).\n- Frontend talks to the backend over a WebSocket (`VITE_WS_BACKEND_URL`, default `ws://127.0.0.1:7001`); generation streams over that socket, other routes are plain HTTP.\n\nNon-obvious caveats:\n- `poetry` is installed under `~/.local/bin` and is on PATH for interactive shells (`.bashrc`) but not necessarily for non-interactive scripts; use the full path `~/.local/bin/poetry` if `poetry` is not found.\n- The Poetry virtualenv resolves to Python 3.12 (named like `backend-...-py3.12`), not 3.10 — `pyproject.toml` pins `^3.10`, which 3.12 satisfies. Just use `poetry run`.\n- Core feature (screenshot → code) requires at least one LLM key: set `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, or `GEMINI_API_KEY` in `backend/.env` (restart backend after editing) or in the in-app Settings dialog. Without a key, generation fails fast with a \"No OpenAI, Anthropic, or Gemini API key\" message. `REPLICATE_API_KEY` (image gen/edit) only works via `backend/.env`, not the UI.\n- Playwright Chromium is pre-installed for the optional \"Screenshot preview\" tool; Settings shows it as \"Available\".\n- `pnpm install` prints an \"Ignored build scripts (esbuild, puppeteer)\" warning — this is harmless; Vite build/dev and tests work without approving builds.\n- `cd frontend && pnpm lint` currently reports pre-existing errors (e.g. `@typescript-eslint/no-explicit-any` in `generateCode.ts`) because lint runs with `--max-warnings 0`; these are baseline issues, not environment problems.\n","category":"root","tokens":844}]}