@cardor/agent-harness-kit 0.1.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 (111) hide show
  1. package/README.md +218 -0
  2. package/bin/ahk.js +2 -0
  3. package/dist/cli.d.ts +2 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +113 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/commands/build.d.ts +6 -0
  8. package/dist/commands/build.d.ts.map +1 -0
  9. package/dist/commands/build.js +39 -0
  10. package/dist/commands/build.js.map +1 -0
  11. package/dist/commands/export.d.ts +8 -0
  12. package/dist/commands/export.d.ts.map +1 -0
  13. package/dist/commands/export.js +33 -0
  14. package/dist/commands/export.js.map +1 -0
  15. package/dist/commands/health.d.ts +2 -0
  16. package/dist/commands/health.d.ts.map +1 -0
  17. package/dist/commands/health.js +38 -0
  18. package/dist/commands/health.js.map +1 -0
  19. package/dist/commands/init-helpers.d.ts +9 -0
  20. package/dist/commands/init-helpers.d.ts.map +1 -0
  21. package/dist/commands/init-helpers.js +40 -0
  22. package/dist/commands/init-helpers.js.map +1 -0
  23. package/dist/commands/init.d.ts +9 -0
  24. package/dist/commands/init.d.ts.map +1 -0
  25. package/dist/commands/init.js +202 -0
  26. package/dist/commands/init.js.map +1 -0
  27. package/dist/commands/migrate.d.ts +6 -0
  28. package/dist/commands/migrate.d.ts.map +1 -0
  29. package/dist/commands/migrate.js +45 -0
  30. package/dist/commands/migrate.js.map +1 -0
  31. package/dist/commands/serve.d.ts +6 -0
  32. package/dist/commands/serve.d.ts.map +1 -0
  33. package/dist/commands/serve.js +13 -0
  34. package/dist/commands/serve.js.map +1 -0
  35. package/dist/commands/status.d.ts +6 -0
  36. package/dist/commands/status.d.ts.map +1 -0
  37. package/dist/commands/status.js +71 -0
  38. package/dist/commands/status.js.map +1 -0
  39. package/dist/commands/sync.d.ts +7 -0
  40. package/dist/commands/sync.d.ts.map +1 -0
  41. package/dist/commands/sync.js +57 -0
  42. package/dist/commands/sync.js.map +1 -0
  43. package/dist/commands/task/add.d.ts +2 -0
  44. package/dist/commands/task/add.d.ts.map +1 -0
  45. package/dist/commands/task/add.js +59 -0
  46. package/dist/commands/task/add.js.map +1 -0
  47. package/dist/commands/task/done.d.ts +2 -0
  48. package/dist/commands/task/done.d.ts.map +1 -0
  49. package/dist/commands/task/done.js +45 -0
  50. package/dist/commands/task/done.js.map +1 -0
  51. package/dist/commands/task/index.d.ts +4 -0
  52. package/dist/commands/task/index.d.ts.map +1 -0
  53. package/dist/commands/task/index.js +4 -0
  54. package/dist/commands/task/index.js.map +1 -0
  55. package/dist/commands/task/list.d.ts +7 -0
  56. package/dist/commands/task/list.d.ts.map +1 -0
  57. package/dist/commands/task/list.js +42 -0
  58. package/dist/commands/task/list.js.map +1 -0
  59. package/dist/core/config.d.ts +5 -0
  60. package/dist/core/config.d.ts.map +1 -0
  61. package/dist/core/config.js +77 -0
  62. package/dist/core/config.js.map +1 -0
  63. package/dist/core/db.d.ts +56 -0
  64. package/dist/core/db.d.ts.map +1 -0
  65. package/dist/core/db.js +344 -0
  66. package/dist/core/db.js.map +1 -0
  67. package/dist/core/materializer/claude-code.d.ts +8 -0
  68. package/dist/core/materializer/claude-code.d.ts.map +1 -0
  69. package/dist/core/materializer/claude-code.js +83 -0
  70. package/dist/core/materializer/claude-code.js.map +1 -0
  71. package/dist/core/materializer/index.d.ts +8 -0
  72. package/dist/core/materializer/index.d.ts.map +1 -0
  73. package/dist/core/materializer/index.js +13 -0
  74. package/dist/core/materializer/index.js.map +1 -0
  75. package/dist/core/materializer/opencode.d.ts +8 -0
  76. package/dist/core/materializer/opencode.d.ts.map +1 -0
  77. package/dist/core/materializer/opencode.js +76 -0
  78. package/dist/core/materializer/opencode.js.map +1 -0
  79. package/dist/core/materializer/templates.d.ts +25 -0
  80. package/dist/core/materializer/templates.d.ts.map +1 -0
  81. package/dist/core/materializer/templates.js +319 -0
  82. package/dist/core/materializer/templates.js.map +1 -0
  83. package/dist/core/mcp-server.d.ts +3 -0
  84. package/dist/core/mcp-server.d.ts.map +1 -0
  85. package/dist/core/mcp-server.js +264 -0
  86. package/dist/core/mcp-server.js.map +1 -0
  87. package/dist/core/sqlite-adapter.d.ts +14 -0
  88. package/dist/core/sqlite-adapter.d.ts.map +1 -0
  89. package/dist/core/sqlite-adapter.js +20 -0
  90. package/dist/core/sqlite-adapter.js.map +1 -0
  91. package/dist/index.d.ts +3 -0
  92. package/dist/index.d.ts.map +1 -0
  93. package/dist/index.js +2 -0
  94. package/dist/index.js.map +1 -0
  95. package/dist/tests/db.test.d.ts +2 -0
  96. package/dist/tests/db.test.d.ts.map +1 -0
  97. package/dist/tests/db.test.js +106 -0
  98. package/dist/tests/db.test.js.map +1 -0
  99. package/dist/tests/slugify.test.d.ts +2 -0
  100. package/dist/tests/slugify.test.d.ts.map +1 -0
  101. package/dist/tests/slugify.test.js +26 -0
  102. package/dist/tests/slugify.test.js.map +1 -0
  103. package/dist/tests/templates.test.d.ts +2 -0
  104. package/dist/tests/templates.test.d.ts.map +1 -0
  105. package/dist/tests/templates.test.js +64 -0
  106. package/dist/tests/templates.test.js.map +1 -0
  107. package/dist/types.d.ts +141 -0
  108. package/dist/types.d.ts.map +1 -0
  109. package/dist/types.js +3 -0
  110. package/dist/types.js.map +1 -0
  111. package/package.json +56 -0
