plain-start
Bootstrap a new Plain project from official starter templates.
Overview
You can create a new Plain project with a single command:
uvx plain-start my-project
This clones the official app starter template, configures your project name, initializes a fresh git repository, and runs the installation script. When it finishes, you'll have a working project ready to go.
cd my-project
uv run plain dev
Starter templates
Plain provides two official starter templates hosted on GitHub.
App starter (default)
The app starter includes everything you need for a full-featured web application:
- Database ORM
- User authentication
- Admin interface
- Session management
- All core Plain packages
uvx plain-start my-app
Bare starter
The bare starter is a minimal setup for when you want to start from scratch:
- Plain framework core only
- Development tools
- No database or auth
uvx plain-start my-project --type bare
Options
--type
Choose which starter template to use. Defaults to app.
uvx plain-start my-project --type bare
--no-install
Skip running the ./scripts/install script after cloning. Use this if you want to inspect the project before installing dependencies.
uvx plain-start my-project --no-install
cd my-project
# review the project structure...
./scripts/install
FAQs
What happens during project creation?
The cli command performs these steps:
- Clones the starter repository (shallow clone for speed)
- Removes the
.gitdirectory and initializes a fresh repository - Updates the project name in
pyproject.toml - Runs
./scripts/installto set up dependencies (unless--no-installis used)
Where are the starter templates hosted?
The starter templates are hosted on GitHub:
- App starter: https://github.com/dropseed/plain-starter-app
- Bare starter: https://github.com/dropseed/plain-starter-bare
What if the directory already exists?
The command will exit with an error. You'll need to choose a different project name or remove the existing directory first.
What if the install script fails?
If the installation script fails, you'll see a warning message. You can try running ./scripts/install manually after investigating the issue.
Installation
The recommended way to use plain-start is with uvx, which runs the command without needing to install it first:
uvx plain-start my-project
If you prefer to install it globally:
uv tool install plain-start
plain-start my-project
Metadata
Release files for plain.start 0.4.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 | |
|---|---|---|---|
| plain_start-0.4.0.tar.gz | 4.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| plain_start-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.3 kB
Release files / plain_start-0.4.0.tar.gz
| Download URL | plain_start-0.4.0.tar.gz |
|---|---|
| Size | 4.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bb4545400a4d0d35473e243df88f1acef5ba4a0e518ca1eb3a39136352a653cc
|
|
BLAKE2b-256 checksum How to use checksums |
5f0657c7312ee9a1d2912881802d1751e1cc9835615b2b3fdddb473a45957f4c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / plain_start-0.4.0-py3-none-any.whl
| Download URL | plain_start-0.4.0-py3-none-any.whl |
|---|---|
| Size | 7.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9f38f44163ec662c34f526ce57dd7d51ece54004493ebd5c35ff973a4321c2e4
|
|
BLAKE2b-256 checksum How to use checksums |
b103c9ff9f47d274d91e01617244529bb093458116628ec0bfc9414ff53075ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|