@corbat-tech/coding-standards-mcp 1.0.0

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 (89) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +371 -0
  3. package/assets/demo.gif +0 -0
  4. package/dist/agent.d.ts +53 -0
  5. package/dist/agent.d.ts.map +1 -0
  6. package/dist/agent.js +629 -0
  7. package/dist/agent.js.map +1 -0
  8. package/dist/cli/init.d.ts +3 -0
  9. package/dist/cli/init.d.ts.map +1 -0
  10. package/dist/cli/init.js +651 -0
  11. package/dist/cli/init.js.map +1 -0
  12. package/dist/config.d.ts +73 -0
  13. package/dist/config.d.ts.map +1 -0
  14. package/dist/config.js +105 -0
  15. package/dist/config.js.map +1 -0
  16. package/dist/index.d.ts +3 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +73 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/profiles.d.ts +39 -0
  21. package/dist/profiles.d.ts.map +1 -0
  22. package/dist/profiles.js +526 -0
  23. package/dist/profiles.js.map +1 -0
  24. package/dist/prompts-legacy.d.ts +25 -0
  25. package/dist/prompts-legacy.d.ts.map +1 -0
  26. package/dist/prompts-legacy.js +600 -0
  27. package/dist/prompts-legacy.js.map +1 -0
  28. package/dist/prompts-v2.d.ts +30 -0
  29. package/dist/prompts-v2.d.ts.map +1 -0
  30. package/dist/prompts-v2.js +310 -0
  31. package/dist/prompts-v2.js.map +1 -0
  32. package/dist/prompts.d.ts +30 -0
  33. package/dist/prompts.d.ts.map +1 -0
  34. package/dist/prompts.js +310 -0
  35. package/dist/prompts.js.map +1 -0
  36. package/dist/resources.d.ts +18 -0
  37. package/dist/resources.d.ts.map +1 -0
  38. package/dist/resources.js +95 -0
  39. package/dist/resources.js.map +1 -0
  40. package/dist/tools-legacy.d.ts +196 -0
  41. package/dist/tools-legacy.d.ts.map +1 -0
  42. package/dist/tools-legacy.js +1230 -0
  43. package/dist/tools-legacy.js.map +1 -0
  44. package/dist/tools-v2.d.ts +92 -0
  45. package/dist/tools-v2.d.ts.map +1 -0
  46. package/dist/tools-v2.js +410 -0
  47. package/dist/tools-v2.js.map +1 -0
  48. package/dist/tools.d.ts +92 -0
  49. package/dist/tools.d.ts.map +1 -0
  50. package/dist/tools.js +410 -0
  51. package/dist/tools.js.map +1 -0
  52. package/dist/types.d.ts +3054 -0
  53. package/dist/types.d.ts.map +1 -0
  54. package/dist/types.js +515 -0
  55. package/dist/types.js.map +1 -0
  56. package/dist/utils/index.d.ts +6 -0
  57. package/dist/utils/index.d.ts.map +1 -0
  58. package/dist/utils/index.js +5 -0
  59. package/dist/utils/index.js.map +1 -0
  60. package/dist/utils/retry.d.ts +44 -0
  61. package/dist/utils/retry.d.ts.map +1 -0
  62. package/dist/utils/retry.js +74 -0
  63. package/dist/utils/retry.js.map +1 -0
  64. package/package.json +79 -0
  65. package/profiles/README.md +199 -0
  66. package/profiles/custom/.gitkeep +2 -0
  67. package/profiles/templates/_template.yaml +159 -0
  68. package/profiles/templates/angular.yaml +494 -0
  69. package/profiles/templates/java-spring-backend.yaml +512 -0
  70. package/profiles/templates/minimal.yaml +102 -0
  71. package/profiles/templates/nodejs.yaml +338 -0
  72. package/profiles/templates/python.yaml +340 -0
  73. package/profiles/templates/react.yaml +331 -0
  74. package/profiles/templates/vue.yaml +598 -0
  75. package/standards/architecture/ddd.md +173 -0
  76. package/standards/architecture/hexagonal.md +97 -0
  77. package/standards/cicd/github-actions.md +567 -0
  78. package/standards/clean-code/naming.md +175 -0
  79. package/standards/clean-code/principles.md +179 -0
  80. package/standards/containerization/dockerfile.md +419 -0
  81. package/standards/database/selection-guide.md +443 -0
  82. package/standards/documentation/guidelines.md +189 -0
  83. package/standards/event-driven/domain-events.md +527 -0
  84. package/standards/kubernetes/deployment.md +518 -0
  85. package/standards/observability/guidelines.md +665 -0
  86. package/standards/project-setup/initialization-checklist.md +650 -0
  87. package/standards/spring-boot/best-practices.md +598 -0
  88. package/standards/testing/guidelines.md +559 -0
  89. package/standards/workflow/llm-development-workflow.md +542 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Environment type for configuration.
