@claudetools/tools 0.8.11 → 0.9.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 (75) hide show
  1. package/dist/codedna/generators/astro.d.ts +18 -0
  2. package/dist/codedna/generators/astro.js +91 -0
  3. package/dist/codedna/generators/authjs.d.ts +18 -0
  4. package/dist/codedna/generators/authjs.js +68 -0
  5. package/dist/codedna/generators/better-auth.d.ts +18 -0
  6. package/dist/codedna/generators/better-auth.js +62 -0
  7. package/dist/codedna/generators/drizzle-orm.d.ts +18 -0
  8. package/dist/codedna/generators/drizzle-orm.js +65 -0
  9. package/dist/codedna/generators/elysia-api.d.ts +12 -0
  10. package/dist/codedna/generators/elysia-api.js +64 -0
  11. package/dist/codedna/generators/hono-api.d.ts +12 -0
  12. package/dist/codedna/generators/hono-api.js +64 -0
  13. package/dist/codedna/generators/lucia-auth.d.ts +18 -0
  14. package/dist/codedna/generators/lucia-auth.js +69 -0
  15. package/dist/codedna/generators/prisma.d.ts +18 -0
  16. package/dist/codedna/generators/prisma.js +64 -0
  17. package/dist/codedna/generators/react-router-v7.d.ts +18 -0
  18. package/dist/codedna/generators/react-router-v7.js +77 -0
  19. package/dist/codedna/generators/react19-shadcn.d.ts +21 -0
  20. package/dist/codedna/generators/react19-shadcn.js +367 -0
  21. package/dist/codedna/generators/sveltekit.d.ts +18 -0
  22. package/dist/codedna/generators/sveltekit.js +73 -0
  23. package/dist/codedna/generators/tanstack-start-drizzle.d.ts +92 -0
  24. package/dist/codedna/generators/tanstack-start-drizzle.js +824 -0
  25. package/dist/codedna/generators/trpc-api.d.ts +12 -0
  26. package/dist/codedna/generators/trpc-api.js +64 -0
  27. package/dist/codedna/index.d.ts +31 -0
  28. package/dist/codedna/index.js +39 -0
  29. package/dist/codedna/kappa-api-generator.d.ts +89 -0
  30. package/dist/codedna/kappa-api-generator.js +493 -0
  31. package/dist/codedna/kappa-ast.d.ts +552 -0
  32. package/dist/codedna/kappa-ast.js +141 -0
  33. package/dist/codedna/kappa-cli.d.ts +2 -0
  34. package/dist/codedna/kappa-cli.js +302 -0
  35. package/dist/codedna/kappa-component-generator.d.ts +47 -0
  36. package/dist/codedna/kappa-component-generator.js +295 -0
  37. package/dist/codedna/kappa-design-generator.d.ts +52 -0
  38. package/dist/codedna/kappa-design-generator.js +365 -0
  39. package/dist/codedna/kappa-drizzle-generator.d.ts +45 -0
  40. package/dist/codedna/kappa-drizzle-generator.js +355 -0
  41. package/dist/codedna/kappa-form-generator.d.ts +51 -0
  42. package/dist/codedna/kappa-form-generator.js +319 -0
  43. package/dist/codedna/kappa-lexer.d.ts +268 -0
  44. package/dist/codedna/kappa-lexer.js +757 -0
  45. package/dist/codedna/kappa-page-generator.d.ts +57 -0
  46. package/dist/codedna/kappa-page-generator.js +338 -0
  47. package/dist/codedna/kappa-parser.d.ts +261 -0
  48. package/dist/codedna/kappa-parser.js +2547 -0
  49. package/dist/codedna/kappa-provenance.d.ts +101 -0
  50. package/dist/codedna/kappa-provenance.js +199 -0
  51. package/dist/codedna/kappa-types-generator.d.ts +37 -0
  52. package/dist/codedna/kappa-types-generator.js +159 -0
  53. package/dist/codedna/kappa-validator.d.ts +86 -0
  54. package/dist/codedna/kappa-validator.js +638 -0
  55. package/dist/codedna/kappa-zod-generator.d.ts +32 -0
  56. package/dist/codedna/kappa-zod-generator.js +216 -0
  57. package/dist/handlers/kappa-handlers.d.ts +116 -0
  58. package/dist/handlers/kappa-handlers.js +465 -0
  59. package/dist/handlers/tool-handlers.js +121 -0
  60. package/dist/templates/claude-md.d.ts +1 -1
  61. package/dist/templates/claude-md.js +166 -9
  62. package/dist/tools.js +199 -0
  63. package/docs/research/2026-01-02-codedna-il-specification.md +639 -0
  64. package/docs/research/2026-01-02-codedna-v2-research.md +943 -0
  65. package/docs/research/2026-01-02-computation-foundations.md +564 -0
  66. package/docs/research/2026-01-02-hardware-description.md +814 -0
  67. package/docs/research/2026-01-02-kappa-specification.md +697 -0
  68. package/docs/research/2026-01-02-kappa-tanstack-example.md +527 -0
  69. package/docs/research/2026-01-02-kappa-v2-synthesis.md +406 -0
  70. package/docs/research/2026-01-02-kappa-v2.5-specification.md +1218 -0
  71. package/docs/research/2026-01-02-kappa-v3-specification.md +1864 -0
  72. package/docs/research/2026-01-02-kappa-whitepaper.md +662 -0
  73. package/docs/research/2026-01-02-logic-constraint.md +731 -0
  74. package/docs/research/2026-01-02-quantum-computation.md +635 -0
  75. package/package.json +4 -2
