smithery.ai

jzero-skills

Comprehensive knowledge base for jzero framework (enhanced go-zero). Use this skill when working with jzero to understand correct patterns for REST APIs (Handler/Logic/Context architecture), RPC services (service discovery, load balancing), Gateway services, database operations (sqlx, MongoDB, caching), resilience patterns (circuit breaker, rate limiting), and jzero-specific features (git-change-based generation, flexible configuration, custom templates). Essential for generating production-rea…

First seen Mar 31, 2026

Installation

$ npx skills add https://smithery.ai

Summary

  • Comprehensive knowledge base for jzero framework (enhanced go-zero).
  • Use this skill when working with jzero to understand correct patterns for REST APIs (Handler/Logic/Context architecture), RPC services (service discovery, load balancing), Gateway services, database operations (sqlx, MongoDB, caching), resilience patterns (circuit breaker, rate limiting), and jzero-specific features (git-change-based generation, flexible configuration, custom templates).
  • Essential for generating production-ready jzero code that follows framework conventions.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

LicenseApache-2.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 10,672 B
  • docs SUMMARY.md 568 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

jzero Skills for AI Agents

Structured knowledge base optimized for AI agents to help developers work effectively with the jzero framework (enhanced go-zero).

Overview

This skill provides AI agents with comprehensive jzero knowledge to:

  • Generate accurate code following jzero conventions
  • Understand the three-layer architecture (Handler → Logic → Model)
  • Apply best practices for microservices development
  • Use jzero-specific features
  • Build production-ready applications

Quick Start

