forgecraft-mcp 0.2.0 → 0.2.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.
Files changed (55) hide show
  1. package/README.md +25 -5
  2. package/dist/index.js +1 -1
  3. package/dist/registry/loader.d.ts.map +1 -1
  4. package/dist/registry/loader.js +26 -1
  5. package/dist/registry/loader.js.map +1 -1
  6. package/dist/registry/mcp-discovery.d.ts +82 -0
  7. package/dist/registry/mcp-discovery.d.ts.map +1 -0
  8. package/dist/registry/mcp-discovery.js +202 -0
  9. package/dist/registry/mcp-discovery.js.map +1 -0
  10. package/dist/shared/errors/index.d.ts +4 -0
  11. package/dist/shared/errors/index.d.ts.map +1 -1
  12. package/dist/shared/errors/index.js +6 -0
  13. package/dist/shared/errors/index.js.map +1 -1
  14. package/dist/shared/types.d.ts +44 -1
  15. package/dist/shared/types.d.ts.map +1 -1
  16. package/dist/shared/types.js +6 -0
  17. package/dist/shared/types.js.map +1 -1
  18. package/dist/tools/configure-mcp.d.ts +21 -0
  19. package/dist/tools/configure-mcp.d.ts.map +1 -1
  20. package/dist/tools/configure-mcp.js +86 -24
  21. package/dist/tools/configure-mcp.js.map +1 -1
  22. package/dist/tools/list.d.ts.map +1 -1
  23. package/dist/tools/list.js +24 -0
  24. package/dist/tools/list.js.map +1 -1
  25. package/package.json +7 -3
  26. package/templates/analytics/mcp-servers.yaml +10 -0
  27. package/templates/api/mcp-servers.yaml +12 -0
  28. package/templates/cli/mcp-servers.yaml +10 -0
  29. package/templates/data-lineage/instructions.yaml +28 -0
  30. package/templates/data-lineage/mcp-servers.yaml +20 -0
  31. package/templates/data-pipeline/mcp-servers.yaml +12 -0
  32. package/templates/fintech/mcp-servers.yaml +12 -0
  33. package/templates/game/mcp-servers.yaml +10 -0
  34. package/templates/healthcare/mcp-servers.yaml +12 -0
  35. package/templates/hipaa/instructions.yaml +41 -0
  36. package/templates/hipaa/mcp-servers.yaml +12 -0
  37. package/templates/infra/mcp-servers.yaml +18 -0
  38. package/templates/library/mcp-servers.yaml +18 -0
  39. package/templates/medallion-architecture/instructions.yaml +41 -0
  40. package/templates/medallion-architecture/mcp-servers.yaml +20 -0
  41. package/templates/ml/mcp-servers.yaml +10 -0
  42. package/templates/mobile/mcp-servers.yaml +10 -0
  43. package/templates/observability-xray/instructions.yaml +40 -0
  44. package/templates/observability-xray/mcp-servers.yaml +14 -0
  45. package/templates/realtime/mcp-servers.yaml +12 -0
  46. package/templates/soc2/instructions.yaml +41 -0
  47. package/templates/soc2/mcp-servers.yaml +22 -0
  48. package/templates/social/mcp-servers.yaml +22 -0
  49. package/templates/state-machine/mcp-servers.yaml +10 -0
  50. package/templates/universal/mcp-servers.yaml +26 -0
  51. package/templates/web-react/mcp-servers.yaml +18 -0
  52. package/templates/web-static/mcp-servers.yaml +18 -0
  53. package/templates/web3/mcp-servers.yaml +10 -0
  54. package/templates/zero-trust/instructions.yaml +41 -0
  55. package/templates/zero-trust/mcp-servers.yaml +14 -0
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,iDAAiD;AACjD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,WAAW;IACX,WAAW;IACX,YAAY;IACZ,KAAK;IACL,eAAe;IACf,IAAI;IACJ,YAAY;IACZ,SAAS;IACT,MAAM;IACN,UAAU;IACV,eAAe;IACf,MAAM;IACN,QAAQ;IACR,KAAK;IACL,SAAS;IACT,OAAO;IACP,QAAQ;IACR,WAAW;CACH,CAAC;AA4EX,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,CAAU,CAAC;AAElG,wEAAwE;AAExE;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;CACC,CAAC;AAoBX,8DAA8D;AAC9D,MAAM,CAAC,MAAM,qBAAqB,GAA6C;IAC7E,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,aAAa;QACtB,WAAW,EAAE,aAAa;KAC3B;IACD,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,uBAAuB;QACjC,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,IAAI;KACtB;IACD,OAAO,EAAE;QACP,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,yBAAyB;QACnC,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,wBAAwB;QACjC,WAAW,EAAE,gBAAgB;KAC9B;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,gBAAgB;QAC1B,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,UAAU;KACxB;IACD,KAAK,EAAE;QACL,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,OAAO;KACrB;IACD,KAAK,EAAE;QACL,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,gBAAgB;QAC1B,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,OAAO;KACrB;CACF,CAAC;AAEF,iDAAiD;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAiB,QAAQ,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB,EAAE,MAAoB;IACxE,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,GAAG,UAAU,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChE,CAAC;IACD,OAAO,GAAG,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,iDAAiD;AACjD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,WAAW;IACX,WAAW;IACX,YAAY;IACZ,KAAK;IACL,eAAe;IACf,IAAI;IACJ,YAAY;IACZ,SAAS;IACT,MAAM;IACN,UAAU;IACV,eAAe;IACf,MAAM;IACN,QAAQ;IACR,KAAK;IACL,SAAS;IACT,OAAO;IACP,QAAQ;IACR,WAAW;IACX,OAAO;IACP,MAAM;IACN,cAAc;IACd,oBAAoB;IACpB,wBAAwB;IACxB,YAAY;CACJ,CAAC;AA4EX,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,CAAU,CAAC;AAElG,wEAAwE;AAExE;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;CACC,CAAC;AAoBX,8DAA8D;AAC9D,MAAM,CAAC,MAAM,qBAAqB,GAA6C;IAC7E,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,aAAa;QACtB,WAAW,EAAE,aAAa;KAC3B;IACD,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,uBAAuB;QACjC,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,IAAI;KACtB;IACD,OAAO,EAAE;QACP,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,yBAAyB;QACnC,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,wBAAwB;QACjC,WAAW,EAAE,gBAAgB;KAC9B;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,gBAAgB;QAC1B,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,UAAU;KACxB;IACD,KAAK,EAAE;QACL,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,OAAO;KACrB;IACD,KAAK,EAAE;QACL,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,gBAAgB;QAC1B,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,OAAO;KACrB;CACF,CAAC;AAEF,iDAAiD;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAiB,QAAQ,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB,EAAE,MAAoB;IACxE,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,GAAG,UAAU,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChE,CAAC;IACD,OAAO,GAAG,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC5C,CAAC"}
@@ -2,8 +2,11 @@
2
2
  * configure_mcp tool handler.
