DKCutter Django

DKCutter Django is a framework for jumpstarting production-ready Django projects quickly.

Build Status license mit Code style: Ruff

Powered by DKCutter, DKCutter Django is a framework for jumpstarting production-ready Django projects quickly.

  • If you have problems with DKCutter Django, please open issues.

Usage

To scaffold an application using dkcutter, run any of the following four commands and answer the command prompt questions:

npm

npx dkcutter@latest gh:dkshs/dkcutter-django

yarn

yarn dlx dkcutter@latest gh:dkshs/dkcutter-django

pnpm

pnpm dlx dkcutter@latest gh:dkshs/dkcutter-django

bun

bunx dkcutter@latest gh:dkshs/dkcutter-django

You'll be prompted for some values. Provide them, then a Django project will be created for you.

Warning: After this point, change 'DKSHS', etc to your own information.

Answer the prompts with your own desired options. For example:

# output

Enter the project and take a look around:

cd my-awesome-project/
ls

Advanced usage

If you want to start faster, you can use the following options:

FlagDescription
--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.
--postgresqlVersion <string>Select a PostgreSQL version to use.
--cloudProvider <string>Select a cloud provider for static & media files.
--restFramework <string>Select a REST API framework.
--mailService <string>Select an email service that Django-Anymail provides.
--frontendPipeline <string>Select a pipeline to compile and optimize frontend assets (JS, CSS, …).
--additionalTools <string>Select additional tools to use.
--automatedDepsUpdater <string>Choose Automated Dependency Updater. See for more info.

See for more information about options.

Example

The following would be the structure of an application with Sentry:

pnpm dlx dkcutter gh:dkshs/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:dkshs/dkcutter-django --additionalTools celery,sentry -y

This will use the default values except for --additionalTools.

For local development, see the following

References and inspirations

License

This project is licensed under the MIT License - see the LICENSE file for details