Skip to main content

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-create CLI (uvx stario-create, or uv 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) and skills/<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,<6 and the dev tools.
  • The feature-folder layout with one static home screen.
  • static/js/datastar.js vendored.
  • AGENTS.md at 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). Without just, the recipes are plain commands — run them directly.
  • The app's own tests, run once so the scaffold starts green (--no-verify skips 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)

Source distribution for stario-create 5.1.0
File Size Uploaded Provenance
stario_create-5.1.0.tar.gz 45.7 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for stario-create 5.1.0
File Interpreter ABI Platform
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page