event-sourcing by aj-geddes/useful-ai-prompts
npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill event-sourcing将状态变化存储为一系列事件,而非当前状态,从而支持时间点查询、审计追踪和事件重放。
最小工作示例:
interface DomainEvent {
id: string;
aggregateId: string;
aggregateType: string;
eventType: string;
data: any;
metadata: {
userId?: string;
timestamp: number;
version: number;
};
}
interface Aggregate {
id: string;
version: number;
}
class EventStore {
private events: DomainEvent[] = [];
async appendEvents(
aggregateId: string,
expectedVersion: number,
events: Omit<DomainEvent, "id" | "metadata">[],
// ... (完整实现请参阅参考指南)
references/ 目录下的详细实现:
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 指南 | 内容 |
|---|---|
| 事件存储 (TypeScript) | 事件存储 (TypeScript) |
| 投影(读取模型) | 投影(读取模型) |
| 使用 PostgreSQL 的事件存储 | 使用 PostgreSQL 的事件存储 |
| 用于性能优化的快照 | 用于性能优化的快照 |
每周安装量
114
代码仓库
GitHub 星标数
116
首次出现
2026年1月21日
安全审计
已安装于
opencode95
claude-code92
gemini-cli90
codex87
cursor82
github-copilot76
Store state changes as a sequence of events rather than the current state, enabling temporal queries, audit trails, and event replay.
Minimal working example:
interface DomainEvent {
id: string;
aggregateId: string;
aggregateType: string;
eventType: string;
data: any;
metadata: {
userId?: string;
timestamp: number;
version: number;
};
}
interface Aggregate {
id: string;
version: number;
}
class EventStore {
private events: DomainEvent[] = [];
async appendEvents(
aggregateId: string,
expectedVersion: number,
events: Omit<DomainEvent, "id" | "metadata">[],
// ... (see reference guides for full implementation)
Detailed implementations in the references/ directory:
| Guide | Contents |
|---|---|
| Event Store (TypeScript) | Event Store (TypeScript) |
| Projections (Read Models) | Projections (Read Models) |
| Event Store with PostgreSQL | Event Store with PostgreSQL |
| Snapshots for Performance | Snapshots for Performance |
Weekly Installs
114
Repository
GitHub Stars
116
First Seen
Jan 21, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode95
claude-code92
gemini-cli90
codex87
cursor82
github-copilot76
任务估算指南:敏捷开发故事点、计划扑克、T恤尺码法详解
10,500 周安装
GitHub 推送与 PR 管理自动化工具 - 安全推送、自动创建/更新 PR
132 周安装
Java 21+ 专家技能:现代 Java 开发、Spring Boot 3.x、JVM 性能优化与云原生架构
132 周安装
Angular状态管理指南:Signal、NgRx、Akita全局与组件状态管理方案
132 周安装
Supabase 安全审计编排器 | 自动化渗透测试与渐进式文档管理
132 周安装
Zustand状态管理:React/Next.js轻量级状态管理库最佳实践指南
132 周安装
城市规划分析师技能:综合规划、分区法规、公交导向型开发与可持续城市发展指南
132 周安装