# project (https://lazyfrog.dev/docs/tools/project)

{/* Generated by scripts/generate-docs.ts from the gateway's registered tools. Do not edit. */}

**{"Projects"}** · Can change or delete · actions: `list`, `get`, `create`, `settings`, `wake`, `sleep`, `archive`, `unarchive`, `transfer`, `delete`, `import`, `export`, `exports`, `export_delete`, `about`, `event_entry`

<p>{"For reading use project_read, which is read-only and needs no approval: \"list\", \"get\", \"about\", \"exports\" here are deprecated (still works). action \"list\": the user's projects. \"get\": one project (status, template, preview address). \"create\": a new project from a template (name; template nextjs-app, python-fastapi, static-site or blank; slug optional) — it is running when this returns, with its preview address; or with remix: \"<slug or address>\" a copy of someone's public project (code, preview database and files, never secrets). \"settings\": name (rename it; its addresses stay), slug (a new live address <slug>.lazyfrog.app: the old one redirects there for 30 days, then stops working, and the old name stays the user's for 90 days; names that imitate a brand or a sign-in or payment page are refused with the reason; ask the user first), preview_password (set one, or null to remove it), rotate_preview_url: true (a new preview address; the old one stops working), auto_publish (publish after every push from the connected GitHub repository; needs a paid plan), always_on (the live site never sleeps; paid plans) and/or visibility (private, unlisted or public: who may remix it). \"wake\" / \"sleep\": start or stop the preview now (rarely needed: any tool call or visit wakes it, and it sleeps after 15 quiet minutes). \"archive\": park a project (ask the user first): its data is kept, it stops counting toward the plan's projects, and its live site goes offline (preview and production stop; visitors, custom domains included, see \"This site is archived by its owner\") until it is unarchived. \"transfer\": offer a project to another person's account (to_email, confirm: true; they accept in their portal, the user can cancel until then). \"unarchive\": bring back an archived project, or a deleted one within 7 days (the Trash), with all its data (it counts toward the plan's projects again; a published site goes live again from its current release). \"delete\": delete a project (confirm: true; the user approves it in their portal; it stays in the Trash for 7 days). \"import\": a new project from a git repository (url: https://github.com/owner/repo and similar, or a folder of one such as https://github.com/owner/repo/tree/main/examples/blog, which comes in as a project of its own; name, slug and branch optional) — the framework is detected (Next.js, Vite, Astro, SvelteKit, Nuxt, Remix, Node, FastAPI, Flask, Django, static) and so is where it came from (Lovable, Bolt, v0, Replit, Vercel: their editor plugins are removed, vercel.json becomes routing.json; Supabase or Firebase backends are kept); returns a job: follow it with job get; its result says ready (installed and answering), what changed, required_env (ask the user for these: secrets request) and optional_env (features they may want later), the licence, the original as upstream, and warnings to act on. Or from a prototype made in the chat (source: {files: [{path, content}]}, up to 100 files and 3 MB together; a Claude artifact, a page ChatGPT previewed, one React component, with any images as encoding base64): a single HTML page is laid out as a static site, a component that keeps nothing as a Vite React app, one that calls window.claude or window.openai, keeps data (artifact storage, localStorage) or reads another service as a Next.js app with lib/db and a first migration; nothing in it is rewritten except wiring the entry point, and the result and the project's about carry a \"Make it real\" checklist: what moved, what must change (each call with file and lines), what LazyFrog adds; bigger prototypes: import the page and what it needs, then fs_write the rest. \"create\" takes the same source for its first write. \"export\": an archive of the project (code with git history, both databases as SQL, /data, secret names, a moving-out guide) as a job whose result has a download link valid 7 days. \"exports\": the project's exports with links. \"export_delete\": delete one (export_id). \"about\" (about: {title, summary, links, facts, steps}): the app info the owner sees on the project's page; whenever you install or set up an app the owner will use (CMS, shop, dashboard, admin tool), call it with where to sign in or manage it (the admin or login address), what it is and its version, where its data lives, how to update it and what the owner must do next; credentials go in secrets, never here (name the secret instead: \"Admin password: stored as secret WP_ADMIN_PASSWORD\"); keep it current when anything changes; without about it returns the current one, with about: null it removes it. \"event_entry\": enter the project in an event such as LF Games 2027 (a yearly game jam): without entry it lists the events open for entries with their categories, and this project's entries with their state; with entry {event, category, title, description (one line), maker (the name to show as the game's maker), prompt (optional)} it checks the project can enter (published, public, a paid plan, no open security notice) and returns the link where the user enters it themselves: entering is their act, so never say it is entered."}</p>