@@ -0,0 +1,12 @@
1
+ import { BaseGenerator } from './base.js';
2
+ import { EntitySpec } from '../parser.js';
3
+ import { GenerateApiOptions } from '../types.js';
4
+ export declare class TrpcApiGenerator extends BaseGenerator {
5
+ protected getGeneratorId(): string;
6
+ protected getRequiredTemplates(options: GenerateApiOptions): string[];
7
+ protected getFileMapping(entity: EntitySpec, options: GenerateApiOptions): Record<string, string>;
8
+ /**
9
+ * Generate tRPC API from entity specification
10
+ */
11
+ generate(entity: EntitySpec, options?: GenerateApiOptions): Promise<import('../types.js').GenerationResult>;
12
+ }
@@ -0,0 +1,64 @@
1
+ // =============================================================================
2
+ // tRPC API Generator
3
+ // =============================================================================
4
+ //
5
+ // Generate type-safe tRPC procedures with routers, input validation,
6
+ // context, and middleware. Full end-to-end type safety.
7
+ //
8
+ import { BaseGenerator } from './base.js';
9
+ export class TrpcApiGenerator extends BaseGenerator {
10
+ getGeneratorId() {
11
+ return 'trpc-api';
12
+ }
13
+ getRequiredTemplates(options) {
14
+ const templates = [
15
+ 'schema.ts.j2',
16
+ 'router.ts.j2',
17
+ 'procedures.ts.j2',
18
+ 'context.ts.j2',
19
+ 'trpc.ts.j2',
20
+ ];
21
+ if (this.isEnabled(options, 'auth')) {
22
+ templates.push('middleware.ts.j2');
23
+ }
24
+ if (this.isEnabled(options, 'tests')) {
25
+ templates.push('test.ts.j2');
26
+ }
27
+ return templates;
28
+ }
29
+ getFileMapping(entity, options) {
30
+ const entityLower = entity.name.toLowerCase();
31
+ const mapping = {
32
+ [`src/schemas/${entityLower}.schema.ts`]: 'schema.ts.j2',
33
+ [`src/routers/${entityLower}.router.ts`]: 'router.ts.j2',
34
+ [`src/procedures/${entityLower}.procedures.ts`]: 'procedures.ts.j2',
35
+ ['src/server/context.ts']: 'context.ts.j2',
36
+ ['src/server/trpc.ts']: 'trpc.ts.j2',
37
+ };
38
+ if (this.isEnabled(options, 'auth')) {
39
+ mapping['src/middleware/auth.ts'] = 'middleware.ts.j2';
40
+ }
41
+ if (this.isEnabled(options, 'tests')) {
42
+ mapping[`src/__tests__/${entityLower}.test.ts`] = 'test.ts.j2';
43
+ }
44
+ return mapping;
45
+ }
46
+ /**
47
+ * Generate tRPC API from entity specification
48
+ */
49
+ async generate(entity, options = {}) {
50
+ // Validate options
51
+ await this.validateOptions(options);
52
+ // Set defaults - tRPC specific
53
+ const opts = {
54
+ auth: false,
55
+ validation: true, // Always true for tRPC (Zod is integral)
56
+ tests: false,
57
+ database: 'postgresql',
58
+ superjson: true, // Use SuperJSON for serialisation
59
+ ...options,
60
+ };
61
+ // Generate files
62
+ return super.generate(entity, opts);
63
+ }
64
+ }
@@ -2,3 +2,34 @@ export * from './parser.js';
2
2
  export * from './types.js';
3
3
  export * from './template-engine.js';
4
4
  export * from './registry.js';
