stario-create
The project tool and agent guidance for building apps with Stario. This repo tracks Stario 5. The framework itself lives at bobowski/stario.
Two things ship from here:
- The
stario-createCLI (uvx stario-create, oruv tool install stario-create). It scaffolds apps, adds screens, installs the skills, updates the guide, and runs the dev tasks. - The files it installs:
AGENTS.md(the always-on guide an app keeps at its root) andskills/<name>/SKILL.md(on-demand procedures an agent loads when the task matches).
New app
uvx stario-create new my-app
cd my-app
just dev # http://127.0.0.1:8000, reloads on change
just check # lint, format, types, tests — run before done
new creates a uv project on Python 3.14, adds stario>=5,<6 and the dev tools, writes the feature-folder layout with one static home screen, vendors static/js/datastar.js, writes AGENTS.md, a CLAUDE.md that imports it, and a justfile (dev, serve, check, fix, test), installs the four skills into .agents/skills/, and runs the tests once. Without just, the recipes in the justfile are plain commands — run them directly.
From git instead of PyPI:
uvx --from git+https://github.com/bobowski/stario-create stario-create new my-app
Growing an app
Run these at the app root:
stario-create screen settings # static page
stario-create screen notes --live # GET + live stream + one command
stario-create skills install # skills into .agents/skills/
stario-create guide --check # is AGENTS.md stale?
stario-create guide --write # update it, keep '## This app'
stario-create check # ruff, format, pyright, pytest
stario-create dev # hot reload, no `just` needed
Every command prints JSON when stdout is piped, takes --json or --text, and writer commands take --dry-run and --force.
Skills
| Skill | Use it when |
|---|---|
stario-feature |
You add or remove one screen: a page or a resource with its own URL. |
stario-auth |
The app needs login: a signed session cookie, c.state["user"], protected screens. |
stario-litewriter |
The app stores data in SQLite through litewriter: one writer thread, watch repaints a live screen from a commit. |
stario-tailwind-daisyui |
The app is styled with Tailwind v4 and DaisyUI through the standalone binary. No Node. |
npx skills add bobowski/stario-create also works — it reads the skills/ tree at this repo root.
Served copies
stario.dev serves these files: /AGENTS.md, /llms.txt, /llms-full.txt (the guide and the skills in one file), /skills/, and /skills/<name>/SKILL.md.
Repo layout
AGENTS.md, llms.txt, and skills/ sit at the root — npx skills, stario.dev, and repo browsing all read them there. The wheel embeds copies under stario_create/_data/ (hatchling force-include), so uvx works without a checkout. In a checkout, the CLI reads the root files directly, so there is one canonical copy of each file.
Changing the guide
The guide is checked against real code. examples/chat-room in the stario repo follows it. When a rule changes here, change the example there, and run its tests. A code snippet in AGENTS.md must run as written; the package tests scaffold a project and compile every generated file, and stario-create new runs the new app's tests.
Metadata
Release files for stario-create 5.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| stario_create-5.0.1.tar.gz | 48.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| stario_create-5.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 107.2 kB
Release files / stario_create-5.0.1.tar.gz
| Download URL | stario_create-5.0.1.tar.gz |
|---|---|
| Size | 48.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6bb67797865d2257b8eacacc43f5be0451983447aa8ba06bd858249d795d7373
|
|
BLAKE2b-256 checksum How to use checksums |
6c7598543961973f377407574b2e6289f506ec7e8dfaa43469c0a0cf4f0f5090
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.
Transparency logRelease files / stario_create-5.0.1-py3-none-any.whl
| Download URL | stario_create-5.0.1-py3-none-any.whl |
|---|---|
| Size | 58.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8152ee5a68492f1aeb16d6b1338d0143356a1b1f1b168092fb0e0cd41793e1ff
|
|
BLAKE2b-256 checksum How to use checksums |
96e714431184da8da0116f9756306bbd2942d728e8ae712fa90668e555ff7edc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.
Transparency log