Skip to content

Commit 6b5a8ec

Browse files
Merge pull request #124 from Create-Python-App/fix/65-dockerfile
chore: root Dockerfile for CLI (#65)
2 parents e111689 + 1392bfe commit 6b5a8ec

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,11 @@
22
[![Lint](https://github.com/Create-Python-App/create-python-app/actions/workflows/lint.yml/badge.svg)](https://github.com/Create-Python-App/create-python-app/actions/workflows/lint.yml)
33
[![Typecheck](https://github.com/Create-Python-App/create-python-app/actions/workflows/type-check.yml/badge.svg)](https://github.com/Create-Python-App/create-python-app/actions/workflows/type-check.yml)
44
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)
5-
<!-- PyPI / coverage badges activate after first publish -->\nComposable scaffolding CLI for production-ready Python apps.\n\n> **Status:** bootstrapping. Roadmap: [#1](https://github.com/Create-Python-App/create-python-app/issues/1).\n\n\n## Install (preview)\n\nOnce published to PyPI:\n\n```bash\nuvx create-awesome-python-app@latest my-app\n```\n\nUntil the first release, use the workspace CLI stub:\n\n```bash\nuv sync\nuv run create-awesome-python-app\n```\n\n## License\n\nMIT — see [LICENSE](./LICENSE).\n\n## Monorepo layout (uv workspaces)\n\nThis repository is a **virtual uv workspace**: the root is not published; packages live under `packages/*` and share one `uv.lock` / `.venv`.\n\n```text\ncreate-python-app/ # virtual workspace root (no [project] table)\n├── pyproject.toml # [tool.uv.workspace] members = ["packages/*"]\n├── uv.lock\n├── .venv/ # shared environment (gitignored later)\n└── packages/\n ├── create-python-app-core/ # scaffolding engine\n └── create-awesome-python-app/ # CLI (depends on core via workspace)\n```\n\n### Setup\n\n```bash\n# Requires uv: https://docs.astral.sh/uv/\nuv sync\n```\n\n\n\n## Development commands\n\nFrom the repo root (requires [uv](https://docs.astral.sh/uv/)):\n\n| Task | Make | Equivalent |\n|------|------|------------|\n| Install workspace | `make sync` | `uv sync` |\n| Tests | `make test` | `uv run pytest` |\n| Lint | `make lint` | `uv run ruff check .` |\n| Type-check | `make typecheck` | `uv run pyright` |\n| Build packages | `make build` | `uv build --all` |\n\n> Install git hooks: `uv run pre-commit install`\n>\n> Ruff, Pyright, and pytest are wired in Epic 2 (`#17`–`#20`). Until then, `make lint` / `test` / `typecheck` will fail if those tools are not installed yet — that is expected.\n\n## Python version\n\n- **Pin file:** `.python-version` → `3.12`\n- **Constraint:** every workspace member sets `requires-python = ">=3.12"`\n- **CI:** workflows (Epic 6 / #45) must install Python 3.12+ matching this pin\n\n```bash\nuv python install # respects .python-version when needed\nuv sync\n```\n\n### Reference\n\n- [uv workspaces handbook](https://pydevtools.com/handbook/how-to/how-to-set-up-a-python-monorepo-with-uv-workspaces/)\n- Node parity: [Create-Node-App/create-node-app](https://github.com/Create-Node-App/create-node-app)\n
5+
<!-- PyPI / coverage badges activate after first publish -->\nComposable scaffolding CLI for production-ready Python apps.\n\n> **Status:** bootstrapping. Roadmap: [#1](https://github.com/Create-Python-App/create-python-app/issues/1).\n\n\n## Install (preview)\n\nOnce published to PyPI:\n\n```bash\nuvx create-awesome-python-app@latest my-app\n```\n\nUntil the first release, use the workspace CLI stub:\n\n```bash\nuv sync\nuv run create-awesome-python-app\n```\n\n## License\n\nMIT — see [LICENSE](./LICENSE).\n\n## Monorepo layout (uv workspaces)\n\nThis repository is a **virtual uv workspace**: the root is not published; packages live under `packages/*` and share one `uv.lock` / `.venv`.\n\n```text\ncreate-python-app/ # virtual workspace root (no [project] table)\n├── pyproject.toml # [tool.uv.workspace] members = ["packages/*"]\n├── uv.lock\n├── .venv/ # shared environment (gitignored later)\n└── packages/\n ├── create-python-app-core/ # scaffolding engine\n └── create-awesome-python-app/ # CLI (depends on core via workspace)\n```\n\n### Setup\n\n```bash\n# Requires uv: https://docs.astral.sh/uv/\nuv sync\n```\n\n\n\n## Development commands\n\nFrom the repo root (requires [uv](https://docs.astral.sh/uv/)):\n\n| Task | Make | Equivalent |\n|------|------|------------|\n| Install workspace | `make sync` | `uv sync` |\n| Tests | `make test` | `uv run pytest` |\n| Lint | `make lint` | `uv run ruff check .` |\n| Type-check | `make typecheck` | `uv run pyright` |\n| Build packages | `make build` | `uv build --all` |\n\n> Install git hooks: `uv run pre-commit install`\n>\n> Ruff, Pyright, and pytest are wired in Epic 2 (`#17`–`#20`). Until then, `make lint` / `test` / `typecheck` will fail if those tools are not installed yet — that is expected.\n\n## Python version\n\n- **Pin file:** `.python-version` → `3.12`\n- **Constraint:** every workspace member sets `requires-python = ">=3.12"`\n- **CI:** workflows (Epic 6 / #45) must install Python 3.12+ matching this pin\n\n```bash\nuv python install # respects .python-version when needed\nuv sync\n```\n\n### Reference\n\n- [uv workspaces handbook](https://pydevtools.com/handbook/how-to/how-to-set-up-a-python-monorepo-with-uv-workspaces/)\n- Node parity: [Create-Node-App/create-node-app](https://github.com/Create-Node-App/create-node-app)\n
6+
## Docker
7+
8+
```bash
9+
docker build -t create-awesome-python-app .
10+
docker run --rm create-awesome-python-app --help
11+
```
12+

0 commit comments

Comments
 (0)