Skip to content

Repository files navigation

Vietnamese | English

witches Logo

Go Backend CLI Tool

REST API scaffolding for Go, built for simplicity, low-resource usage, and practical development.

Security Scan codecov


⚠️ Status

Not ready for production use.
This is a personal project. Use at your own risk.


Features

Feature Description
JWT Auth Token-based authentication with Refresh Token rotation
Swagger Auto-generated API documentation
Migration Version control for database schema
Hash Utilities Secure password hashing
Redis Support Optional caching and session storage
Rate Limiting Protect your APIs from abuse
GORM Support ORM for database operations
EasyJSON Automate JSON serialization code generation
Metrics metrics, timing, and tracing
Logging Structured logging with Zap
CLI Cobra-based command-line interface
Slow Query Database query tracing and slow query logging

Quick Start

1. Installation

go install github.com/DVV-15324/witches@latest

2. Create New Project

witches create example
cd example

3. Configure

Edit witches.env file with your database credentials.

4. Generate database URL from env

witches database generate

5. Run database migrations

witches migrate up

6. Init & Install Dependencies

witches init      # Generate template files
witches install   # Install dependencies

7. Run the Server

witches run

Commands

Command Description
witches create <name> Create a new project
witches init Generate template files and structure
witches install Install dependencies
witches run Start the server
witches migrate up Apply all migrations
witches migrate down Rollback last migration
witches database generate Generate database URL
witches add <your_domain> Add a new domain
witches rm <your_domain> Remove a domain

License

MIT License - see the LICENSE file for details.



Made with ❤️ by DVV-15324

About

(Not ready for use) Witches is a CLI tool for scaffolding (quickly generating the structure of) a Go backend REST API

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages