# Templates

> What each Orkosi template includes, how they compare, and how to make a product yours through the brand kit, product rules, environment variables and tasks.

Source: https://support.orkosi.com/docs/templates

A template is the starting point of your product: a complete, working application that Orkosi copies into your own GitHub repository and deploys for you. From then on every task changes **your** copy. You choose the template once, in the onboarding wizard.

There are exactly five: **Website**, **E-commerce** (Shopify-like), **SaaS**, **Native mobile** and **Native desktop**. A landing page, a blog or a portfolio is not a template of its own — it is a Website with different sections switched on (a _variant_, chosen under the Website card).

## The templates
### SaaS
A web application with everything a subscription business needs on day one.

- Authentication: email and password, OAuth sign-in, two-factor authentication
- Stripe subscriptions and customer portal
- Teams, invitations and roles
- Transactional email
- Admin dashboard
- Blog and documentation pages

Runs as a server-rendered app with a PostgreSQL schema per environment.

### Shopify
An online store with the full purchase flow.

- Product catalogue with search and filters
- Product pages with variants
- Cart and Stripe checkout
- Order management
- Customer accounts and order history
- Inventory and shipping
- Discount codes
- Sales analytics
- Storefront theming

### Website
A multi-page company website with a content editor (the `informational` template). Three variants start from it with different sections switched on:

| Variant       | Starts with                                                                                                                                         |
| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Landing**   | Hero, benefits, social proof, offer block, FAQ and call to action, lead form with an inbox in your dashboard, SEO metadata and social preview image |
| **Blog**      | Posts with an editor, about page, contact form, SEO and social preview images                                                                       |
| **Portfolio** | Project grid and case-study pages, about and services pages, contact form with inbox, testimonials                                                  |

Variants share one codebase and one template, so you can enable any other section later with a task ("add a pricing section" or "turn on the blog"). Your product's type stays **Website**; the variant is remembered next to it.

### Mobile
An [Expo](https://expo.dev/) / React Native app for iOS and Android from one codebase.

- Splash, sign-in, home and settings screens
- Tab and stack navigation
- Your brand kit applied to the theme
- Test on a device with Expo Go
- Web preview hosted by Orkosi for every task
- Store builds are planned; today the product ships as the hosted web preview, and its landing page says so until a build exists

Mobile products do not get a database of their own; they talk to an API, typically a SaaS product you also run on Orkosi.

### Desktop
A [Tauri 2](https://tauri.app/) desktop application with a React interface for macOS and Windows.

- Native window and menu bar
- Sign-in, dashboard and settings screens
- Your brand kit applied
- Small installers, no bundled browser engine, once native builds ship (planned; the landing page says "not available yet" until then)
- Web preview hosted by Orkosi for every task

Like mobile, desktop products have no database of their own.

## Feature comparison
|                                   | SaaS                 | Shopify         | Informational    | Mobile                                | Desktop                               |
| --------------------------------- | -------------------- | --------------- | ---------------- | ------------------------------------- | ------------------------------------- |
| Hosted dev + prod environments    | Yes                  | Yes             | Yes              | Web preview                           | Web preview                           |
| PostgreSQL schema per environment | Yes                  | Yes             | Yes              | —                                     | —                                     |
| User accounts                     | Yes                  | Customers       | Admin only       | Yes                                   | Yes                                   |
| Payments                          | Stripe subscriptions | Stripe checkout | —                | —                                     | —                                     |
| Content editor                    | Blog and docs        | Products        | Pages and blog   | —                                     | —                                     |
| Forms with inbox                  | Contact              | Checkout        | Lead and contact | —                                     | —                                     |
| SEO and social preview            | Yes                  | Yes             | Yes              | —                                     | —                                     |
| Brand kit applied                 | Yes                  | Yes             | Yes              | Yes                                   | Yes                                   |
| Custom domain                     | Yes                  | Yes             | Yes              | Preview only                          | Preview only                          |
| Ships to                          | Browser              | Browser         | Browser          | Web preview today, app stores planned | Web preview today, installers planned |

## Choosing a template
- Selling software with logins and subscriptions: **SaaS**.
- Selling physical or digital goods with a cart: **Shopify**.
- Presenting a company, campaign or portfolio: **Informational**, with the Landing, Blog or Portfolio preset.
- Reaching users on their phones: **Mobile**, usually paired with a SaaS backend.
- A tool that lives on the desktop: **Desktop**.

The wizard also understands plain descriptions. Typing "restaurant website" or "agency" maps to Informational; "store" or "e-commerce" maps to Shopify; "iOS app" maps to Mobile.

## Customisation guide
### Brand kit
Your brand is a file in your repository (`brand.json`) that every template reads for colours, typography, logo and tone. You set it in the wizard from a **brand preset** and refine it under **Brand** in the product hub: palette, fonts, logo variants, dark-mode palette and voice. Agents read the brand kit on every task, so a redesign is as simple as changing the kit and asking for the pages to be refreshed.

### Product rules
Under **Settings → Rules** you can give agents standing instructions that apply to every task on the product, for example "all dates in ISO format", "never remove the cookie banner" or "use British English". Up to five rules of 1,000 characters each.

### Environment variables
**Settings → Environment variables** manages configuration per environment. Secrets are encrypted and masked after saving. Templates list the keys they expect (Stripe keys, JWT secret, database URL), and Orkosi fills the managed ones such as `DATABASE_URL` for you. A changed variable is picked up by the next deployment of that environment.

### Changing the product itself
Everything else is a task: new pages, features, integrations, copy, design. Describe the change in the **Tasks** board, in the chat assistant or from Telegram, and pick an AI tier that fits the difficulty. The agent works in your repository, so you can also read the code, clone it or export it at any time from **Code** in the product hub. You own the repository.

### Keeping up with the template
Templates keep improving after you start: security fixes, new modules, faster builds. Each release is
a version (`v2.4.1`), and your repository records the version it is on. Files inside `@system`
folders belong to the template; everything you and your agents build lives in `@custom` folders,
your brand kit and your assets.

Open **Template** in the product hub (customers: **Settings → Template Version**). It shows the
version you are on, the latest release and what changed in between.

- **Preview changes** measures which template-owned files are behind and which shared files (for
  example `package.json`) changed on both sides. Nothing is pushed.
- **Sync to latest** applies the release: `@system` files are replaced, your `@custom` code, brand kit
  and assets are kept, shared files are merged. The result arrives as a pull request on your
  repository, with the release notes, the file list and any file that needs a human decision.
  Your repository's own checks run on that pull request; merge it when they are green, and the
  version shown here moves forward.

Every sync also appears on the **Tasks** board as a "Template sync" task, so its history sits next
to the rest of the work on the product.

Platform admins see the same information for every product at once under **Admin → Template sync**
(current and latest version, releases behind, the last run with its pull request and CI result), with
Preview and Sync to latest per product and a **Refresh registry** action that pulls new template
releases immediately instead of waiting for the hourly check.

### Starting from your existing site
If you already have a website, choose **I already have a website** in the wizard. Orkosi crawls it, extracts colours, fonts, logo and copy into a brand kit and pre-fills the wizard, so your new product starts looking like you from the first deploy.
