ccgx-workflow 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -5
- package/README.zh-CN.md +35 -5
- package/dist/cli.mjs +1 -1
- package/dist/index.mjs +2 -2
- package/dist/shared/{ccgx-workflow.WgUzkiC3.mjs → ccgx-workflow.SJPbUy5_.mjs} +17 -110
- package/package.json +2 -1
- package/templates/commands/agents/phase-runner.md +321 -321
- package/templates/commands/autonomous.md +792 -792
- package/templates/commands/cancel.md +132 -132
- package/templates/commands/debug.md +226 -226
- package/templates/commands/status.md +206 -206
- package/templates/commands/team.md +484 -0
- package/templates/hooks/ccg-session-state.cjs +510 -510
- package/templates/scripts/ccg-phase-runner-launcher.mjs +467 -467
- package/templates/scripts/invoke-model.mjs +64 -0
- package/templates/skills/domains/ai/SKILL.md +35 -35
- package/templates/skills/domains/ai/agent-dev.md +242 -242
- package/templates/skills/domains/ai/llm-security.md +288 -288
- package/templates/skills/domains/ai/rag-system.md +542 -542
- package/templates/skills/domains/architecture/SKILL.md +43 -43
- package/templates/skills/domains/architecture/api-design.md +225 -225
- package/templates/skills/domains/architecture/cloud-native.md +285 -285
- package/templates/skills/domains/architecture/security-arch.md +297 -297
- package/templates/skills/domains/data-engineering/SKILL.md +208 -208
- package/templates/skills/domains/development/SKILL.md +47 -47
- package/templates/skills/domains/development/cpp.md +246 -246
- package/templates/skills/domains/development/go.md +323 -323
- package/templates/skills/domains/development/java.md +277 -277
- package/templates/skills/domains/development/python.md +288 -288
- package/templates/skills/domains/development/rust.md +313 -313
- package/templates/skills/domains/development/shell.md +313 -313
- package/templates/skills/domains/development/typescript.md +277 -277
- package/templates/skills/domains/devops/SKILL.md +40 -40
- package/templates/skills/domains/devops/database.md +217 -217
- package/templates/skills/domains/devops/devsecops.md +198 -198
- package/templates/skills/domains/devops/git-workflow.md +181 -181
- package/templates/skills/domains/devops/testing.md +283 -283
- package/templates/skills/domains/frontend-design/SKILL.md +244 -244
- package/templates/skills/domains/frontend-design/claymorphism/SKILL.md +121 -121
- package/templates/skills/domains/frontend-design/component-patterns.md +202 -202
- package/templates/skills/domains/frontend-design/glassmorphism/SKILL.md +142 -142
- package/templates/skills/domains/frontend-design/liquid-glass/SKILL.md +139 -139
- package/templates/skills/domains/frontend-design/neubrutalism/SKILL.md +145 -145
- package/templates/skills/domains/frontend-design/state-management.md +680 -680
- package/templates/skills/domains/frontend-design/ui-aesthetics.md +110 -110
- package/templates/skills/domains/frontend-design/ux-principles.md +156 -156
- package/templates/skills/domains/infrastructure/SKILL.md +201 -201
- package/templates/skills/domains/mobile/SKILL.md +225 -225
- package/templates/skills/domains/orchestration/SKILL.md +30 -30
- package/templates/skills/domains/orchestration/multi-agent.md +228 -228
- package/templates/skills/domains/security/SKILL.md +73 -73
- package/templates/skills/domains/security/blue-team.md +436 -436
- package/templates/skills/domains/security/code-audit.md +265 -265
- package/templates/skills/domains/security/pentest.md +226 -226
- package/templates/skills/domains/security/red-team.md +374 -374
- package/templates/skills/domains/security/threat-intel.md +372 -372
- package/templates/skills/domains/security/vuln-research.md +369 -369
- package/templates/skills/tools/lib/shared.js +98 -98
- package/templates/skills/tools/override-refusal/SKILL.md +53 -53
- package/templates/skills/tools/override-refusal/scripts/refusal_rewriter.js +226 -226
|
@@ -1,217 +1,217 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: database
|
|
3
|
-
description: 数据库设计与优化。SQL、NoSQL、索引、查询优化。当用户提到数据库、SQL、PostgreSQL、MySQL、MongoDB、Redis时使用。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# 🔧 炼器秘典 · 数据库
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
## SQL 基础
|
|
10
|
-
|
|
11
|
-
### 查询
|
|
12
|
-
```sql
|
|
13
|
-
-- 基础查询
|
|
14
|
-
SELECT id, name, email
|
|
15
|
-
FROM users
|
|
16
|
-
WHERE status = 'active'
|
|
17
|
-
ORDER BY created_at DESC
|
|
18
|
-
LIMIT 10 OFFSET 0;
|
|
19
|
-
|
|
20
|
-
-- 聚合
|
|
21
|
-
SELECT department, COUNT(*) as count, AVG(salary) as avg_salary
|
|
22
|
-
FROM employees
|
|
23
|
-
GROUP BY department
|
|
24
|
-
HAVING COUNT(*) > 5;
|
|
25
|
-
|
|
26
|
-
-- 连接
|
|
27
|
-
SELECT u.name, o.total
|
|
28
|
-
FROM users u
|
|
29
|
-
INNER JOIN orders o ON u.id = o.user_id
|
|
30
|
-
WHERE o.created_at > '2024-01-01';
|
|
31
|
-
|
|
32
|
-
-- 子查询
|
|
33
|
-
SELECT * FROM users
|
|
34
|
-
WHERE id IN (
|
|
35
|
-
SELECT user_id FROM orders
|
|
36
|
-
WHERE total > 1000
|
|
37
|
-
);
|
|
38
|
-
|
|
39
|
-
-- CTE
|
|
40
|
-
WITH active_users AS (
|
|
41
|
-
SELECT * FROM users WHERE status = 'active'
|
|
42
|
-
)
|
|
43
|
-
SELECT * FROM active_users WHERE created_at > '2024-01-01';
|
|
44
|
-
|
|
45
|
-
-- 窗口函数
|
|
46
|
-
SELECT name, salary,
|
|
47
|
-
RANK() OVER (PARTITION BY department ORDER BY salary DESC) as rank
|
|
48
|
-
FROM employees;
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### 索引
|
|
52
|
-
```sql
|
|
53
|
-
-- 创建索引
|
|
54
|
-
CREATE INDEX idx_users_email ON users(email);
|
|
55
|
-
CREATE INDEX idx_orders_user_date ON orders(user_id, created_at);
|
|
56
|
-
CREATE UNIQUE INDEX idx_users_email_unique ON users(email);
|
|
57
|
-
|
|
58
|
-
-- 部分索引
|
|
59
|
-
CREATE INDEX idx_active_users ON users(email) WHERE status = 'active';
|
|
60
|
-
|
|
61
|
-
-- 查看执行计划
|
|
62
|
-
EXPLAIN ANALYZE SELECT * FROM users WHERE email = 'test@example.com';
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### 索引策略
|
|
66
|
-
```yaml
|
|
67
|
-
适合索引:
|
|
68
|
-
- WHERE 条件列
|
|
69
|
-
- JOIN 关联列
|
|
70
|
-
- ORDER BY 排序列
|
|
71
|
-
- 高选择性列
|
|
72
|
-
|
|
73
|
-
不适合索引:
|
|
74
|
-
- 频繁更新的列
|
|
75
|
-
- 低选择性列 (如性别)
|
|
76
|
-
- 小表
|
|
77
|
-
|
|
78
|
-
复合索引:
|
|
79
|
-
- 最左前缀原则
|
|
80
|
-
- 选择性高的列在前
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## PostgreSQL
|
|
84
|
-
|
|
85
|
-
### 特性
|
|
86
|
-
```sql
|
|
87
|
-
-- JSON 支持
|
|
88
|
-
SELECT data->>'name' as name
|
|
89
|
-
FROM users
|
|
90
|
-
WHERE data @> '{"status": "active"}';
|
|
91
|
-
|
|
92
|
-
-- 数组
|
|
93
|
-
SELECT * FROM posts
|
|
94
|
-
WHERE tags @> ARRAY['python', 'web'];
|
|
95
|
-
|
|
96
|
-
-- 全文搜索
|
|
97
|
-
SELECT * FROM articles
|
|
98
|
-
WHERE to_tsvector('english', content) @@ to_tsquery('python & web');
|
|
99
|
-
|
|
100
|
-
-- UPSERT
|
|
101
|
-
INSERT INTO users (email, name)
|
|
102
|
-
VALUES ('test@example.com', 'Test')
|
|
103
|
-
ON CONFLICT (email)
|
|
104
|
-
DO UPDATE SET name = EXCLUDED.name;
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
## MySQL
|
|
108
|
-
|
|
109
|
-
### 特性
|
|
110
|
-
```sql
|
|
111
|
-
-- 全文搜索
|
|
112
|
-
SELECT * FROM articles
|
|
113
|
-
WHERE MATCH(title, content) AGAINST('python web' IN NATURAL LANGUAGE MODE);
|
|
114
|
-
|
|
115
|
-
-- JSON
|
|
116
|
-
SELECT JSON_EXTRACT(data, '$.name') as name
|
|
117
|
-
FROM users
|
|
118
|
-
WHERE JSON_EXTRACT(data, '$.status') = 'active';
|
|
119
|
-
|
|
120
|
-
-- 分区表
|
|
121
|
-
CREATE TABLE orders (
|
|
122
|
-
id INT,
|
|
123
|
-
created_at DATE
|
|
124
|
-
) PARTITION BY RANGE (YEAR(created_at)) (
|
|
125
|
-
PARTITION p2023 VALUES LESS THAN (2024),
|
|
126
|
-
PARTITION p2024 VALUES LESS THAN (2025)
|
|
127
|
-
);
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
## NoSQL
|
|
131
|
-
|
|
132
|
-
### MongoDB
|
|
133
|
-
```javascript
|
|
134
|
-
// 查询
|
|
135
|
-
db.users.find({ status: "active" })
|
|
136
|
-
db.users.find({ age: { $gt: 18 } })
|
|
137
|
-
db.users.find({ tags: { $in: ["python", "web"] } })
|
|
138
|
-
|
|
139
|
-
// 聚合
|
|
140
|
-
db.orders.aggregate([
|
|
141
|
-
{ $match: { status: "completed" } },
|
|
142
|
-
{ $group: { _id: "$user_id", total: { $sum: "$amount" } } },
|
|
143
|
-
{ $sort: { total: -1 } },
|
|
144
|
-
{ $limit: 10 }
|
|
145
|
-
])
|
|
146
|
-
|
|
147
|
-
// 索引
|
|
148
|
-
db.users.createIndex({ email: 1 }, { unique: true })
|
|
149
|
-
db.users.createIndex({ location: "2dsphere" })
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
### Redis
|
|
153
|
-
```bash
|
|
154
|
-
# 字符串
|
|
155
|
-
SET key value
|
|
156
|
-
GET key
|
|
157
|
-
SETEX key 3600 value # 带过期时间
|
|
158
|
-
|
|
159
|
-
# 哈希
|
|
160
|
-
HSET user:1 name "Alice" email "alice@example.com"
|
|
161
|
-
HGET user:1 name
|
|
162
|
-
HGETALL user:1
|
|
163
|
-
|
|
164
|
-
# 列表
|
|
165
|
-
LPUSH queue task1
|
|
166
|
-
RPOP queue
|
|
167
|
-
|
|
168
|
-
# 集合
|
|
169
|
-
SADD tags python web
|
|
170
|
-
SMEMBERS tags
|
|
171
|
-
SINTER tags1 tags2
|
|
172
|
-
|
|
173
|
-
# 有序集合
|
|
174
|
-
ZADD leaderboard 100 user1
|
|
175
|
-
ZRANGE leaderboard 0 9 WITHSCORES
|
|
176
|
-
|
|
177
|
-
# 过期
|
|
178
|
-
EXPIRE key 3600
|
|
179
|
-
TTL key
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
## 查询优化
|
|
183
|
-
|
|
184
|
-
```yaml
|
|
185
|
-
原则:
|
|
186
|
-
- 只查询需要的列
|
|
187
|
-
- 避免 SELECT *
|
|
188
|
-
- 使用索引
|
|
189
|
-
- 避免全表扫描
|
|
190
|
-
- 分页查询
|
|
191
|
-
|
|
192
|
-
技巧:
|
|
193
|
-
- EXPLAIN 分析执行计划
|
|
194
|
-
- 避免在索引列上使用函数
|
|
195
|
-
- 使用覆盖索引
|
|
196
|
-
- 批量操作代替循环
|
|
197
|
-
- 合理使用缓存
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
## 数据库设计
|
|
201
|
-
|
|
202
|
-
```yaml
|
|
203
|
-
范式:
|
|
204
|
-
- 1NF: 原子性
|
|
205
|
-
- 2NF: 消除部分依赖
|
|
206
|
-
- 3NF: 消除传递依赖
|
|
207
|
-
|
|
208
|
-
反范式:
|
|
209
|
-
- 适当冗余提高查询性能
|
|
210
|
-
- 读多写少场景
|
|
211
|
-
|
|
212
|
-
命名规范:
|
|
213
|
-
- 表名: 复数小写 (users, orders)
|
|
214
|
-
- 列名: 小写下划线 (created_at)
|
|
215
|
-
- 索引: idx_表名_列名
|
|
216
|
-
```
|
|
217
|
-
|
|
1
|
+
---
|
|
2
|
+
name: database
|
|
3
|
+
description: 数据库设计与优化。SQL、NoSQL、索引、查询优化。当用户提到数据库、SQL、PostgreSQL、MySQL、MongoDB、Redis时使用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 🔧 炼器秘典 · 数据库
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## SQL 基础
|
|
10
|
+
|
|
11
|
+
### 查询
|
|
12
|
+
```sql
|
|
13
|
+
-- 基础查询
|
|
14
|
+
SELECT id, name, email
|
|
15
|
+
FROM users
|
|
16
|
+
WHERE status = 'active'
|
|
17
|
+
ORDER BY created_at DESC
|
|
18
|
+
LIMIT 10 OFFSET 0;
|
|
19
|
+
|
|
20
|
+
-- 聚合
|
|
21
|
+
SELECT department, COUNT(*) as count, AVG(salary) as avg_salary
|
|
22
|
+
FROM employees
|
|
23
|
+
GROUP BY department
|
|
24
|
+
HAVING COUNT(*) > 5;
|
|
25
|
+
|
|
26
|
+
-- 连接
|
|
27
|
+
SELECT u.name, o.total
|
|
28
|
+
FROM users u
|
|
29
|
+
INNER JOIN orders o ON u.id = o.user_id
|
|
30
|
+
WHERE o.created_at > '2024-01-01';
|
|
31
|
+
|
|
32
|
+
-- 子查询
|
|
33
|
+
SELECT * FROM users
|
|
34
|
+
WHERE id IN (
|
|
35
|
+
SELECT user_id FROM orders
|
|
36
|
+
WHERE total > 1000
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
-- CTE
|
|
40
|
+
WITH active_users AS (
|
|
41
|
+
SELECT * FROM users WHERE status = 'active'
|
|
42
|
+
)
|
|
43
|
+
SELECT * FROM active_users WHERE created_at > '2024-01-01';
|
|
44
|
+
|
|
45
|
+
-- 窗口函数
|
|
46
|
+
SELECT name, salary,
|
|
47
|
+
RANK() OVER (PARTITION BY department ORDER BY salary DESC) as rank
|
|
48
|
+
FROM employees;
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 索引
|
|
52
|
+
```sql
|
|
53
|
+
-- 创建索引
|
|
54
|
+
CREATE INDEX idx_users_email ON users(email);
|
|
55
|
+
CREATE INDEX idx_orders_user_date ON orders(user_id, created_at);
|
|
56
|
+
CREATE UNIQUE INDEX idx_users_email_unique ON users(email);
|
|
57
|
+
|
|
58
|
+
-- 部分索引
|
|
59
|
+
CREATE INDEX idx_active_users ON users(email) WHERE status = 'active';
|
|
60
|
+
|
|
61
|
+
-- 查看执行计划
|
|
62
|
+
EXPLAIN ANALYZE SELECT * FROM users WHERE email = 'test@example.com';
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 索引策略
|
|
66
|
+
```yaml
|
|
67
|
+
适合索引:
|
|
68
|
+
- WHERE 条件列
|
|
69
|
+
- JOIN 关联列
|
|
70
|
+
- ORDER BY 排序列
|
|
71
|
+
- 高选择性列
|
|
72
|
+
|
|
73
|
+
不适合索引:
|
|
74
|
+
- 频繁更新的列
|
|
75
|
+
- 低选择性列 (如性别)
|
|
76
|
+
- 小表
|
|
77
|
+
|
|
78
|
+
复合索引:
|
|
79
|
+
- 最左前缀原则
|
|
80
|
+
- 选择性高的列在前
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## PostgreSQL
|
|
84
|
+
|
|
85
|
+
### 特性
|
|
86
|
+
```sql
|
|
87
|
+
-- JSON 支持
|
|
88
|
+
SELECT data->>'name' as name
|
|
89
|
+
FROM users
|
|
90
|
+
WHERE data @> '{"status": "active"}';
|
|
91
|
+
|
|
92
|
+
-- 数组
|
|
93
|
+
SELECT * FROM posts
|
|
94
|
+
WHERE tags @> ARRAY['python', 'web'];
|
|
95
|
+
|
|
96
|
+
-- 全文搜索
|
|
97
|
+
SELECT * FROM articles
|
|
98
|
+
WHERE to_tsvector('english', content) @@ to_tsquery('python & web');
|
|
99
|
+
|
|
100
|
+
-- UPSERT
|
|
101
|
+
INSERT INTO users (email, name)
|
|
102
|
+
VALUES ('test@example.com', 'Test')
|
|
103
|
+
ON CONFLICT (email)
|
|
104
|
+
DO UPDATE SET name = EXCLUDED.name;
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## MySQL
|
|
108
|
+
|
|
109
|
+
### 特性
|
|
110
|
+
```sql
|
|
111
|
+
-- 全文搜索
|
|
112
|
+
SELECT * FROM articles
|
|
113
|
+
WHERE MATCH(title, content) AGAINST('python web' IN NATURAL LANGUAGE MODE);
|
|
114
|
+
|
|
115
|
+
-- JSON
|
|
116
|
+
SELECT JSON_EXTRACT(data, '$.name') as name
|
|
117
|
+
FROM users
|
|
118
|
+
WHERE JSON_EXTRACT(data, '$.status') = 'active';
|
|
119
|
+
|
|
120
|
+
-- 分区表
|
|
121
|
+
CREATE TABLE orders (
|
|
122
|
+
id INT,
|
|
123
|
+
created_at DATE
|
|
124
|
+
) PARTITION BY RANGE (YEAR(created_at)) (
|
|
125
|
+
PARTITION p2023 VALUES LESS THAN (2024),
|
|
126
|
+
PARTITION p2024 VALUES LESS THAN (2025)
|
|
127
|
+
);
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## NoSQL
|
|
131
|
+
|
|
132
|
+
### MongoDB
|
|
133
|
+
```javascript
|
|
134
|
+
// 查询
|
|
135
|
+
db.users.find({ status: "active" })
|
|
136
|
+
db.users.find({ age: { $gt: 18 } })
|
|
137
|
+
db.users.find({ tags: { $in: ["python", "web"] } })
|
|
138
|
+
|
|
139
|
+
// 聚合
|
|
140
|
+
db.orders.aggregate([
|
|
141
|
+
{ $match: { status: "completed" } },
|
|
142
|
+
{ $group: { _id: "$user_id", total: { $sum: "$amount" } } },
|
|
143
|
+
{ $sort: { total: -1 } },
|
|
144
|
+
{ $limit: 10 }
|
|
145
|
+
])
|
|
146
|
+
|
|
147
|
+
// 索引
|
|
148
|
+
db.users.createIndex({ email: 1 }, { unique: true })
|
|
149
|
+
db.users.createIndex({ location: "2dsphere" })
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### Redis
|
|
153
|
+
```bash
|
|
154
|
+
# 字符串
|
|
155
|
+
SET key value
|
|
156
|
+
GET key
|
|
157
|
+
SETEX key 3600 value # 带过期时间
|
|
158
|
+
|
|
159
|
+
# 哈希
|
|
160
|
+
HSET user:1 name "Alice" email "alice@example.com"
|
|
161
|
+
HGET user:1 name
|
|
162
|
+
HGETALL user:1
|
|
163
|
+
|
|
164
|
+
# 列表
|
|
165
|
+
LPUSH queue task1
|
|
166
|
+
RPOP queue
|
|
167
|
+
|
|
168
|
+
# 集合
|
|
169
|
+
SADD tags python web
|
|
170
|
+
SMEMBERS tags
|
|
171
|
+
SINTER tags1 tags2
|
|
172
|
+
|
|
173
|
+
# 有序集合
|
|
174
|
+
ZADD leaderboard 100 user1
|
|
175
|
+
ZRANGE leaderboard 0 9 WITHSCORES
|
|
176
|
+
|
|
177
|
+
# 过期
|
|
178
|
+
EXPIRE key 3600
|
|
179
|
+
TTL key
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## 查询优化
|
|
183
|
+
|
|
184
|
+
```yaml
|
|
185
|
+
原则:
|
|
186
|
+
- 只查询需要的列
|
|
187
|
+
- 避免 SELECT *
|
|
188
|
+
- 使用索引
|
|
189
|
+
- 避免全表扫描
|
|
190
|
+
- 分页查询
|
|
191
|
+
|
|
192
|
+
技巧:
|
|
193
|
+
- EXPLAIN 分析执行计划
|
|
194
|
+
- 避免在索引列上使用函数
|
|
195
|
+
- 使用覆盖索引
|
|
196
|
+
- 批量操作代替循环
|
|
197
|
+
- 合理使用缓存
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## 数据库设计
|
|
201
|
+
|
|
202
|
+
```yaml
|
|
203
|
+
范式:
|
|
204
|
+
- 1NF: 原子性
|
|
205
|
+
- 2NF: 消除部分依赖
|
|
206
|
+
- 3NF: 消除传递依赖
|
|
207
|
+
|
|
208
|
+
反范式:
|
|
209
|
+
- 适当冗余提高查询性能
|
|
210
|
+
- 读多写少场景
|
|
211
|
+
|
|
212
|
+
命名规范:
|
|
213
|
+
- 表名: 复数小写 (users, orders)
|
|
214
|
+
- 列名: 小写下划线 (created_at)
|
|
215
|
+
- 索引: idx_表名_列名
|
|
216
|
+
```
|
|
217
|
+
|