4
+ */
5
+ export type Environment = 'development' | 'production' | 'test';
6
+ /**
7
+ * Application configuration schema with Zod validation.
8
+ */
9
+ declare const ConfigSchema: z.ZodObject<{
10
+ profilesDir: z.ZodString;
11
+ standardsDir: z.ZodString;
12
+ defaultProfile: z.ZodDefault<z.ZodString>;
13
+ serverName: z.ZodDefault<z.ZodString>;
14
+ serverVersion: z.ZodDefault<z.ZodString>;
15
+ environment: z.ZodDefault<z.ZodEnum<["development", "production", "test"]>>;
16
+ cacheTtlMs: z.ZodDefault<z.ZodNumber>;
17
+ logLevel: z.ZodDefault<z.ZodEnum<["debug", "info", "warn", "error"]>>;
18
+ enableVerboseErrors: z.ZodDefault<z.ZodBoolean>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ cacheTtlMs: number;
21
+ logLevel: "error" | "debug" | "info" | "warn";
22
+ enableVerboseErrors: boolean;
23
+ profilesDir: string;
24
+ standardsDir: string;
25
+ defaultProfile: string;
26
+ serverName: string;
27
+ serverVersion: string;
28
+ environment: "test" | "development" | "production";
29
+ }, {
30
+ profilesDir: string;
31
+ standardsDir: string;
32
+ cacheTtlMs?: number | undefined;
33
+ logLevel?: "error" | "debug" | "info" | "warn" | undefined;
34
+ enableVerboseErrors?: boolean | undefined;
35
+ defaultProfile?: string | undefined;
36
+ serverName?: string | undefined;
37
+ serverVersion?: string | undefined;
38
+ environment?: "test" | "development" | "production" | undefined;
39
+ }>;
40
+ export type Config = z.infer<typeof ConfigSchema>;
41
+ /**
42
+ * Load and validate configuration with environment-specific overrides.
43
+ */
44
+ export declare function loadConfig(): Config;
45
+ export declare const config: {
46
+ cacheTtlMs: number;
47
+ logLevel: "error" | "debug" | "info" | "warn";
48
+ enableVerboseErrors: boolean;
49
+ profilesDir: string;
50
+ standardsDir: string;
51
+ defaultProfile: string;
52
+ serverName: string;
53
+ serverVersion: string;
54
+ environment: "test" | "development" | "production";
55
+ };
56
+ /**
57
+ * Get current environment.
58
+ */
59
+ export declare function getEnvironment(): Environment;
60
+ /**
61
+ * Check if running in production.
62
+ */
63
+ export declare function isProduction(): boolean;
64
+ /**
65
+ * Check if running in development.
66
+ */
67
+ export declare function isDevelopment(): boolean;
68
+ /**
69
+ * Check if running in test environment.
70
+ */
71
+ export declare function isTest(): boolean;
72
+ export {};
73
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,YAAY,GAAG,MAAM,CAAC;AAkChE;;GAEG;AACH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUhB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAYlD;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAkBnC;AAED,eAAO,MAAM,MAAM;;;;;;;;;;CAAe,CAAC;AAEnC;;GAEG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAE5C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,OAAO,CAEhC"}
package/dist/config.js ADDED
@@ -0,0 +1,105 @@
1
+ import { dirname, join } from 'node:path';
2
+ import { fileURLToPath } from 'node:url';
3
+ import { z } from 'zod';
4
+ const __filename = fileURLToPath(import.meta.url);
5
+ const __dirname = dirname(__filename);
6
+ /**
7
+ * Environment-specific configuration overrides.
8
+ */
9
+ const environmentConfigs = {
10
+ development: {
11
+ cacheTtlMs: 60_000, // 1 minute - shorter for faster iteration
12
+ logLevel: 'debug',
13
+ enableVerboseErrors: true,
14
+ },
15
+ production: {
16
+ cacheTtlMs: 300_000, // 5 minutes - longer for better performance
17
+ logLevel: 'info',
18
+ enableVerboseErrors: false,
19
+ },
20
+ test: {
21
+ cacheTtlMs: 0, // No cache in tests for predictability
22
+ logLevel: 'error',
23
+ enableVerboseErrors: true,
24
+ },
25
+ };
26
+ /**
27
+ * Environment-specific configuration schema.
28
+ */
29
+ const EnvironmentConfigSchema = z.object({
30
+ cacheTtlMs: z.number().min(0).default(60_000),
31
+ logLevel: z.enum(['debug', 'info', 'warn', 'error']).default('info'),
32
+ enableVerboseErrors: z.boolean().default(false),
33
+ });
34
+ /**
35
+ * Application configuration schema with Zod validation.
36
+ */
37
+ const ConfigSchema = z.object({
38
+ profilesDir: z.string().min(1),
39
+ standardsDir: z.string().min(1),
40
+ defaultProfile: z.string().default('java-spring-backend'),
41
+ serverName: z.string().default('corbat-mcp'),
42
+ serverVersion: z.string().default('1.0.0'),
43
+ environment: z.enum(['development', 'production', 'test']).default('development'),
44
+ cacheTtlMs: z.number().min(0).default(60_000),
45
+ logLevel: z.enum(['debug', 'info', 'warn', 'error']).default('info'),
46
+ enableVerboseErrors: z.boolean().default(false),
47
+ });
48
+ /**
49
+ * Detect current environment from NODE_ENV or CORBAT_ENV.
50
+ */
51
+ function detectEnvironment() {
52
+ const env = process.env.CORBAT_ENV || process.env.NODE_ENV || 'development';
53
+ if (env === 'production' || env === 'prod')
54
+ return 'production';
55
+ if (env === 'test')
56
+ return 'test';
57
+ return 'development';
58
+ }
59
+ /**
60
+ * Load and validate configuration with environment-specific overrides.
61
+ */
62
+ export function loadConfig() {
63
+ const rootDir = join(__dirname, '..');
64
+ const environment = detectEnvironment();
65
+ const envConfig = environmentConfigs[environment];
66
+ return ConfigSchema.parse({
67
+ profilesDir: process.env.CORBAT_PROFILES_DIR || join(rootDir, 'profiles'),
68
+ standardsDir: process.env.CORBAT_STANDARDS_DIR || join(rootDir, 'standards'),
69
+ defaultProfile: process.env.CORBAT_DEFAULT_PROFILE || 'java-spring-backend',
70
+ serverName: 'corbat-mcp',
71
+ serverVersion: '1.1.0',
72
+ environment,
73
+ cacheTtlMs: process.env.CORBAT_CACHE_TTL_MS
74
+ ? Number.parseInt(process.env.CORBAT_CACHE_TTL_MS, 10)
75
+ : envConfig.cacheTtlMs,
76
+ logLevel: process.env.CORBAT_LOG_LEVEL || envConfig.logLevel,
77
+ enableVerboseErrors: process.env.CORBAT_VERBOSE_ERRORS === 'true' || envConfig.enableVerboseErrors,
78
+ });
79
+ }
80
+ export const config = loadConfig();
81
+ /**
82
+ * Get current environment.
83
+ */
84
+ export function getEnvironment() {
85
+ return config.environment;
86
+ }
87
+ /**
88
+ * Check if running in production.
89
+ */
90
+ export function isProduction() {
91
+ return config.environment === 'production';
92
+ }
93
+ /**
94
+ * Check if running in development.
95
+ */
96
+ export function isDevelopment() {
97
+ return config.environment === 'development';
98
+ }
99
+ /**
100
+ * Check if running in test environment.
101
+ */
102
+ export function isTest() {
103
+ return config.environment === 'test';
104
+ }
105
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAOtC;;GAEG;AACH,MAAM,kBAAkB,GAAoD;IAC1E,WAAW,EAAE;QACX,UAAU,EAAE,MAAM,EAAE,0CAA0C;QAC9D,QAAQ,EAAE,OAAO;QACjB,mBAAmB,EAAE,IAAI;KAC1B;IACD,UAAU,EAAE;QACV,UAAU,EAAE,OAAO,EAAE,4CAA4C;QACjE,QAAQ,EAAE,MAAM;QAChB,mBAAmB,EAAE,KAAK;KAC3B;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,CAAC,EAAE,uCAAuC;QACtD,QAAQ,EAAE,OAAO;QACjB,mBAAmB,EAAE,IAAI;KAC1B;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACpE,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAChD,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;IACzD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;IAC5C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IAC1C,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IACjF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACpE,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAChD,CAAC,CAAC;AAIH;;GAEG;AACH,SAAS,iBAAiB;IACxB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC;IAC5E,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,YAAY,CAAC;IAChE,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAClC,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAElD,OAAO,YAAY,CAAC,KAAK,CAAC;QACxB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC;QACzE,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;QAC5E,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,qBAAqB;QAC3E,UAAU,EAAE,YAAY;QACxB,aAAa,EAAE,OAAO;QACtB,WAAW;QACX,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;YACzC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC;YACtD,CAAC,CAAC,SAAS,CAAC,UAAU;QACxB,QAAQ,EAAG,OAAO,CAAC,GAAG,CAAC,gBAAuC,IAAI,SAAS,CAAC,QAAQ;QACpF,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,MAAM,IAAI,SAAS,CAAC,mBAAmB;KACnG,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;AAEnC;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,MAAM,CAAC,WAAW,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,MAAM,CAAC,WAAW,KAAK,YAAY,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,MAAM,CAAC,WAAW,KAAK,aAAa,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM;IACpB,OAAO,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC;AACvC,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,73 @@
1
+ #!/usr/bin/env node
2
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
3
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
+ import { CallToolRequestSchema, ErrorCode, GetPromptRequestSchema, ListPromptsRequestSchema, ListResourcesRequestSchema, ListToolsRequestSchema, McpError, ReadResourceRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
5
+ import { config } from './config.js';
6
+ import { handleGetPrompt, prompts } from './prompts.js';
7
+ import { listResources, readResource } from './resources.js';
8
+ import { handleToolCall, tools } from './tools.js';
9
+ /**
10
+ * Create and configure the MCP server.
11
+ */
12
+ function createServer() {
13
+ const server = new Server({
14
+ name: config.serverName,
15
+ version: config.serverVersion,
16
+ }, {
17
+ capabilities: {
18
+ resources: {},
19
+ tools: {},
20
+ prompts: {},
21
+ },
22
+ });
23
+ // Register tool handlers
24
+ server.setRequestHandler(ListToolsRequestSchema, async () => ({
25
+ tools,
26
+ }));
27
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
28
+ const { name, arguments: args } = request.params;
29
+ return handleToolCall(name, args ?? {});
30
+ });
31
+ // Register resource handlers
32
+ server.setRequestHandler(ListResourcesRequestSchema, async () => ({
33
+ resources: await listResources(),
34
+ }));
35
+ server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
36
+ const { uri } = request.params;
37
+ const resource = await readResource(uri);
38
+ if (!resource) {
39
+ throw new McpError(ErrorCode.InvalidRequest, `Resource not found: ${uri}`);
40
+ }
41
+ return {
42
+ contents: [resource],
43
+ };
44
+ });
45
+ // Register prompt handlers
46
+ server.setRequestHandler(ListPromptsRequestSchema, async () => ({
47
+ prompts,
48
+ }));
49
+ server.setRequestHandler(GetPromptRequestSchema, async (request) => {
50
+ const { name, arguments: args } = request.params;
51
+ const result = await handleGetPrompt(name, args);
52
+ if (!result) {
53
+ throw new McpError(ErrorCode.InvalidRequest, `Prompt not found or invalid arguments: ${name}`);
54
+ }
55
+ return result;
56
+ });
57
+ return server;
58
+ }
59
+ /**
60
+ * Main entry point.
61
+ */
62
+ async function main() {
63
+ const server = createServer();
64
+ const transport = new StdioServerTransport();
65
+ await server.connect(transport);
66
+ // Log to stderr (never stdout for STDIO transport)
67
+ console.error(`${config.serverName} v${config.serverVersion} running on stdio`);
68
+ }
69
+ main().catch((error) => {
70
+ console.error('Fatal error:', error);
71
+ process.exit(1);
72
+ });
73
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { type Profile, type StandardDocument } from './types.js';
2
+ /**
3
+ * Invalidate all caches. Useful for testing or hot-reload scenarios.
4
+ */
5
+ export declare function invalidateCache(): void;
6
+ /**
7
+ * Load all profiles from YAML files.
8
+ * Searches in both templates/ and custom/ directories.
9
+ * Custom profiles override templates with the same name.
10
+ */
11
+ export declare function loadProfiles(): Promise<Map<string, Profile>>;
12
+ /**
13
+ * Get a specific profile by ID.
14
+ */
15
+ export declare function getProfile(profileId: string): Promise<Profile | null>;
16
+ /**
17
+ * Get all profiles as a list.
18
+ */
19
+ export declare function listProfiles(): Promise<Array<{
20
+ id: string;
21
+ profile: Profile;
22
+ }>>;
23
+ /**
24
+ * Load all standards from markdown files.
25
+ */
26
+ export declare function loadStandards(): Promise<StandardDocument[]>;
27
+ /**
28
+ * Get standards by category.
29
+ */
30
+ export declare function getStandardsByCategory(category: string): Promise<StandardDocument[]>;
31
+ /**
32
+ * Get all available categories.
33
+ */
34
+ export declare function getCategories(): Promise<string[]>;
35
+ /**
36
+ * Format a profile as markdown for LLM context.
37
+ */
38
+ export declare function formatProfileAsMarkdown(_profileId: string, profile: Profile): string;
39
+ //# sourceMappingURL=profiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"AAIA,OAAO,EAA4B,KAAK,OAAO,EAAiB,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAyB1G;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAKtC;AAqCD;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAoBlE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAG3E;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,CAGrF;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAiBjE;AA4CD;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAG1F;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAIvD;AA8YD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAqBpF"}