Token导航 LogoToken导航TokenDH.com
前端设计external-servicegithub未标认证来源可访问许可证需确认审计提醒

convex-ddd-architecture凸 ddd 架构

Agent Skill

convex-ddd-architecture 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

3,222

周安装

137

GitHub Stars

公开资料未说明

下载量

1,129
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:convex-ddd-architecture(凸 ddd 架构)
来源仓库:https://github.com/sebas5384/agentic-stuff
仓库路径:skills/convex-ddd-architecture
安装命令:
npx skills add https://github.com/sebas5384/agentic-stuff --skill convex-ddd-architecture
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/sebas5384/agentic-stuff --skill convex-ddd-architecture

简介

用于组织 Convex 项目采用 DDD 和六角形架构模式。

  • 保持领域逻辑与数据库、外部 API 解耦,使变更更安全可控。
  • 适用于遗留代码迁移和新子域设计,隔离业务规则与基础设施。
  • 使用前应评估团队 DDD 熟悉度,避免引入不必要的复杂性。
  • convex-ddd-architecture 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Convex DDD Architecture

Reference skill for organizing Convex projects with DDD and Hexagonal architecture. It keeps domain logic isolated from database and external API concerns so changes remain local and safer to evolve.

When to Use

Use this skill when work includes one or more of these signals:

  • New Convex sub-domain design (schema, queries, mutations, domain, adapters)
  • Legacy Convex code migration toward DDD/Hexagonal boundaries
  • Business rules drifting into handlers instead of aggregates
  • Direct ctx.db access spreading outside repositories
  • External API calls requiring retries, orchestration, or translation layers
  • Team-level need for consistent file layout and naming in Convex projects

Do not use this as a strict template for tiny prototypes where speed matters more than architectural boundaries.

Project Shape

./convex/
  _generated/                       # Auto-generated by Convex (do not edit)
  _shared/                          # Cross-domain utilities
    _libs/
      aggregate.ts                  # Base aggregate interface
      repository.ts                 # Base repository interface
  _triggers.ts                      # Central trigger registry
  customFunctions.ts                # Wrapped mutation/query exports
  schema.ts                         # Composed schema from all sub-domains
  [subDomainName]/                  # Each sub-domain folder (camelCase)
    _libs/
      stripeClient.ts               # Libs or helpers
    _tables.ts                      # Database schema tables
    _triggers.ts                    # Sub-domain trigger handlers
    _seeds.ts                       # Seeds for models
    _workflows.ts                   # Convex workflows
    queries/
      [queryName].ts                # One query per file, export default
    mutations/
      [mutationName].ts             # One mutation per file, export default
    domain/
      [modelName].model.ts          # Model schema, types, Aggregate
      [modelName].repository.ts     # Repository interface
    adapters/
      [actionName].action.ts        # External API actions
      [modelName].repository.ts     # Repository implementation

Naming Rules

  • Files: Use camelCase (contactRepository.ts, sendInvoice.action.ts)
  • Underscore prefix: For non-domain files (_tables.ts, _triggers.ts)
  • Directory vs file: Start with a file (for example _workflows.ts), split into a directory after growth

Quick Reference

ConcernRule
Convex importsImport mutation, query, internalMutation from customFunctions.ts
Function exportsOne function per file with export default
Domain model shapeInclude _id, _creationTime, plus New<Model> without system fields
Persistence boundaryAccess DB through repositories in adapters/
External integrationsKeep translation in actions; business decisions stay in mutations/aggregates
SchemaCompose root schema from each sub-domain _tables export

Core Patterns

1) Custom Functions Boundary

Always import mutation, query, internalMutation from customFunctions.ts, not from _generated/server. See custom-functions.md.

// ✅ Correct
import { mutation } from "../../customFunctions";

// ❌ Wrong - bypasses trigger integration
import { mutation } from "../../_generated/server";

2) API Path Convention

One function per file with named definition and default export:

// convex/combat/mutations/createBattle.ts
import { mutation } from "../../customFunctions";
import { v } from "convex/values";

const createBattle = mutation({
  args: { heroId: v.id("heroProfiles") },
  handler: async (ctx, args) => {
    // ...
  },
});

export default createBattle;

Frontend usage with .default suffix:

import { api } from "@/convex/_generated/api";
useMutation(api.combat.mutations.createBattle.default);
useQuery(api.economy.queries.getHeroProfile.default);

Avoid named exports like export const createBattle - this creates redundant paths like api.combat.mutations.createBattle.createBattle.

3) Schema Composition

Compose schema from sub-domain tables:

// convex/schema.ts
import { defineSchema } from "convex/server";
import { combatTables } from "./combat/_tables";
import { economyTables } from "./economy/_tables";

export default defineSchema({
  ...combatTables,
  ...economyTables,
});

4) Domain + Repository + Adapter Roles

  • Domain models and aggregates define invariants (domain-models.md)
  • Repositories isolate persistence logic (repositories.md)
  • Actions adapt external DTOs and call mutations for business transitions (adapters.md)
  • Triggers and workflows orchestrate reliable side effects (triggers.md)

5) Workflow and Trigger Safety

  • Prefer one-way flow: UI mutation -> scheduled action/workflow -> mutation -> reactive query
  • Keep trigger handlers lightweight; schedule async work when possible
  • Treat trigger code as transaction-sensitive

Common Mistakes

  • Importing handlers directly from _generated/server and bypassing shared wrappers
  • Writing business rules in actions or handlers instead of aggregates
  • Updating records with ad-hoc field mutations rather than aggregate transitions
  • Returning raw records where aggregate behavior is expected
  • Introducing required schema fields without staged migration strategy (migrations.md)

Supporting References

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.47%
按下载量换算400

Claude

29.63%
按下载量换算335

Cursor

17.21%
按下载量换算194

Gemini CLI

7.84%
按下载量换算89

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills