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 and keeps their guide and skills in sync. - 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 gives you a tested, runnable app:
- A uv project on Python 3.14 with
stario>=5.1,<6and the dev tools. - The feature-folder layout with one static
homescreen. static/js/datastar.jsvendored.AGENTS.mdat the app root (Claude Code reads it directly).- The four skills installed into
.agents/skills/and linked from.claude/skills/. - A
justfile(dev,serve,check,fix,test). Withoutjust, the recipes are plain commands — run them directly. - The app's own tests, run once so the scaffold starts green (
--no-verifyskips that).
new takes --dir to pick the parent directory, --force to write into a non-empty one, and --orjson to add orjson and set it as the stario.json codec.
Syncing an app
Run this at the app root:
stario-create sync # refresh AGENTS.md and the skills
stario-create sync --check # exit 1 when the guide or a skill is stale
sync rewrites AGENTS.md to the bundled guide and keeps your ## This app notes at the end. It overwrites each .agents/skills/<name>/SKILL.md and relinks .claude/skills/<name>. It prints one line per file changed, or "up to date".
Without the CLI
To build an app by hand, the pyproject.toml needs these blocks:
[tool.ruff]
target-version = "py314"
line-length = 100
src = ["app", "tests"]
extend-exclude = [".agents", ".claude", ".cursor"]
[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B"]
[tool.ruff.lint.isort]
known-first-party = ["app"]
[tool.pyright]
pythonVersion = "3.14"
include = ["app", "tests"]
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["."]
asyncio_mode = "auto"
Stario does not read .env. Configure with environment variables; serve reads STARIO_* through ServerConfig.from_env(). STARIO_PORT changes the port.
The guide and the skills are also at https://stario.dev/AGENTS.md and via npx skills add bobowski/stario-create.
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 each file has one canonical copy.
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 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.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| stario_create-5.1.0.tar.gz | 45.7 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| stario_create-5.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 97.1 kB
Release files / stario_create-5.1.0.tar.gz
| Download URL | stario_create-5.1.0.tar.gz |
|---|---|
| Size | 45.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
de96b3c1c5dfe0ce9478a6f2e60a0b326e63a5bf5b5845dd50fb8a8aa51360ec
|
|
BLAKE2b-256 checksum How to use checksums |
80191c9968f409c3150b76e548392470e1f78b678580ca43e6ca5f06127aec24
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 20, 2026.
Transparency logRelease files / stario_create-5.1.0-py3-none-any.whl
| Download URL | stario_create-5.1.0-py3-none-any.whl |
|---|---|
| Size | 51.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5516bbda2163c8b7e7a1b664f5e8298d18439167dee68a06f6e819cc3b0dc3b2
|
|
BLAKE2b-256 checksum How to use checksums |
9b18777f839fa1e79646190391986af8ceab70deca4e11a07a6e8841f5f991eb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 20, 2026.
Transparency logSecurity for stario-create 5.1.0
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for stario_create-5.1.0.tar.gz
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 20, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.