Starting a new app
berth new myapp # or --stack python | go | static
You get a folder called myapp that's ready to hand to a coding agent:
- A small web app that already follows the rules: Node with no dependencies (the default), Python with FastAPI, Go with the standard library, or a static site.
AGENTS.md, which Codex, Cursor and most other agents read. It tells the agent how to try changes on the dev version withberth dev:push, read logs, set config, add a database, write migrations, add workers and cron jobs, use sign-in and AI if your Berth has them, and which things to ask you about first (pushing tomain, rollbacks, production config). It has your app's real URLs in it. It's yours: edit away.CLAUDE.md, one line pointing Claude Code atAGENTS.md.- A README, a
.gitignoreand a first commit onmain.
Then it asks about two more things:
- GitHub. If the GitHub CLI is logged in
(
brew install gh && gh auth login), Berth makes a private repo,<you>/myapp, and pushes to it.--publicmakes it public;--repopicks another name or an organization. Withoutgh, it prints the three steps to do by hand. - Deploying. It creates the app from that repo and deploys it, just like
berth create.
-y says yes to both, and --no-github and --no-deploy skip them. Then
open the folder in your agent and ask for what you want.
berth new works on your laptop too, which is probably where your editor and
agent live: see Working from your laptop. For an
existing repo, berth dev:agents myapp prints the Berth section of
AGENTS.md for you to paste in.