@@ -0,0 +1,141 @@
1
+ export type Provider = 'claude-code' | 'opencode';
2
+ export interface ProjectConfig {
3
+ name: string;
4
+ description: string;
5
+ docsPath: string;
6
+ agentsMd?: string | null;
7
+ }
8
+ export interface AgentConfig {
9
+ instructionsPath: string | null;
10
+ context?: string;
11
+ allowedPaths?: string[];
12
+ writablePaths?: string[];
13
+ }
14
+ export interface CustomAgentConfig {
15
+ name: string;
16
+ instructionsPath: string;
17
+ }
18
+ export interface AgentsConfig {
19
+ lead: AgentConfig;
20
+ explorer: AgentConfig;
21
+ builder: AgentConfig;
22
+ reviewer: AgentConfig;
23
+ custom?: CustomAgentConfig[];
24
+ }
25
+ export type TasksAdapter = 'local' | 'jira' | 'linear' | 'mcp';
26
+ export interface ActionSections {
27
+ toolsUsed: boolean;
28
+ filesModified: boolean;
29
+ result: boolean;
30
+ blockers: boolean;
31
+ nextSteps: boolean;
32
+ }
33
+ export interface StorageConfig {
34
+ dir: string;
35
+ dbPath: string;
36
+ tasks: {
37
+ adapter: TasksAdapter;
38
+ [key: string]: unknown;
39
+ };
40
+ sections: ActionSections;
41
+ markdownFallback: {
42
+ enabled: boolean;
43
+ path: string;
44
+ };
45
+ }
46
+ export interface HealthConfig {
47
+ scriptPath: string;
48
+ required: boolean;
49
+ }
50
+ export interface ToolsConfig {
51
+ mcp: {
52
+ enabled: boolean;
53
+ port: number;
54
+ };
55
+ scripts: {
56
+ enabled: boolean;
57
+ outputDir: string;
58
+ };
59
+ }
60
+ export interface HarnessConfig {
61
+ project: ProjectConfig;
62
+ provider: Provider;
63
+ agents: AgentsConfig;
64
+ storage: StorageConfig;
65
+ health: HealthConfig;
66
+ tools: ToolsConfig;
67
+ }
68
+ export type TaskStatus = 'pending' | 'in_progress' | 'done' | 'blocked';
69
+ export interface TaskRow {
70
+ id: number;
71
+ slug: string;
72
+ title: string;
73
+ description: string | null;
74
+ status: TaskStatus;
75
+ assigned_to: string | null;
76
+ created_at: string;
77
+ started_at: string | null;
78
+ completed_at: string | null;
79
+ }
80
+ export interface TaskAcceptanceRow {
81
+ id: number;
82
+ task_id: number;
83
+ criterion: string;
84
+ met: number;
85
+ }
86
+ export type AgentName = 'lead' | 'explorer' | 'builder' | 'reviewer' | `custom:${string}`;
87
+ export type ActionStatus = 'in_progress' | 'completed' | 'blocked';
88
+ export interface ActionRow {
89
+ id: string;
90
+ task_id: number;
91
+ agent: AgentName;
92
+ status: ActionStatus;
93
+ created_at: string;
94
+ completed_at: string | null;
95
+ summary: string | null;
96
+ }
97
+ export interface ActionSectionRow {
98
+ id: number;
99
+ action_id: string;
100
+ section_type: string;
101
+ content: string;
102
+ created_at: string;
103
+ }
104
+ export interface ActionFileRow {
105
+ id: number;
106
+ action_id: string;
107
+ file_path: string;
108
+ operation: 'read' | 'created' | 'modified' | 'deleted';
109
+ notes: string | null;
110
+ }
111
+ export interface ActionToolRow {
112
+ id: number;
113
+ action_id: string;
114
+ tool_name: string;
115
+ args_json: string | null;
116
+ result_summary: string | null;
117
+ called_at: string;
118
+ }
119
+ export interface TaskSeed {
120
+ slug: string;
121
+ title: string;
122
+ description?: string;
123
+ acceptance?: string[];
124
+ }
125
+ export interface McpContent {
126
+ type: 'text';
127
+ text: string;
128
+ }
129
+ export interface McpToolResult {
130
+ content: McpContent[];
131
+ isError?: boolean;
132
+ }
133
+ export interface ScaffoldOptions {
134
+ cwd: string;
135
+ firstTask?: {
136
+ title: string;
137
+ description: string;
138
+ acceptance: string[];
139
+ };
140
+ }
141
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,3 @@
1
+ // ─── Provider ─────────────────────────────────────────────────────────────────
2
+ export {};
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,iFAAiF"}
package/package.json ADDED
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "@cardor/agent-harness-kit",
3
+ "version": "0.1.0",
4
+ "description": "CLI scaffolding for multi-agent harness systems",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ }
13
+ },
14
+ "bin": {
15
+ "ahk": "./bin/ahk.js"
16
+ },
17
+ "scripts": {
18
+ "build": "tsc",
19
+ "dev": "tsc --watch",
20
+ "test": "node --test dist/tests/*.test.js",
21
+ "prepublishOnly": "npm run build && npm test",
22
+ "prepare": "husky"
23
+ },
24
+ "files": [
25
+ "bin",
26
+ "dist"
27
+ ],
28
+ "keywords": [
29
+ "agents",
30
+ "ai",
31
+ "harness",
32
+ "claude",
33
+ "mcp",
34
+ "scaffolding"
35
+ ],
36
+ "author": "",
37
+ "license": "MIT",
38
+ "dependencies": {
39
+ "@clack/prompts": "^0.9.0",
40
+ "@modelcontextprotocol/sdk": "^1.10.2",
41
+ "cli-table3": "^0.6.5",
42
+ "commander": "^12.1.0",
43
+ "jiti": "^2.4.2",
44
+ "picocolors": "^1.1.1"
45
+ },
46
+ "devDependencies": {
47
+ "@commitlint/cli": "^20.5.3",
48
+ "@commitlint/config-conventional": "^20.5.3",
49
+ "@types/node": "^22.19.17",
50
+ "husky": "^9.1.7",
51
+ "typescript": "^5.5.0"
52
+ },
53
+ "engines": {
54
+ "node": ">=20.0.0"
55
+ }
56
+ }