5
+ export { type KappaSpec, type EntityBlock, type EntityField, type FieldType as KappaFieldType, type APIBlock, type APIOperation, type JourneyBlock, type PageBlock, type DesignBlock, } from './kappa-ast.js';
6
+ export { tokenize } from './kappa-lexer.js';
7
+ export { parse as parseKappa, parseToAST as parseKappaToAST, type ParseResult as KappaParseResult, } from './kappa-parser.js';
8
+ export { validateKappaSpec, formatValidationResults } from './kappa-validator.js';
9
+ export { wrapWithProvenance, ProvenanceGenerator } from './kappa-provenance.js';
10
+ export { generateDrizzleSchema } from './kappa-drizzle-generator.js';
11
+ export { generateZodSchemas } from './kappa-zod-generator.js';
12
+ export { generateTypeScriptTypes } from './kappa-types-generator.js';
13
+ export { generateAPI, KappaAPIGenerator } from './kappa-api-generator.js';
14
+ export { generatePages, KappaPageGenerator } from './kappa-page-generator.js';
15
+ export { generateForms, KappaFormGenerator } from './kappa-form-generator.js';
16
+ export { generateComponents, KappaComponentGenerator } from './kappa-component-generator.js';
17
+ export { generateDesign, KappaDesignGenerator } from './kappa-design-generator.js';
18
+ export { BaseGenerator } from './generators/base.js';
19
+ export { ExpressApiGenerator } from './generators/express-api.js';
20
+ export { FastAPIGenerator } from './generators/fastapi-api.js';
21
+ export { NestJSGenerator } from './generators/nestjs-api.js';
22
+ export { HonoApiGenerator } from './generators/hono-api.js';
23
+ export { ElysiaApiGenerator } from './generators/elysia-api.js';
24
+ export { TrpcApiGenerator } from './generators/trpc-api.js';
25
+ export { BetterAuthGenerator } from './generators/better-auth.js';
26
+ export { AuthJsGenerator } from './generators/authjs.js';
27
+ export { LuciaAuthGenerator } from './generators/lucia-auth.js';
28
+ export { ReactFrontendGenerator } from './generators/react-frontend.js';
29
+ export { VueFrontendGenerator } from './generators/vue-frontend.js';
30
+ export { SvelteKitGenerator } from './generators/sveltekit.js';
31
+ export { AstroGenerator } from './generators/astro.js';
32
+ export { ReactRouterV7Generator } from './generators/react-router-v7.js';
33
+ export { DrizzleOrmGenerator } from './generators/drizzle-orm.js';
34
+ export { PrismaGenerator } from './generators/prisma.js';
35
+ export { UIComponentGenerator } from './generators/ui-component.js';
@@ -1,7 +1,46 @@
1
1
  // =============================================================================
2
2
  // CodeDNA Module Exports
3
3
  // =============================================================================
4
+ // Core
4
5
  export * from './parser.js';
5
6
  export * from './types.js';
6
7
  export * from './template-engine.js';
7
8
  export * from './registry.js';
