Skip to content

VIM4L-M/CraftKIT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CraftKit

image

CraftKit is an interactive scaffolding CLI for building practical fullstack starter projects with a Go backend and a modern React or Next.js frontend.

It is meant for the moment when you want to start building, but you do not want to spend the first hour creating folders, wiring a health route, setting up Vite or Next.js, and deciding where Docker files should live. CraftKit asks a few focused questions and creates a clean project structure you can actually grow from.

Craftkit-Demo.mp4

What It Creates

CraftKit generates an intermediate fullstack project with:

  • A frontend app using React or Next.js
  • TypeScript or JavaScript frontend templates
  • A Go backend using Gin or Fiber
  • A simple backend health route
  • Shared project metadata in craft.config.json
  • Optional Docker and Docker Compose setup
  • A tidy frontend, backend, and infra folder layout

Preview

craftkit create

You will be prompted for:

  • Project name
  • Frontend language
  • Frontend framework
  • Backend language
  • Backend framework
  • Docker support

The generated project looks like this:

my-app/
  frontend/
  backend/
  infra/
  craft.config.json
  README.md
  .gitignore

Getting Started

Clone the repository and install dependencies:

git clone https://github.com/VIM4L-M/CraftKIT.git
cd CraftKIT
npm install

CraftKit expects Node.js 20.12 or newer.

Build the CLI:

npm run build

Run it locally:

npm start -- create

You can also link it while developing:

npm link
craftkit create

Generated Project Workflow

After creating a project:

cd my-app

Start the frontend:

cd frontend
npm install
npm run dev

Start the backend:

cd backend
go run ./cmd/server

The backend includes a default health endpoint at:

/api/health

Scripts

npm run build

Compiles the TypeScript source into dist.

npm start -- create

Runs the built CLI locally.

Tech Stack

CraftKit itself uses:

  • Node.js
  • TypeScript
  • Commander
  • Clack prompts
  • Chalk
  • Figlet
  • Gradient String
  • Ora

Contributing

Contributions are welcome. The best way to help is to keep the CLI simple, predictable, and pleasant to use.

Good first contributions include:

  • Adding validation for project names
  • Improving the generated README files
  • Adding tests around project generation
  • Adding new backend or frontend template options

Before opening a pull request:

npm install
npm run build

Please keep changes focused. If you are adding a new template, try to keep it small, documented, and consistent with the existing frontend, backend, and infra layout.

About

A friendly Scaffolder - For developers who work with Go backends and TS/JS frontends 🛠️⚡

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors