Wrap any Django project in an Electron shell
Project description
desktop-django-starter
Wrap any Django project in an Electron shell using an AI coding agent.
Quick start
cd ~/projects/my-django-app
uvx desktop-django-starter wrap # preflight only
uvx desktop-django-starter wrap --run # preflight + invoke agent
Or install for repeated use:
uv tool install desktop-django-starter
dds wrap
dds wrap --run
dds wrap --run --agent codex
dds wrap --run --harness pi --model openai-codex/gpt-5.4
Commands
dds wrap
Run from inside a Django project directory. By default, runs preflight checks
and prints the agent command. Add --run to invoke the agent.
When using the default claude agent, --run streams concise progress lines
while Claude works. Older dds builds delegated to Claude's default text
output, which could look idle until the agent finished.
Options:
--run— invoke the agent after preflight passes--agent NAME,--harness NAME— agent harness to use:claude(default),pi,codex--model NAME— model to pass to the selected agent--force— bypass dirty-worktree and existing-electron/ checks--emit-prompt— print the resolved wrapping prompt to stdout
dds doctor
Check that prerequisites (node, npm, just, agent CLIs) are installed and that bundled assets are intact.
What happens after wrapping
The agent creates an electron/ directory and justfile targets in your project:
just desktop-dev # Electron + Django dev mode
just desktop-dev-smoke # headless boot + health check
npm --prefix electron test # node-side tests
Version
Every wrap is stamped with the dds version so you can reproduce results.
The package version tracks the starter repo release.
Maintainer release
Build and publish the PyPI wrapper package from the repo root:
just cli-publish
The cli-publish recipe runs cli-test and cli-build first. The PyPI wrapper
package is the cli/ subproject. Use just cli-build or just cli-publish
instead of the root just build recipe for uvx desktop-django-starter ...
releases.
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 desktop_django_starter-0.1.2.tar.gz.
File metadata
- Download URL: desktop_django_starter-0.1.2.tar.gz
- Upload date:
- Size: 300.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6ee22a3a72b46de6d4832a811daad3cffb96110df1a5c14030fbad681df87b0
|
|
| MD5 |
982dee9a00b5851cb46237bc4daeac0f
|
|
| BLAKE2b-256 |
cd9ecc69880e429adfe56006c14dffd0e4c901d0aaa36df6c6a0248b5ff5a86a
|
File details
Details for the file desktop_django_starter-0.1.2-py3-none-any.whl.
File metadata
- Download URL: desktop_django_starter-0.1.2-py3-none-any.whl
- Upload date:
- Size: 313.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed4c43d402017aa7ad0d38922eaebd4826a7c349c028053de0b1f313075e334c
|
|
| MD5 |
a85687fd8416f976a75adcbca877f4f5
|
|
| BLAKE2b-256 |
5b4cccb4e4be94de4d6f5affe42f9f8ddd694d0f9eed6d64ae407a1df7be296c
|