9
+ export { tokenize } from './kappa-lexer.js';
10
+ export { parse as parseKappa, parseToAST as parseKappaToAST, } from './kappa-parser.js';
11
+ export { validateKappaSpec, formatValidationResults } from './kappa-validator.js';
12
+ export { wrapWithProvenance, ProvenanceGenerator } from './kappa-provenance.js';
13
+ // Kappa v2.5 Generators
14
+ export { generateDrizzleSchema } from './kappa-drizzle-generator.js';
15
+ export { generateZodSchemas } from './kappa-zod-generator.js';
16
+ export { generateTypeScriptTypes } from './kappa-types-generator.js';
17
+ export { generateAPI, KappaAPIGenerator } from './kappa-api-generator.js';
18
+ export { generatePages, KappaPageGenerator } from './kappa-page-generator.js';
19
+ export { generateForms, KappaFormGenerator } from './kappa-form-generator.js';
20
+ export { generateComponents, KappaComponentGenerator } from './kappa-component-generator.js';
21
+ export { generateDesign, KappaDesignGenerator } from './kappa-design-generator.js';
22
+ // Generators - Base
23
+ export { BaseGenerator } from './generators/base.js';
24
+ // Generators - API
25
+ export { ExpressApiGenerator } from './generators/express-api.js';
26
+ export { FastAPIGenerator } from './generators/fastapi-api.js';
27
+ export { NestJSGenerator } from './generators/nestjs-api.js';
28
+ export { HonoApiGenerator } from './generators/hono-api.js';
29
+ export { ElysiaApiGenerator } from './generators/elysia-api.js';
30
+ export { TrpcApiGenerator } from './generators/trpc-api.js';
31
+ // Generators - Auth
32
+ export { BetterAuthGenerator } from './generators/better-auth.js';
33
+ export { AuthJsGenerator } from './generators/authjs.js';
34
+ export { LuciaAuthGenerator } from './generators/lucia-auth.js';
35
+ // Generators - Frontend
36
+ export { ReactFrontendGenerator } from './generators/react-frontend.js';
37
+ export { VueFrontendGenerator } from './generators/vue-frontend.js';
38
+ export { SvelteKitGenerator } from './generators/sveltekit.js';
39
+ export { AstroGenerator } from './generators/astro.js';
40
+ export { ReactRouterV7Generator } from './generators/react-router-v7.js';
41
+ // React19ShadcnGenerator and TanstackStartDrizzleGenerator are WIP - excluded for now
42
+ // Generators - Database/ORM
43
+ export { DrizzleOrmGenerator } from './generators/drizzle-orm.js';
44
+ export { PrismaGenerator } from './generators/prisma.js';
45
+ // Generators - UI Components
46
+ export { UIComponentGenerator } from './generators/ui-component.js';
@@ -0,0 +1,89 @@
1
+ import type { APIBlock, APIParameter, EffectType } from './kappa-ast.js';
2
+ export type APIFramework = 'express' | 'hono' | 'trpc';
3
+ export interface APIGeneratorOptions {
4
+ /** Target framework (default: 'hono') */
5
+ framework?: APIFramework;
6
+ /** Add provenance comments (default: true) */
7
+ provenance?: boolean;
8
+ /** Generate validation middleware (default: true) */
9
+ validation?: boolean;
10
+ /** Generate error types (default: true) */
11
+ errorTypes?: boolean;
12
+ /** Base path for routes (default: '/api') */
13
+ basePath?: string;
14
+ /** Auth middleware name (default: 'requireAuth') */
15
+ authMiddleware?: string;
16
+ /** Generate OpenAPI schema (default: false) */
17
+ openapi?: boolean;
18
+ }
19
+ export interface GeneratedAPI {
20
+ /** Main routes file */
21
+ routes: string;
22
+ /** Validation schemas (Zod) */
23
+ validation?: string;
24
+ /** Error types */
25
+ errors?: string;
26
+ /** OpenAPI schema (if enabled) */
27
+ openapi?: string;
28
+ }
29
+ export interface GeneratedRoute {
30
+ /** HTTP method */
31
+ method: 'get' | 'post' | 'put' | 'patch' | 'delete';
32
+ /** Route path (e.g., '/users/:id') */
33
+ path: string;
34
+ /** Handler name */
35
+ handlerName: string;
36
+ /** Operation name */
37
+ operationName: string;
38
+ /** Effects used by this route */
39
+ effects: EffectType[];
40
+ /** Whether auth is required */
41
+ requiresAuth: boolean;
42
+ /** Input parameters */
43
+ parameters: APIParameter[];
44
+ /** Permission check */
45
+ check?: string;
46
+ /** Rate limit */
47
+ rateLimit?: string;
48
+ }
49
+ export declare class KappaAPIGenerator {
50
+ private framework;
51
+ private provenance;
52
+ private validation;
53
+ private errorTypes;
54
+ private basePath;
55
+ private authMiddleware;
56
+ private openapi;
57
+ constructor(options?: APIGeneratorOptions);
58
+ /**
59
+ * Generate API code from API blocks
60
+ */
61
+ generate(apis: APIBlock[]): GeneratedAPI;
62
+ /**
63
+ * Extract all routes from API blocks
64
+ */
65
+ extractRoutes(apis: APIBlock[]): GeneratedRoute[];
66
+ private operationToRoute;
67
+ private crudToRoutes;
68
+ private inferMethod;
69
+ private generateRoutes;
70
+ private generateHonoRoutes;
71
+ private generateHonoRoute;
72
+ private generateExpressRoutes;
73
+ private generateExpressRoute;
74
+ private generateTRPCRoutes;
75
+ private generateTRPCProcedure;
76
+ private generateValidation;
77
+ private generateValidationSchema;
78
+ private fieldTypeToZod;
79
+ private generateErrors;
80
+ private inferErrorStatus;
81
+ private generateOpenAPI;
82
+ private toKebabCase;
83
+ private toPascalCase;
84
+ private toSentenceCase;
85
+ }
86
+ /**
87
+ * Generate API code from Kappa API blocks
88
+ */
89
+ export declare function generateAPI(apis: APIBlock[], options?: APIGeneratorOptions): GeneratedAPI;