Inception is a project kickstarter (scaffolding tool), designed to improve developer experience and help with fast onboarding. All the decisions and options provided in these templates, are based on what we use mainly in DataChef. However, given the open source nature of this project, feel free to challenge these decision and help us to improve them.
Table of Contents
- Opinionated Configuration: Reduces decision fatigue by providing fewer, well-chosen options.
- Reproducible and Declarative: Built on Nix and Devenv, ensuring reliable, reproducible environments.
- Multi-Language Support: Compatible with Python, Node.js, Go, and Rust.
- Enhanced Development Environment: Includes features like dotenv, LSP, difftastic, and more.
- DevContainer and CodeSpaces Support: Developers don't even need a local editor to begin with!
- Comprehensive .gitignore: Includes a well-crafted
.gitignore
file.
Feature | Python | Node.js | Go | Rust |
---|---|---|---|---|
Automatic Changelog | ✅ | ⏳ | ⏳ | ⏳ |
Automatic Release | ✅ | ⏳ | ⏳ | ⏳ |
Automatic Versioning | ✅ | ⏳ | ⏳ | ⏳ |
CI/CD | ✅ | ✅ | ✅ | ✅ |
Check code docs on commit | ✅ | ⏳ | ⏳ | ⏳ |
Documentation Generator | ⏳ | ⏳ | ⏳ | ⏳ |
Editor Config | ✅ | ✅ | ✅ | ✅ |
Generate Containers | ✅ | ✅ | ✅ | ✅ |
Language Server | ✅ | ✅ | ✅ | ✅ |
Pre Commit Hooks | ✅ | ✅ | ✅ | ✅ |
Type Check | ✅ | ✅ | N/A | N/A |
Yaml Lint | ✅ | ✅ | ✅ | ✅ |
devcontainer | ✅ | ✅ | ✅ | ✅ |
difftastic | ✅ | ✅ | ✅ | ✅ |
dotenv | ✅ | ✅ | ✅ | ✅ |
To start working with Inception, you need:
Tip
Enabling direnv allows you to:
- Use your own shell configuration in
devenv
session. - Automatically integrated with your IDE (VSCode and Intellij support it out of the box, and for Emacs and Vim you can use suggested plugins below).
For more information on how to enable it you can refer to this wiki entry.
Suggested Plguins:
Note
While installing devenv
for the first time, you might face the
following known errors depending to your local setup. Following links
aim to help you solve them quickly:
First, create a project folder and cd into it.
mkdir awesome-project && cd awesome-project
Using pipx:
pipx run copier copy --trust gh:DataChefHQ/Inception .
If you have copier installed locally, use:
copier copy --trust gh:DataChefHQ/Inception .
We welcome contributions! Please check out our contributing guidelines to get started.
This project is licensed under the MIT License - see the LICENSE file for details.