3
3
  *
4
4
  * Generates .claude/settings.json with recommended MCP servers based on tags.
5
+ * Uses the McpDiscoveryService to load curated servers from YAML templates
6
+ * and optionally fetch from a remote registry at setup time.
5
7
  */
6
8
  import { z } from "zod";
9
+ import type { McpDiscoveryService } from "../registry/mcp-discovery.js";
7
10
  export declare const configureMcpSchema: z.ZodObject<{
8
11
  tags: z.ZodArray<z.ZodEnum<[string, ...string[]]>, "many">;
9
12
  project_dir: z.ZodString;
@@ -21,15 +24,19 @@ export declare const configureMcpSchema: z.ZodObject<{
21
24
  env?: Record<string, string> | undefined;
22
25
  }>>>;
23
26
  auto_approve_tools: z.ZodDefault<z.ZodBoolean>;
27
+ include_remote: z.ZodDefault<z.ZodBoolean>;
28
+ remote_registry_url: z.ZodOptional<z.ZodString>;
24
29
  }, "strip", z.ZodTypeAny, {
25
30
  tags: string[];
26
31
  project_dir: string;
27
32
  auto_approve_tools: boolean;
33
+ include_remote: boolean;
28
34
  custom_servers?: Record<string, {
29
35
  command: string;
30
36
  args: string[];
31
37
  env?: Record<string, string> | undefined;
32
38
  }> | undefined;
39
+ remote_registry_url?: string | undefined;
33
40
  }, {
34
41
  tags: string[];
35
42
  project_dir: string;
@@ -39,7 +46,21 @@ export declare const configureMcpSchema: z.ZodObject<{
39
46
  env?: Record<string, string> | undefined;
40
47
  }> | undefined;
41
48
  auto_approve_tools?: boolean | undefined;
49
+ include_remote?: boolean | undefined;
50
+ remote_registry_url?: string | undefined;
42
51
  }>;
