Bootstrap a new Plain project from starter templates
Project description
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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file plain_start-0.3.1.tar.gz.
File metadata
- Download URL: plain_start-0.3.1.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d0fdfc18d8bee5f7159c45ed2555474e7add3d2016f9b0839a70fcc181ce9f5
|
|
| MD5 |
9f0cb47ae4a786a331d37ed074e493af
|
|
| BLAKE2b-256 |
3d64b66b4a25c9463b2bd8ab73fefea716e4077e8f14141949d5574aadf577b9
|
File details
Details for the file plain_start-0.3.1-py3-none-any.whl.
File metadata
- Download URL: plain_start-0.3.1-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f79272451284777b830f0cc2d8e46eed65dc60c1d6ffc4a6bae23fcc4007139
|
|
| MD5 |
b34140c731b474bf46f126881af2c4dc
|
|
| BLAKE2b-256 |
4fe4343ab53796b2ce64097574a5df2d81e196b524efe41f7df9d71194ffe3df
|