When helping with jzero development:

  1. For new projects: Start with [Development Workflows](#development-workflows)
  2. For REST APIs: Check [REST API File Structure](references/rest-api-patterns/api-file-structure.md) - ⚠️ Critical rules
  3. For RPC services: Review [Proto File Structure](references/rpc-patterns/proto-file-structure.md) - Proto standards & multi-proto support
  4. For databases: Review [Database Best Practices](references/database-patterns/best-practices.md) - ⚠️ Must read
  5. For SQL changes: Check [SQL Migration Guide](references/database-patterns/sql-migration.md) - ⚠️ Schema changes
  6. For specific operations: Reference the appropriate pattern guide below

Core Patterns

REST API Development

Reference: [references/rest-api-patterns/api-file-structure.md](references/rest-api-patterns/api-file-structure.md)

  • API file structure with required settings (gopackage, group, compacthandler)
  • Three-layer architecture (Handler → Logic → Model)
  • Request/response type definitions with validation
  • Handler patterns and HTTP concerns
  • Logic patterns and business implementation
  • ✅ Correct vs ❌ incorrect patterns with examples

When to use: Creating or modifying REST API services, implementing HTTP endpoints

RPC Services

  • [Proto File Structure](references/rpc-patterns/proto-file-structure.md): Proto standards, multi-proto support, file structure, HTTP gateway, OpenAPI docs
  • [Proto Field Validation](references/rpc-patterns/proto-validation.md): Field validation with protovalidate, CEL expressions, built-in constraints
  • [Proto Middleware](references/rpc-patterns/proto-middleware.md): HTTP/RPC middleware at service and method levels

When to use: Creating or modifying RPC services, working with proto files, adding validation or middleware

Database Operations

  • [Best Practices](references/database-patterns/best-practices.md): Model import rules, condition chain usage, error handling, field constants ⚠️🚨
  • [SQL Migration Guide](references/database-patterns/sql-migration.md): Managing schema changes with up/down migrations ⚠️
  • [Model Generation](references/database-patterns/model-generation.md): From SQL files or remote datasource
  • [Database Connection](references/database-patterns/database-connection.md): MySQL, PostgreSQL, SQLite, Redis configuration
  • [CRUD Operations](references/database-patterns/crud-operations.md): Generated methods (Insert, FindOne, Update, Delete, etc.)

⚠️ CRITICAL REMINDER: ALWAYS use condition.NewChain() - NEVER use condition.New()

When to use: Implementing data persistence, queries, or database operations

Development Workflows

Reference: [Project Structure](#project-structure)

Creating a New REST API Endpoint

  1. Define API specification in .api file with required settings:
  2. Generate api code: jzero gen --desc desc/api/user.api
  3. Implement logic in internal/logic/ following three-layer architecture

See detailed patterns: [REST API File Structure](references/rest-api-patterns/api-file-structure.md)

Implementing Database Operations

Choose your schema mode first:

Local SQL Mode (schema files in desc/sql/):

  1. Create/update SQL schema in desc/sql/*.sql
  2. Create migration files in desc/sql_migration/ (xx.up.sql & xx.down.sql) ⚠️
  3. Apply migrations (development: jzero migrate up, production: auto in cmd/server.go)
  4. Generate model: jzero gen --desc desc/sql/users.sql

Remote Datasource Mode (schema from live database):

  1. Create migration files in desc/sql_migration/ (xx.up.sql & xx.down.sql) ⚠️
  2. Apply migrations (development: jzero migrate up, production: auto in cmd/server.go)
  3. Generate model: jzero gen

Common steps (both modes):

  • Inject model into ServiceContext
  • Use condition builder in logic layer
  • Handle errors properly

⚠️ Migration rules: Always create both up/down files, use consecutive numbering (1, 2, 3...)

See detailed patterns: [SQL Migration Guide](references/database-patterns/sql-migration.md) | [Database Best Practices](references/database-patterns/best-practices.md)

Setting Up Database Connection

  1. Configure in etc/etc.yaml:
  2. Initialize in ServiceContext with modelx.MustNewConn
  3. Register models in Model struct

See detailed guide: [Database Connection](references/database-patterns/database-connection.md)

Project Structure

jzero-skills/
├── SKILL.md                           # This file - skill entry point
├── references/                        # Detailed pattern documentation
│   ├── rest-api-patterns/            # REST API guides
│   │   └── api-file-structure.md     # ⚠️ Critical rules for .api files
│   ├── rpc-patterns/                # RPC/Proto service guides
│   │   ├── proto-file-structure.md  # Proto standards & multi-proto
│   │   ├── proto-validation.md      # Field validation guide
│   │   └── proto-middleware.md      # Middleware patterns
│   └── database-patterns/            # Database operation guides
│       ├── best-practices.md         # ⚠️ Critical rules with examples
│       ├── sql-migration.md          # ⚠️ Schema changes & migrations
│       ├── database-connection.md    # DB & Redis setup
│       ├── model-generation.md       # Generate models from SQL
│       └── crud-operations.md        # CRUD methods reference

Typical jzero project structure:

myproject/
├── .jzero.yaml       # CLI config: code generation, ⚠️ migrate settings
├── desc/
│   ├── api/          # .api files → generates handlers
│   ├── sql/          # .sql files → generates models (local SQL mode)
│   ├── sql_migration/ # xx.up.sql & xx.down.sql for schema changes ⚠️
│   └── proto/        # .proto files → generates RPC code
├── internal/
│   ├── handler/      # HTTP handlers (generated)
│   ├── logic/        # Business logic (implement here)
│   ├── model/        # Data models (generated)
│   ├── svc/          # Service context (dependencies)
│   ├── config/       # Config structs
│   └── middleware/   # Custom middleware
├── etc/
│   └── etc.yaml      # Configuration
└── .jzero.yaml       # jzero CLI config

Key Principles

✅ Always Follow

  • 🚨 Condition builder: ALWAYS use condition.NewChain(), NEVER use condition.New() - THIS IS CRITICAL 🚨
  • Three-layer architecture: Handler → Logic → Model separation
  • API file requirements: Set gopackage, group, compacthandler: true
  • Model imports: Use alias xxmodel "project/internal/model/xx"
  • Error handling: Use errors.Is(err, model.ErrNotFound) from github.com/pkg/errors
  • Code generation: Run jzero gen --desc before implementing logic
  • Type safety: Use generated field constants (e.g., usersmodel.Id)

❌ Never Do

  • 🚫 NEVER use condition.New() - This is error-prone and deprecated. ALWAYS use condition.NewChain()
  • Put business logic in handlers (belongs in logic layer)
  • Skip gopackage, group, or compacthandler in .api files
  • Import models without alias: "project/internal/model/users" (wrong)
  • Use == for error comparison: if err == ErrNotFound (wrong)
  • Hard-code configuration values
  • Implement logic before generating code

Progressive Learning

New to jzero?

  1. Read this file (SKILL.md) for overview
  2. Create a project: jzero new myapi --frame api
  3. Follow [Development Workflows](#development-workflows)
  4. Study [REST API File Structure](references/rest-api-patterns/api-file-structure.md)

Building REST APIs?

  1. Master API file requirements (critical for avoiding regeneration issues)
  2. Learn three-layer architecture patterns
  3. Study [Database Best Practices](references/database-patterns/best-practices.md)

Creating RPC services?

  1. Learn proto file structure: [Proto File Structure](references/rpc-patterns/proto-file-structure.md)
  2. Add validation: [Proto Field Validation](references/rpc-patterns/proto-validation.md)
  3. Implement middleware: [Proto Middleware](references/rpc-patterns/proto-middleware.md)

Working with databases?

  1. ⚠️ Must read: [Database Best Practices](references/database-patterns/best-practices.md)
  2. ⚠️ Must read: [SQL Migration Guide](references/database-patterns/sql-migration.md) - Schema changes
  3. Set up connection: [Database Connection](references/database-patterns/database-connection.md)
  4. Generate models: [Model Generation](references/database-patterns/model-generation.md)
  5. Learn CRUD operations: [CRUD Operations](references/database-patterns/crud-operations.md)

Production deployment?

  1. Review all best practices in reference guides
  2. Configure proper error handling and logging
  3. Set up caching strategies with Redis
  4. Implement resilience patterns (circuit breaker, rate limiting)

Resources