惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
Blog — PlanetScale
Blog — PlanetScale
博客园 - 【当耐特】
博客园_首页
The GitHub Blog
The GitHub Blog
月光博客
月光博客
Hugging Face - Blog
Hugging Face - Blog
有赞技术团队
有赞技术团队
博客园 - 三生石上(FineUI控件)
D
Docker
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Apple Machine Learning Research
Apple Machine Learning Research
Vercel News
Vercel News
酷 壳 – CoolShell
酷 壳 – CoolShell
雷峰网
雷峰网
小众软件
小众软件
I
InfoQ
A
About on SuperTechFans
T
The Blog of Author Tim Ferriss
S
SegmentFault 最新的问题
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - Franky

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
rdev-go-api-template: Production-ready Go API Scaffolder ...
RL Loz · 2026-06-17 · via DEV Community
Cover image for rdev-go-api-template: Production-ready Go API Scaffolder & CLI Generator

RL Loz

rdev-go-api-template

🚀 The Concept

A unified Go development utility that functions simultaneously as a production-ready architectural blueprint and an automation tool. Tailored specifically for high-performance Go-Gin HTTP routing and Bun ORM data layers, it builds a secure backend foundation and automates continuous vertical-slice feature generation.


🛠️ Why, What, and How

Why

Manual backend bootstrapping and database layer setup introduce repetitive friction, architecture drift, and security vulnerabilities. This project was built to solve those challenges by providing a highly optimized stack out of the box, offering a major evolutionary leap over our previous rdev-go-ddgen utility:

  • From rdev-go-ddgen to rdev-go-api-template: The old iteration was a loose, single-purpose domain code generator. This new variation elevates the entire workflow by introducing a unified sub-command engine that handles both initial repository creation and domain generation, backed by explicit path traversal safety guards.
  • Modern Stack Integration: Replaces generic database setups with an efficient, SQL-first workflow using Bun ORM alongside the ultra-fast Go-Gin web framework.

What

A compiled, self-contained CLI tool that handles two distinct lifecycle phases:

  1. init: Scaffolds a complete API directory tree pre-configured with Gin routers, Bun connection abstractions, Docker environments, and hidden workspace management.
  2. generate: Dynamically injects architectural domain components (handlers, services, repositories) cleanly into your existing codebase.

How

Install the compiled utility globally:

go install github.com/XaiPhyr/rdev-go-api-template@v1.0.0

1. Scaffold a New Project Tree

rdev-go-api-template init github.com/username/project

2. Generate a Complete Domain Feature Slice

rdev-go-api-template generate -d orders

3. Generate an Isolated Architectural Component

rdev-go-api-template generate -d orders -f handler


⚖️ Trade-offs

  • SQL-First Performance vs. Heavy Abstraction: Utilizing Bun ORM yields raw SQL performance and type-safe query compilation without the bloated runtime overhead of heavier ORMs. The trade-off is that developers must write idiomatic SQL/Go code rather than relying entirely on magic graphical abstractions, keeping the application highly performant under high concurrency.
  • Immutable Compilation: All blueprint templates are baked directly into the compiled machine binary using Go's //go:embed filesystem. This ensures complete tool independence, but requires rebuilding the binary (go install) if you modify the underlying scaffolding templates.

💡 Layman's Terms

Think of our previous tool, rdev-go-ddgen, like a specialized mechanical drill that only made holes for wall plugs. It was helpful, but you still had to build the entire house by hand first.

This new version is like a complete, heavy-duty factory machine. Not only does it instantly clear the land and assemble the entire structural frame of the house (init), but it installs the high-performance water plumbing (Go-Gin) and the electric grid wires (Bun ORM) automatically. When you need a new room added later, you just tap a button (generate), and it snaps a pre-labeled, fully wired room right into place perfectly!