Introducing Project Calavera: Your Universal Project Configuration Assistant
Meet Project Calavera, a new open-source CLI tool that makes project configuration setup a breeze, especially for developers working outside the familiar framework ecosystems.
Published on: 2024-12-30
Written by Schalk Neethling
Are you tired of manually setting up linters, formatters, and TypeScript configurations for your projects? Meet Project Calavera, a new open-source CLI tool that makes project configuration setup a breeze, especially for developers working outside the familiar frontend framework ecosystems.
Why Project Calavera?
While modern frontend frameworks like Vite, Astro, and Svelte come with their own scaffolding tools, there’s been a noticeable gap in the ecosystem. What if you’re working on a vanilla JavaScript project? What if you need to add TypeScript or Stylelint configuration to an existing project? That’s where Project Calavera steps in.
Quick Start
Getting started is as simple as running:
npm create project-calavera@latest
This launches an intuitive CLI (powered by @clank/prompts) that guides you through the configuration process.
Features That Make Life Easier
Project Calavera currently supports setting up:
- EditorConfig for consistent coding styles
- Prettier (with prettierignore) for code formatting
- ESLint for code quality
- TypeScript configurations (both for bundled and unbundled projects)
- StyleLint for CSS linting
What sets Calavera apart is its intelligent configuration handling:
- Automatic dependency installation via npm
- Smart integration between tools (like Prettier + ESLint compatibility)
- TypeScript-aware ESLint configuration with typed linting
- Pre-configured npm scripts for immediate use
- Seamless integration with popular code editors
Smart Configuration Management
One of Calavera’s most powerful features is its non-destructive update approach. For example, TypeScript configurations are structured with future updates in mind:
- Base configurations are stored in
./project-calavera/tsconfig.json
- Your project’s
tsconfig.json
extends this base configuration - This allows you to customize your settings while still receiving updates
Similar functionality for ESLint and StyleLint is coming soon, making Calavera a tool that grows with your project.
Community-Driven Development
Project Calavera is more than just a tool—it’s an opportunity to collaborate on best practices for project configuration. By working together, we can define and maintain optimal configurations that benefit everyone.
The project is open source and welcomes:
- Contributions
- Feature suggestions
- Bug reports
- Configuration improvements
Get Started Today
Project Calavera v0.1.1 “Jack Skellington” is now available on GitHub at https://github.com/schalkneethling/create-project-calavera. While comprehensive documentation for each “skeleton” is in progress, you can explore the source code to see exactly what configurations will be added to your projects.
As someone who’s been using Calavera for several weeks now, I can attest to the time it saves and the consistency it brings to project setup. I’m excited to share this tool with the community and look forward to seeing how it evolves with your feedback and contributions.
Give Project Calavera a try and let me know how it helps streamline your development workflow!