---
title: "Ways to start"
description: "Pick how you start with Guuey: create an agent in the console, scaffold a project from a template, or put a Guuey agent behind a frontend you build yourself."
---

Every path here ends with an agent running on Guuey. They differ in how much you write yourself. Pick the one that fits. A console agent can move to a repo and to code later.

## Create it in the console, no code

Describe what your agent should do and the console deploys it. You edit its prompt, tools and look from the console, and it can go on your site, its own page and Portal. Start with [Getting started](/getting-started/).

A console agent is [declarative](/modes/). When you want it in a repo, `guuey pull` brings its definition into a local `guuey.json`, and `guuey eject` moves it to code mode (see the [CLI guide](/cli/)).

## Start from a template

Scaffold a whole project with one command:

```bash
npx @guuey/create-agentic-app my-app
```

Pick what you start with:

| Template                 | What you get                                                                                                                                           | Walkthrough                                    |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------- |
| `base` (the default)     | A code-mode agent, a colocated MCP server to copy for your own tools, and a web frontend (Vite and React on [`@guuey/chat`](/chat/)) with a chat page. | [Your first agentic app](/tutorial-first-app/) |
| `--template agentic-app` | The same agent inside a product shell: your menus in a sidebar, the chat below them, and a full-width canvas for generative UI.                        | [Ship a product shell](/tutorial-agentic-app/) |
| `--template agent`       | A declarative agent only: `guuey.json` and a system prompt, no frontend and no build step.                                                             | [Agents as code](/agents-as-code/)             |
| `--example trimly`       | A complete demo app to make your own. The other examples are `dealio`, `deskly` and `orderly`.                                                         | [Start from Trimly](/tutorial-trimly/)         |

Code-mode templates take `--framework claude-agent-sdk`, `openai-agents-sdk` or `google-adk`. New projects start with Generative UI off: delete `"ggui": false` from `agent.mcpServers` in `guuey.json` to turn it on (see [Generative UI](/protocol/)).

Your first `guuey deploy` creates the app only from an interactive terminal. A coding agent, a CI job or a declarative project creates it with `guuey apps create` first (see [Deploy](/cli/#deploy)).

## Build your own frontend

Your agent runs on Guuey, and the interface is yours. Each option talks to a deployed agent, so create one first in the console or from a template.

- **One script tag.** The [widget](/install-widget/) puts your agent's chat on any website, with a guide per stack, [Next.js](/embed/nextjs/) included.
- **A React component.** [`@guuey/chat`](/chat/) is the chat UI Guuey's own surfaces are built on, as one component you mount and theme. It also renders in [React Native](/chat-native/).
- **Your own chat client.** Agents built on the Claude Agent SDK, the OpenAI Agents SDK or Google ADK, no-code or code-mode, stream their turns as [AgJSON](https://silverprotocol.io/AgJSON), silverprotocol's open event format. So one client can render any of them, whichever model they use. [`@guuey/agent-client`](/sdk/) runs the turns, and `@silverprotocol/core` reduces their events into messages for any interface you build.

## Write your own agent code

Code mode runs your own program, written with the Claude Agent SDK, the OpenAI Agents SDK or Google ADK, and `guuey deploy` builds and ships it. [Declarative and code modes](/modes/) compares the two, and [Hosting & runtime](/hosting/) covers what runs where. For tools of your own, `guuey mcp new <name>` scaffolds an MCP server that Guuey can host.