Loading repository data…
Loading repository data…
ncontiero / repository
DKCutter Django is a robust template for jumpstarting production-ready Django projects quickly with modern tooling.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Powered by DKCutter, DKCutter Django is a robust template for jumpstarting production-ready Django projects quickly with modern tooling.
uv for Python dependencies and npm/yarn/pnpm/bun for the frontend.[!NOTE] Docker is recommended for setting up your project. Alternatively, ensure you have the latest version of uv installed. If you choose a frontend pipeline or React Email, you will also need a Node.js package manager (npm, pnpm, yarn, or bun).
To scaffold an application using DKCutter, run any of the following commands and answer the command prompt questions:
npx dkcutter@latest gh:ncontiero/dkcutter-django
yarn dlx dkcutter@latest gh:ncontiero/dkcutter-django
pnpm dlx dkcutter@latest gh:ncontiero/dkcutter-django
bunx dkcutter@latest gh:ncontiero/dkcutter-django
You'll be prompted for some values. Provide them, and a tailored Django project will be created for you.
Warning: After generation, ensure you update 'author name' and other specific details to your own information.
Answer the prompts with your own desired options. For example:
✔ What is the project name? … My Awesome Project
✔ What is the project slug? … my_awesome_project
✔ What is the project description? … Behold My Awesome Project!
✔ What is the author name? … Nicolas Contiero
✔ What is the domain name? … example.com
✔ What is the email address? … nicolas-contiero@example.com
✔ What Username Type would you like to use? › username / email
✔ What PostgreSQL version would you like to use? › 18 / 17 / 16 / 15 / 14
✔ What Cloud Provider would you like to use? › AWS / GCP / None
✔ What Rest Framework would you like to use? › None / Django Rest Framework / Django Ninja Rest Framework
✔ What Mail Service would you like to use? › Mailgun / Amazon SES / Mailjet / Mandrill / Postmark / Sendgrid / Brevo / SparkPost / Other SMTP / None
✔ What Frontend Pipeline would you like to use? › None / Rspack / Webpack
✔ What Frontend Pipeline Language would you like to use? › TypeScript / JavaScript
✔ Select additional tools: › Add React Email, Add TailwindCSS, Add ESLint, Add ESLint with Type Information, Add Mailpit, Add Celery, Add Sentry, Add WhiteNoise, Add PGAdmin
✔ Do you want to use TailwindCSS in React Email? … No / Yes
✔ What Package Manager would you like to use? › npm / Yarn / pnpm / bun
✔ What Automated Dependency Updater do you want to use? › None / Mend Renovate / Github Dependabot
✔ Do you want to install the frontend dependencies now? … No / Yes
✔ Do you want to initialize a git repository now? … No / Yes
✔ Project created!
Enter the project and take a look around:
cd my_awesome_project/
ls
Now take a look at your repo. Don't forget to carefully look at the generated README.md.
If you want to bypass the interactive prompts and start faster, you can provide configuration via CLI flags. All options in dkcutter.json are available as flags:
| Flag | Description |
|---|---|
--projectName <string> | Your project's human-readable name. |
--projectSlug <string> | Your project's slug without dashes or spaces. |
--description <string> | Describes your project. |
--authorName <string> | The author name. |
--domainName <string> | The domain name you plan to use for your project once it goes live. |
--email <string> | The email address you want to identify yourself in the project. |
--usernameType <string> | Select whether the user will log in using username or email. |
--postgresqlVersion <string> | Select a PostgreSQL version to use (18, 17, 16, 15, 14). |
--cloudProvider <string> | Select a cloud provider for static & media files (AWS, GCP, None). |
--restFramework <string> | Select a REST API framework (None, DRF, DNRF). |
--mailService <string> | Select an email service (e.g., Mailgun, Sendgrid, None). |
--frontendPipeline <string> | Select a pipeline to compile frontend assets (None, Rspack, Webpack). |
--frontendPipelineLang <string> | Select the language used by the Frontend Pipeline (ts, js). |
--additionalTools <string> | Comma-separated list of tools (reactEmail, tailwindcss, eslint, eslint-ts, mailpit, celery, sentry, whitenoise, pgadmin). |
--useTailwindInReactEmail [boolean] |
See here for more information about options.
The following would be the structure of an application with Sentry:
pnpm dlx dkcutter gh:ncontiero/dkcutter-django --additionalTools sentry
If you want to use all the default values with the exception of one or more, you can do it as follows:
pnpm dlx dkcutter gh:ncontiero/dkcutter-django --additionalTools celery,sentry -y
This will use the default values except for --additionalTools, skipping the interactive prompt (-y).
This project is licensed under the MIT License - see the LICENSE file for details.
| Select if you want to use TailwindCSS in React Email. |
--pkgManagerToUse <string> | Select the package manager for the frontend (npm, yarn, pnpm, bun). |
--automatedDepsUpdater <string> | Choose Automated Dependency Updater (none, renovate, dependabot). |
--installFrontendDeps [boolean] | Select if you want to install frontend dependencies. |
--initializeGit [boolean] | Select if you want to initialize a Git repository. |