Build and deploy your app
Build and deploy your app with whichever method suits you — web console, Claude app, or terminal.
Follow this document and you'll build your first app and finish its first deploy. Pick whichever of the three methods you like — the result is the same either way.
You get a GitHub repository holding template code, and an app with its own address.
What you need (all methods)
- An AxHub account — this is where your app will live. Ask your company's
tenant_admin(the person who manages the company account) for an invite. - A GitHub account — where your app code will be kept. Any personal account that can install the axhub GitHub App works, and a company organization (org) account is fine too.
The Claude app method additionally needs Claude Desktop, and the terminal method needs Claude Code — each tab starts from installation.
Pick how you'll build it
All you need is a browser. On the AxHub web console's Create app page, pick a template, click Finish once, and AxHub handles everything from creating the repository to the first deploy.
Fill in the basics
In the apps menu, click Create app and fill in the three fields under Basic info at the top.
Start with the app name — the subdomain and slug are filled in automatically based on it. If you don't like them, edit each field directly.
| Field | What it is | Rules |
|---|---|---|
| App name | The display name your coworkers will recognize | 1–100 characters, Korean is OK |
| Subdomain | The internet address for reaching the app — it becomes {subdomain}.{company}.axhub.ai | Starts with a lowercase letter; lowercase letters, digits, hyphens; 2–32 characters |
| Slug | A short English name that identifies the app within your company. You use it to refer to this app in admin screens and commands | Starts with a lowercase letter; lowercase letters, digits, hyphens; 3–50 characters |
If you type the app name in Korean, the subdomain and slug are not filled in automatically. Enter those two fields yourself in English. (Example: name 내 할일 → subdomain and slug my-todo)
Pick a template
This step decides what code you start from. The template's code goes straight into your new repository, so you start with an app that already works, not a blank screen.
| Template | Good for |
|---|---|
| Vite + React SPA | Front-end-only apps — the fastest start. It runs only in the browser, but calling external APIs is fine |
| Next.js App Router | Apps that need both a front end and a server — the server can read and store data |
| Astro | Content-first sites and blogs — mostly static screens, with only the parts that need it made interactive |
Not sure? For a web app that needs both a front end and a server, Next.js App Router; for a light, single-screen app, Vite + React SPA is a safe start.
Connect a Git repository
This step creates the GitHub repository that will hold your app code.
Install the GitHub App (first time only)
Name the repository
If a repository with the same name already exists, this fails (repo_exists). Try again with a different name.
Finish — all the way to a deploy
Click Finish and a progress screen appears, running through the steps below automatically. There's nothing else to click along the way.
Create app → create repository → add template code → connect → deployWhen it's done, you land on the In development tab and your app gets its address (URL).
All methods: confirm the deploy
However you built it, the check is the same.
Open the app's address — every app gets its own address, in the form {subdomain}.{company}.axhub.ai. Open it in a browser, and if the template screen is showing, you've succeeded.
Look in the console — go to your company console ({company}.axhub.ai, e.g. jocodingax.axhub.ai) and open My apps: the app you just made shows up as a card.
Clicking the card opens that app's app console. Deploy status and logs, environment variables, and data all live here.
Managing it after you build it
The app console covers all of the following.
| What you want | Where in the console | Guide |
|---|---|---|
| Check a deploy and roll it back | Deploys tab | Manage deployments |
| Open it up to people at your company | Visibility, inside the Deploys tab | Visibility and access |
| Browse accumulated data as tables | Resources tab → Tables | Connect a database |
| See uploaded files | Resources tab → Storage | Connect storage |
| Set and remove secrets | Resources tab → Environment variables | Set environment variables |
| Decide who gets into the app | App users tab | Visibility and access |
| Snapshot the data and roll it back | Backups tab | Back up and restore |
Tables, storage, and environment variables are grouped into the single Resources tab, and you switch between the three inside it.
Inviting company members and sharing roles is company-wide rather than per-app, so it lives under Members in the admin console — see Invite members, share roles.
Adding features in code
Now open the created repository in Claude Code and start adding features. This repository is already set up for AxHub (port and structure). Try asking like this.
Add a to-do list screen. Let me enter a title and a due date to save an item,
and check items off as done in the list.Commit your changes and push them to GitHub, and a new deploy starts.
If you get stuck
- Using the plugin — ask "tell me why the last deploy failed". It pulls the failed deploy's records (logs) and points to the cause.
- In the terminal — run
axhub deploy status <id> --app <app>andaxhub deploy logs <id> --app <app>to see where it stopped. - Fixes by symptom are in Troubleshooting.