52
+ /**
53
+ * Inject a custom discovery service (for testing).
54
+ *
55
+ * @param service - Discovery service to use, or undefined to reset to default
56
+ */
57
+ export declare function setDiscoveryService(service: McpDiscoveryService | undefined): void;
58
+ /**
59
+ * Generate .claude/settings.json with discovered MCP servers for active tags.
60
+ *
61
+ * @param args - Validated tool input
62
+ * @returns MCP tool response with configuration summary
63
+ */
43
64
  export declare function configureMcpHandler(args: z.infer<typeof configureMcpSchema>): Promise<{
44
65
  content: Array<{
45
66
  type: "text";
@@ -1 +1 @@
1
- {"version":3,"file":"configure-mcp.d.ts","sourceRoot":"","sources":["../../src/tools/configure-mcp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyB7B,CAAC;AAmBH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GACvC,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA4F7D"}
1
+ {"version":3,"file":"configure-mcp.d.ts","sourceRoot":"","sources":["../../src/tools/configure-mcp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAKxE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoC7B,CAAC;AAOH;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,GAAG,IAAI,CAElF;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GACvC,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAmH7D"}
@@ -2,11 +2,14 @@
2
2
  * configure_mcp tool handler.
3
3
  *
4
4
  * Generates .claude/settings.json with recommended MCP servers based on tags.
5
+ * Uses the McpDiscoveryService to load curated servers from YAML templates
6
+ * and optionally fetch from a remote registry at setup time.
5
7
  */
6
8
  import { z } from "zod";
7
9
  import { mkdirSync, writeFileSync, existsSync, readFileSync } from "node:fs";
8
10
  import { join } from "node:path";
9
11
  import { ALL_TAGS } from "../shared/types.js";
12
+ import { DefaultMcpDiscoveryService } from "../registry/mcp-discovery.js";
10
13
  // ── Schema ───────────────────────────────────────────────────────────
11
14
  export const configureMcpSchema = z.object({
12
15
  tags: z
@@ -29,36 +32,60 @@ export const configureMcpSchema = z.object({
29
32
  .default(true)
30
33
  .describe("If true, adds permissions.allow entries for all configured MCP servers " +
31
34
  "so tool invocations are auto-approved without manual confirmation."),
35
+ include_remote: z
36
+ .boolean()
37
+ .default(false)
38
+ .describe("If true, also queries a remote MCP server registry for additional recommendations. " +
39
+ "Requires FORGECRAFT_MCP_REGISTRY_URL env var or remote_registry_url parameter."),
40
+ remote_registry_url: z
41
+ .string()
42
+ .optional()
43
+ .describe("Override URL for the remote MCP server registry."),
32
44
  });
33
- // ── Recommended Servers per Tag ──────────────────────────────────────
34
- const TAG_SERVERS = {
35
- UNIVERSAL: {
36
- forgecraft: {
37
- command: "npx",
38
- args: ["-y", "forgecraft-mcp"],
39
- },
40
- codeseeker: {
41
- command: "npx",
42
- args: ["-y", "codeseeker"],
43
- },
44
- },
45
- };
46
45
  // ── Handler ──────────────────────────────────────────────────────────
46
+ /** Injected discovery service for testing. Defaults to DefaultMcpDiscoveryService. */
47
+ let injectedDiscoveryService;
48
+ /**
49
+ * Inject a custom discovery service (for testing).
50
+ *
51
+ * @param service - Discovery service to use, or undefined to reset to default
52
+ */
53
+ export function setDiscoveryService(service) {
54
+ injectedDiscoveryService = service;
55
+ }
56
+ /**
57
+ * Generate .claude/settings.json with discovered MCP servers for active tags.
58
+ *
59
+ * @param args - Validated tool input
60
+ * @returns MCP tool response with configuration summary
61
+ */
47
62
  export async function configureMcpHandler(args) {
48
63
  const tags = args.tags;
49
- // Collect recommended servers
64
+ const discovery = injectedDiscoveryService ?? new DefaultMcpDiscoveryService();
65
+ // ── Discover servers ─────────────────────────────────────────────
66
+ const discoveryOptions = {
67
+ includeRemote: args.include_remote,
68
+ remoteRegistryUrl: args.remote_registry_url,
69
+ };
70
+ const recommendations = await discovery.discoverServers(tags, discoveryOptions);
71
+ // Convert recommendations to server config map
50
72
  const servers = {};
51
- for (const tag of tags) {
52
- const tagServers = TAG_SERVERS[tag];
53
- if (tagServers) {
54
- Object.assign(servers, tagServers);
55
- }
73
+ for (const rec of recommendations) {
74
+ servers[rec.name] = {
75
+ command: rec.command,
76
+ args: rec.args,
77
+ ...(rec.env ? { env: rec.env } : {}),
78
+ source: rec.source,
79
+ description: rec.description,
80
+ };
56
81
  }
57
- // Add custom servers
82
+ // Add custom servers (user-provided, highest priority)
58
83
  if (args.custom_servers) {
59
- Object.assign(servers, args.custom_servers);
84
+ for (const [name, config] of Object.entries(args.custom_servers)) {
85
+ servers[name] = { ...config, source: "custom" };
86
+ }
60
87
  }
61
- // Build settings.json
88
+ // ── Build settings.json ──────────────────────────────────────────
62
89
  const mcpConfig = {};
63
90
  for (const [name, config] of Object.entries(servers)) {
64
91
  mcpConfig[name] = {
@@ -78,7 +105,7 @@ export async function configureMcpHandler(args) {
78
105
  if (permissionRules.length > 0) {
79
106
  settings["permissions"] = { allow: permissionRules };
80
107
  }
81
- // Handle existing settings
108
+ // ── Handle existing settings ─────────────────────────────────────
82
109
  const settingsDir = join(args.project_dir, ".claude");
83
110
  const settingsPath = join(settingsDir, "settings.json");
84
111
  let merged = settings;
@@ -107,14 +134,19 @@ export async function configureMcpHandler(args) {
107
134
  }
108
135
  mkdirSync(settingsDir, { recursive: true });
109
136
  writeFileSync(settingsPath, JSON.stringify(merged, null, 2) + "\n", "utf-8");
137
+ // ── Build response ───────────────────────────────────────────────
110
138
  const serverNames = Object.keys(servers);
139
+ const bySource = groupBySource(servers);
111
140
  return {
112
141
  content: [
113
142
  {
114
143
  type: "text",
115
144
  text: `MCP configuration written to \`.claude/settings.json\`.\n\n` +
116
145
  `**Servers configured (${serverNames.length}):**\n` +
117
- serverNames.map((n) => `- \`${n}\`: \`${servers[n].command} ${servers[n].args.join(" ")}\``).join("\n") +
146
+ formatServerList(servers) +
147
+ (bySource["remote"] && bySource["remote"] > 0
148
+ ? `\n\n📡 ${bySource["remote"]} server(s) discovered from remote registry.`
149
+ : "") +
118
150
  (permissionRules.length > 0
119
151
  ? `\n\n**Auto-approved (${permissionRules.length}):**\n` +
120
152
  permissionRules.map((r) => `- \`${r}\``).join("\n")
@@ -124,4 +156,34 @@ export async function configureMcpHandler(args) {
124
156
  ],
125
157
  };
126
158
  }
159
+ // ── Helpers ──────────────────────────────────────────────────────────
160
+ /**
161
+ * Format the server list for display, grouped by source.
162
+ *
163
+ * @param servers - Server config map with source metadata
164
+ * @returns Markdown-formatted server list
165
+ */
166
+ function formatServerList(servers) {
167
+ return Object.entries(servers)
168
+ .map(([name, config]) => {
169
+ const sourceLabel = config.source ? ` [${config.source}]` : "";
170
+ const descLabel = config.description ? ` — ${config.description}` : "";
171
+ return `- \`${name}\`${sourceLabel}: \`${config.command} ${config.args.join(" ")}\`${descLabel}`;
172
+ })
173
+ .join("\n");
174
+ }
175
+ /**
176
+ * Count servers by source.
177
+ *
178
+ * @param servers - Server config map with source metadata
179
+ * @returns Counts per source type
180
+ */
181
+ function groupBySource(servers) {
182
+ const counts = {};
183
+ for (const config of Object.values(servers)) {
184
+ const source = config.source ?? "unknown";
185
+ counts[source] = (counts[source] ?? 0) + 1;
186
+ }
187
+ return counts;
188
+ }
127
189
  //# sourceMappingURL=configure-mcp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configure-mcp.js","sourceRoot":"","sources":["../../src/tools/configure-mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configure-mcp.js","sourceRoot":"","sources":["../../src/tools/configure-mcp.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/tools/list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,cAAc,gDAAe,CAAC;AAE3C,eAAO,MAAM,eAAe;;;;;;EAK1B,CAAC;AAiFH;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC;IAC/C,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD,CAAC,CAsBD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,GACpC,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA6C7D"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/tools/list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,cAAc,gDAAe,CAAC;AAE3C,eAAO,MAAM,eAAe;;;;;;EAK1B,CAAC;AAyGH;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC;IAC/C,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD,CAAC,CAsBD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,GACpC,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA6C7D"}
@@ -88,6 +88,30 @@ const TAG_DESCRIPTIONS = {
88
88
  description: "Analytics/reporting — event tracking, dashboards, data warehousing.",
89
89
  appliesWhen: "Project includes analytics dashboards, reporting, or event tracking.",
90
90
  },
91
+ HIPAA: {
92
+ description: "HIPAA compliance — PII masking templates, encryption checks, audit logging.",
93
+ appliesWhen: "Project handles Protected Health Information requiring HIPAA compliance.",
94
+ },
95
+ SOC2: {
96
+ description: "SOC2 compliance — access control validation, change management, incident response.",
97
+ appliesWhen: "Project requires SOC2 audit readiness (Type I or Type II).",
98
+ },
99
+ "DATA-LINEAGE": {
100
+ description: "Data lineage — enforce 100% field coverage, lineage tracking decorators.",
101
+ appliesWhen: "Project processes data that requires full field-level lineage tracking.",
102
+ },
103
+ "OBSERVABILITY-XRAY": {
104
+ description: "AWS X-Ray observability — auto-add X-Ray instrumentation to Lambdas.",
105
+ appliesWhen: "Project runs on AWS Lambda and requires distributed tracing with X-Ray.",
106
+ },
107
+ "MEDALLION-ARCHITECTURE": {
108
+ description: "Medallion architecture — enforce Bronze=immutable, Silver=validated, Gold=aggregated.",
109
+ appliesWhen: "Project uses a lakehouse/medallion data architecture (Bronze/Silver/Gold).",
110
+ },
111
+ "ZERO-TRUST": {
112
+ description: "Zero-trust security — deny-by-default IAM, explicit allow rules.",
113
+ appliesWhen: "Project requires zero-trust network/IAM policies with deny-by-default.",
114
+ },
91
115
  };
92
116
  // ── Handlers ─────────────────────────────────────────────────────────
93
117
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/tools/list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,wEAAwE;AAExE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE3C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAA4C,CAAC,CAAC;SAC3D,QAAQ,EAAE;SACV,QAAQ,CAAC,wDAAwD,CAAC;CACtE,CAAC,CAAC;AAEH,wEAAwE;AAExE,MAAM,gBAAgB,GAA8D;IAClF,SAAS,EAAE;QACT,WAAW,EAAE,0FAA0F;QACvG,WAAW,EAAE,8CAA8C;KAC5D;IACD,WAAW,EAAE;QACX,WAAW,EAAE,wFAAwF;QACrG,WAAW,EAAE,uEAAuE;KACrF;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,8EAA8E;QAC3F,WAAW,EAAE,4DAA4D;KAC1E;IACD,GAAG,EAAE;QACH,WAAW,EAAE,oFAAoF;QACjG,WAAW,EAAE,oFAAoF;KAClG;IACD,eAAe,EAAE;QACf,WAAW,EAAE,qEAAqE;QAClF,WAAW,EAAE,gFAAgF;KAC9F;IACD,EAAE,EAAE;QACF,WAAW,EAAE,4EAA4E;QACzF,WAAW,EAAE,0EAA0E;KACxF;IACD,UAAU,EAAE;QACV,WAAW,EAAE,qFAAqF;QAClG,WAAW,EAAE,qEAAqE;KACnF;IACD,OAAO,EAAE;QACP,WAAW,EAAE,mFAAmF;QAChG,WAAW,EAAE,6EAA6E;KAC3F;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,iFAAiF;QAC9F,WAAW,EAAE,+DAA+D;KAC7E;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,8EAA8E;QAC3F,WAAW,EAAE,sEAAsE;KACpF;IACD,eAAe,EAAE;QACf,WAAW,EAAE,8EAA8E;QAC3F,WAAW,EAAE,sEAAsE;KACpF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,iEAAiE;QAC9E,WAAW,EAAE,gEAAgE;KAC9E;IACD,MAAM,EAAE;QACN,WAAW,EAAE,wEAAwE;QACrF,WAAW,EAAE,wEAAwE;KACtF;IACD,GAAG,EAAE;QACH,WAAW,EAAE,uEAAuE;QACpF,WAAW,EAAE,2DAA2D;KACzE;IACD,OAAO,EAAE;QACP,WAAW,EAAE,8EAA8E;QAC3F,WAAW,EAAE,2EAA2E;KACzF;IACD,KAAK,EAAE;QACL,WAAW,EAAE,yEAAyE;QACtF,WAAW,EAAE,qEAAqE;KACnF;IACD,MAAM,EAAE;QACN,WAAW,EAAE,0EAA0E;QACvF,WAAW,EAAE,kEAAkE;KAChF;IACD,SAAS,EAAE;QACT,WAAW,EAAE,qEAAqE;QAClF,WAAW,EAAE,sEAAsE;KACpF;CACF,CAAC;AAEF,wEAAwE;AAExE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IAGnC,MAAM,QAAQ,GAAc,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACjD,GAAG;QACH,WAAW,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,WAAW;QAC9C,WAAW,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,WAAW;KAC/C,CAAC,CAAC,CAAC;IAEJ,MAAM,SAAS,GAAG,QAAQ;SACvB,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,WAAW,uBAAuB,CAAC,CAAC,WAAW,EAAE,CAC1E;SACA,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,qBAAqB,QAAQ,CAAC,MAAM,QAAQ,SAAS,EAAE;aAC9D;SACF;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAqC;IAErC,MAAM,YAAY,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAE9C,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,YAAY,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YACtD,SAAS;QACX,CAAC;QAED,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,GAAG,EAAE,WAAW,CAAC,GAAG;oBACpB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wCAAwC,EAAE;aACjE;SACF,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,KAAK;SACpB,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,WAAW,eAAe,CAAC,CAAC,QAAQ,IAAI,CAC7F;SACA,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,sBAAsB,KAAK,CAAC,MAAM,QAAQ,SAAS,EAAE;aAC5D;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/tools/list.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "forgecraft-mcp",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "mcpName": "io.github.jghiringhelli/forgecraft",
5
5
  "description": "MCP server that gives Claude Code production-grade engineering standards — SOLID, testing, architecture, CI/CD — automatically tailored to your stack",
6
6
  "type": "module",
@@ -25,6 +25,11 @@
25
25
  "model-context-protocol",
26
26
  "claude",
27
27
  "claude-code",
28
+ "github-copilot",
29
+ "copilot",
30
+ "cursor",
31
+ "windsurf",
32
+ "ai-coding",
28
33
  "scaffolding",
29
34
  "project-setup",
30
35
  "developer-tools",
@@ -33,8 +38,7 @@
33
38
  "solid-principles",
34
39
  "testing",
35
40
  "architecture",
36
- "claude-md",
37
- "ai-coding"
41
+ "claude-md"
38
42
  ],
39
43
  "author": "JC",
40
44
  "license": "MIT",
@@ -0,0 +1,10 @@
1
+ tag: ANALYTICS
2
+ section: mcp-servers
3
+ servers:
4
+ - name: chrome-devtools
5
+ description: "Chrome DevTools integration for debugging, profiling, and network inspection"
6
+ command: npx
7
+ args: ["-y", "@anthropic/chrome-devtools-mcp@latest"]
8
+ tags: [WEB-REACT, WEB-STATIC, ANALYTICS]
9
+ category: devtools
10
+ url: "https://github.com/anthropics/anthropic-quickstarts/tree/main/chrome-devtools-mcp"
@@ -0,0 +1,12 @@
1
+ tag: API
2
+ section: mcp-servers
3
+ servers:
4
+ - name: postman
5
+ description: "API testing and collection management via Postman workspace"
6
+ command: npx
7
+ args: ["-y", "@anthropic/mcp-server-postman"]
8
+ tags: [API]
9
+ category: testing
10
+ url: "https://github.com/anthropics/anthropic-quickstarts/tree/main/mcp-server-postman"
11
+ env:
12
+ POSTMAN_API_KEY: ""
@@ -0,0 +1,10 @@
1
+ tag: CLI
2
+ section: mcp-servers
3
+ servers:
4
+ - name: filesystem
5
+ description: "Secure file operations — read, write, search, and directory management with configurable access controls"
6
+ command: npx
7
+ args: ["-y", "@modelcontextprotocol/server-filesystem", "/"]
8
+ tags: [CLI, LIBRARY]
9
+ category: general
10
+ url: "https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem"
@@ -0,0 +1,28 @@
1
+ tag: DATA-LINEAGE
2
+ section: instructions
3
+ blocks:
4
+ - id: field-coverage
5
+ tier: recommended
6
+ title: "100% Field Coverage Enforcement"
7
+ content: |
8
+ ## 100% Field Coverage Enforcement
9
+
10
+ - Every data field must have a documented origin (source system, table, column) and destination (target system, table, column).
11
+ - Maintain a field-level lineage registry: no field enters production without a lineage entry. Enforce this in CI.
12
+ - Track field transformations explicitly: document every rename, type cast, aggregation, join, and filter applied to each field.
13
+ - Implement automated coverage checks: compare the lineage registry against actual schema definitions. Flag any untracked fields as errors.
14
+ - Version lineage metadata alongside code: lineage definitions live in the repository, not in external wikis or spreadsheets.
15
+ - Generate lineage reports per pipeline run: which fields were read, transformed, and written, with row counts and data quality metrics.
16
+
17
+ - id: lineage-tracking-decorators
18
+ tier: recommended
19
+ title: "Lineage Tracking Decorators & Annotations"
20
+ content: |
21
+ ## Lineage Tracking Decorators & Annotations
22
+
23
+ - Use decorators or annotations on transformation functions to declare input fields, output fields, and transformation type.
24
+ - Standardize lineage metadata format: source, transformation, destination, timestamp, pipeline_id, run_id.
25
+ - Emit lineage events at runtime: every transformation step publishes a lineage event to a centralized lineage store.
26
+ - Support both code-level lineage (decorators on functions) and config-level lineage (YAML/JSON transformation specs).
27
+ - Integrate lineage with data quality: when a quality check fails, trace back through lineage to identify the source of bad data.
28
+ - Visualize lineage graphs: generate dependency diagrams showing field-level flow from source to consumption.
@@ -0,0 +1,20 @@
1
+ tag: DATA-LINEAGE
2
+ section: mcp-servers
3
+ servers:
4
+ - name: postgres
5
+ description: "PostgreSQL database inspection — query lineage metadata and schema definitions"
6
+ command: npx
7
+ args: ["-y", "@modelcontextprotocol/server-postgres"]
8
+ tags: [DATA-LINEAGE, DATA-PIPELINE]
9
+ category: database
10
+ env:
11
+ POSTGRES_CONNECTION_STRING: ""
12
+ url: "https://github.com/modelcontextprotocol/servers/tree/main/src/postgres"
13
+
14
+ - name: filesystem
15
+ description: "Filesystem access for lineage definition files and pipeline configurations"
16
+ command: npx
17
+ args: ["-y", "@modelcontextprotocol/server-filesystem"]
18
+ tags: [DATA-LINEAGE, UNIVERSAL]
19
+ category: filesystem
20
+ url: "https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem"
@@ -0,0 +1,12 @@
1
+ tag: DATA-PIPELINE
2
+ section: mcp-servers
3
+ servers:
4
+ - name: postgres
5
+ description: "PostgreSQL database inspection, queries, and schema management"
6
+ command: npx
7
+ args: ["-y", "@modelcontextprotocol/server-postgres"]
8
+ tags: [DATA-PIPELINE, API]
9
+ category: database
10
+ env:
11
+ POSTGRES_CONNECTION_STRING: ""
12
+ url: "https://github.com/modelcontextprotocol/servers/tree/main/src/postgres"
@@ -0,0 +1,12 @@
1
+ tag: FINTECH
2
+ section: mcp-servers
3
+ servers:
4
+ - name: stripe
5
+ description: "Stripe API integration — payments, subscriptions, invoices, and customer management"
6
+ command: npx
7
+ args: ["-y", "@stripe/mcp-server"]
8
+ tags: [FINTECH]
9
+ category: general
10
+ env:
11
+ STRIPE_SECRET_KEY: ""
12
+ url: "https://github.com/stripe/agent-toolkit"
@@ -0,0 +1,10 @@
1
+ tag: GAME
2
+ section: mcp-servers
3
+ servers:
4
+ - name: unity-mcp
5
+ description: "Unity Editor integration — scene management, asset control, code generation"
6
+ command: npx
7
+ args: ["-y", "@anthropic/unity-mcp"]
8
+ tags: [GAME]
9
+ category: game-engine
10
+ url: "https://github.com/CoplayDev/unity-mcp"
@@ -0,0 +1,12 @@
1
+ tag: HEALTHCARE
2
+ section: mcp-servers
3
+ servers:
4
+ - name: postgres
5
+ description: "PostgreSQL database inspection, queries, and schema management — common backend for EHR/clinical data"
6
+ command: npx
7
+ args: ["-y", "@modelcontextprotocol/server-postgres"]
8
+ tags: [DATA-PIPELINE, API, HEALTHCARE]
9
+ category: database
10
+ env:
11
+ POSTGRES_CONNECTION_STRING: ""
12
+ url: "https://github.com/modelcontextprotocol/servers/tree/main/src/postgres"
@@ -0,0 +1,41 @@
1
+ tag: HIPAA
2
+ section: instructions
3
+ blocks:
4
+ - id: pii-masking
5
+ tier: recommended
6
+ title: "PII Masking & Data Protection"
7
+ content: |
8
+ ## PII Masking & Data Protection
9
+
10
+ - Identify all Personally Identifiable Information (PII) fields at design time using the 18 HIPAA identifiers as a baseline.
11
+ - Implement masking templates for every PII field: full mask for display, partial mask for verification, tokenized for logging.
12
+ - Apply dynamic masking based on user role — clinicians see full data, billing sees partial, analytics sees only de-identified data.
13
+ - Never store raw PII in caches, message queues, or temporary files. Use tokenized references that resolve through a secure lookup service.
14
+ - Validate masking coverage with automated tests: no PII field should reach a log sink, error report, or analytics pipeline unmasked.
15
+ - Maintain a PII field registry as a living document — every new field must be classified before it enters the data model.
16
+
17
+ - id: encryption-checks
18
+ tier: recommended
19
+ title: "Encryption Verification & Key Management"
20
+ content: |
21
+ ## Encryption Verification & Key Management
22
+
23
+ - Enforce AES-256 encryption at rest for all data stores containing PII. Verify encryption status in CI with infrastructure-as-code checks.
24
+ - Require TLS 1.2+ for all data in transit. Reject connections using older protocols at the load balancer level.
25
+ - Use envelope encryption with a managed KMS (AWS KMS, Azure Key Vault, GCP KMS). Never store encryption keys alongside encrypted data.
26
+ - Rotate encryption keys on a defined schedule (90 days minimum). Automate rotation and re-encryption of affected data.
27
+ - Include encryption verification in deployment checklists: database encryption enabled, TLS certificates valid, KMS policies correct.
28
+ - Test encryption boundaries: verify that data crossing service boundaries remains encrypted and that decryption only occurs in authorized services.
29
+
30
+ - id: audit-logging-hipaa
31
+ tier: recommended
32
+ title: "HIPAA Audit Logging"
33
+ content: |
34
+ ## HIPAA Audit Logging
35
+
36
+ - Log every access to PII: who, when, what data, from where, and the business justification.
37
+ - Store audit logs in an append-only, tamper-evident store separate from application databases.
38
+ - Retain audit logs for a minimum of 6 years per HIPAA requirements.
39
+ - Generate automated audit reports: access frequency per user, unusual patterns, after-hours access.
40
+ - Implement real-time alerting for anomalous access: bulk record access, out-of-role access, VIP record access.
41
+ - Include a unique correlation ID in every request touching PII for end-to-end traceability across services.
@@ -0,0 +1,12 @@
1
+ tag: HIPAA
2
+ section: mcp-servers
3
+ servers:
4
+ - name: postgres
5
+ description: "PostgreSQL database inspection and schema management — common backend for PHI/PII storage"
6
+ command: npx
7
+ args: ["-y", "@modelcontextprotocol/server-postgres"]
8
+ tags: [HIPAA, HEALTHCARE, API]
9
+ category: database
10
+ env:
11
+ POSTGRES_CONNECTION_STRING: ""
12
+ url: "https://github.com/modelcontextprotocol/servers/tree/main/src/postgres"
@@ -0,0 +1,18 @@
1
+ tag: INFRA
2
+ section: mcp-servers
3
+ servers:
4
+ - name: docker
5
+ description: "Docker container and image management via MCP"
6
+ command: npx
7
+ args: ["-y", "mcp-server-docker"]
8
+ tags: [INFRA]
9
+ category: deployment
10
+ url: "https://github.com/ckreiling/mcp-server-docker"
11
+
12
+ - name: kubernetes
13
+ description: "Kubernetes cluster management — pods, deployments, services"
14
+ command: npx
15
+ args: ["-y", "mcp-server-kubernetes"]
16
+ tags: [INFRA]
17
+ category: deployment
18
+ url: "https://github.com/strowk/mcp-k8s-go"
@@ -0,0 +1,18 @@
1
+ tag: LIBRARY
2
+ section: mcp-servers
3
+ servers:
4
+ - name: filesystem
5
+ description: "Secure file operations — read, write, search, and directory management with configurable access controls"
6
+ command: npx
7
+ args: ["-y", "@modelcontextprotocol/server-filesystem", "/"]
8
+ tags: [CLI, LIBRARY]
9
+ category: general
10
+ url: "https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem"
11
+
12
+ - name: npm-search
13
+ description: "Search npm registry for packages, check versions, and inspect dependencies"
14
+ command: npx
15
+ args: ["-y", "mcp-server-npm-search"]
16
+ tags: [LIBRARY]
17
+ category: documentation
18
+ url: "https://github.com/nicholasgriffintn/npm-search-mcp-server"
@@ -0,0 +1,41 @@
1
+ tag: MEDALLION-ARCHITECTURE
2
+ section: instructions
3
+ blocks:
4
+ - id: bronze-layer
5
+ tier: recommended
6
+ title: "Bronze Layer — Immutable Raw Ingestion"
7
+ content: |
8
+ ## Bronze Layer — Immutable Raw Ingestion
9
+
10
+ - Bronze is the landing zone. Data arrives exactly as received from source systems — no transformations, no filtering, no deduplication.
11
+ - Store Bronze data in append-only, immutable formats (Parquet, Delta Lake, Iceberg). Never overwrite or delete Bronze records.
12
+ - Include ingestion metadata on every record: source_system, ingested_at, batch_id, file_origin, raw_checksum.
13
+ - Partition Bronze tables by ingestion date for efficient reprocessing. Never partition by business keys at this layer.
14
+ - Implement schema-on-read: Bronze accepts any schema from source. Schema validation happens at the Silver promotion step.
15
+ - Retain Bronze data indefinitely (or per legal retention policy). Bronze is the recovery point for all downstream reprocessing.
16
+
17
+ - id: silver-layer
18
+ tier: recommended
19
+ title: "Silver Layer — Validated & Conformed"
20
+ content: |
21
+ ## Silver Layer — Validated & Conformed
22
+
23
+ - Silver applies data quality rules: type validation, null checks, range constraints, referential integrity, deduplication.
24
+ - Every record in Silver must pass defined quality gates. Records failing validation are routed to a quarantine table, not dropped.
25
+ - Conform naming conventions: standardize column names, date formats, currency codes, and enum values across all Silver tables.
26
+ - Track record lineage: every Silver record links back to its Bronze source via source_record_id and bronze_batch_id.
27
+ - Apply slowly changing dimension (SCD) Type 2 for reference data: maintain history with effective_from and effective_to timestamps.
28
+ - Silver tables define explicit schemas enforced on write. Schema changes require a migration plan and backward compatibility check.
29
+
30
+ - id: gold-layer
31
+ tier: recommended
32
+ title: "Gold Layer — Aggregated & Business-Ready"
33
+ content: |
34
+ ## Gold Layer — Aggregated & Business-Ready
35
+
36
+ - Gold tables are purpose-built for specific business use cases: dashboards, ML features, API responses, reports.
37
+ - Apply business logic at the Gold layer: aggregations, joins, calculated fields, business rules, KPI definitions.
38
+ - Optimize Gold tables for read performance: pre-aggregate, denormalize, partition by access patterns.
39
+ - Document every Gold table with its business purpose, refresh cadence, source Silver tables, and SLA.
40
+ - Version Gold table definitions: changes to aggregation logic or business rules are tracked, reviewed, and deployed like code.
41
+ - Implement data contracts for Gold consumers: define expected schema, update frequency, and quality guarantees.