Skip to content

DataChef's project kickstarter! Reproducible, Declarative and Reliable development environments.

License

Notifications You must be signed in to change notification settings

DataChefHQ/inception

Repository files navigation

Inception

DataChefHQ - inception Test GitHub release License

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

In Action

asciicast

Features

  1. Opinionated Configuration: Reduces decision fatigue by providing fewer, well-chosen options.
  2. Reproducible and Declarative: Built on Nix and Devenv, ensuring reliable, reproducible environments.
  3. Multi-Language Support: Compatible with Python, Node.js, Go, and Rust.
  4. Enhanced Development Environment: Includes features like dotenv, LSP, difftastic, and more.
  5. DevContainer and CodeSpaces Support: Developers don't even need a local editor to begin with!
  6. Comprehensive .gitignore: Includes a well-crafted .gitignore file.

Detailed Features

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

How to Use

Prerequisites

To start working with Inception, you need:

Tip

Enabling direnv allows you to:

  1. Use your own shell configuration in devenv session.
  2. 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:

  1. emacs-direnv
  2. direnv.vim

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:

Initialize a New Project

Using pipx:

pipx run copier copy --trust gh:DataChefHQ/Inception .

If you have copier installed locally, use:

copier copy --trust gh:DataChefHQ/Inception .

Resources

Contributing

We welcome contributions! Please check out our contributing guidelines to get started.

License

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

Acknowledgments

  • Thanks to the open-source community for their invaluable contributions to projects which we are building on:
  • Inspiration and support from the DataChef team.