@a3t/rapid-schema 0.1.6 → 0.1.7

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/dist/index.d.ts CHANGED
@@ -103,6 +103,17 @@ export interface AgentDefinition {
103
103
  installCmd?: string;
104
104
  /** Additional CLI arguments */
105
105
  args?: string[];
106
+ /**
107
+ * CLI argument pattern for injecting system prompts at runtime.
108
+ * Use {prompt} as placeholder for the prompt content.
109
+ * Example: "--append-system-prompt {prompt}" for Claude
110
+ */
111
+ systemPromptArg?: string;
112
+ /**
113
+ * Whether this agent reads instruction files from the filesystem automatically.
114
+ * If true, RAPID will ensure AGENTS.md exists with methodology.
115
+ */
116
+ readsInstructionFiles?: boolean;
106
117
  }
107
118
  /**
108
119
  * Context file generation and management
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,gDAAgD;IAChD,OAAO,EAAE,KAAK,CAAC;IAEf,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,wCAAwC;IACxC,SAAS,CAAC,EAAE,eAAe,CAAC;IAE5B,sCAAsC;IACtC,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,6BAA6B;IAC7B,MAAM,EAAE,YAAY,CAAC;IAErB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,kDAAkD;IAClD,GAAG,CAAC,EAAE,SAAS,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,iEAAiE;IACjE,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,KAAK,CAAC;IAEzC,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/B,iCAAiC;IACjC,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,qDAAqD;IACrD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB,oEAAoE;IACpE,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAEhB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,GAAG,EAAE,MAAM,CAAC;IAEZ,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,yDAAyD;IACzD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6CAA6C;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAE1B,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B,+CAA+C;IAC/C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,8CAA8C,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,cAAc,QAAQ,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,WAa5B,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,4BAA4B;AAC5B,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAiMxD;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,2CAA2C,CAAC;AAEtE;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,OAAO,EAAE,KAAK;IACd,MAAM,EAAE;QACN,OAAO,EAAE,QAAQ;QACjB,SAAS,EAAE;YACT,MAAM,EAAE;gBACN,GAAG,EAAE,QAAQ;gBACb,eAAe,EAAE,WAAW;gBAC5B,OAAO,EAAE,CAAC,mBAAmB,CAAC;gBAC9B,UAAU,EAAE,0CAA0C;aACvD;SACF;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,4BAA4B;AAC5B,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AA8MxD;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,2CAA2C,CAAC;AAEtE;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,OAAO,EAAE,KAAK;IACd,MAAM,EAAE;QACN,OAAO,EAAE,QAAQ;QACjB,SAAS,EAAE;YACT,MAAM,EAAE;gBACN,GAAG,EAAE,QAAQ;gBACb,eAAe,EAAE,WAAW;gBAC5B,OAAO,EAAE,CAAC,mBAAmB,CAAC;gBAC9B,UAAU,EAAE,0CAA0C;aACvD;SACF;KACF;CACF,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tests for @a3t/rapid-schema - JSON schema and TypeScript types
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,226 @@
1
+ /**
2
+ * Tests for @a3t/rapid-schema - JSON schema and TypeScript types
3
+ */
4
+ import { describe, it, expect } from 'vitest';
5
+ import { schema, SCHEMA_URL, SCHEMA_VERSION, DEFAULT_CONFIG } from './index.js';
6
+ describe('@a3t/rapid-schema', () => {
7
+ describe('schema export', () => {
8
+ it('should export JSON schema', () => {
9
+ expect(schema).toBeDefined();
10
+ expect(schema.$schema).toBe('http://json-schema.org/draft-07/schema#');
11
+ expect(schema.title).toBe('RAPID Configuration');
12
+ });
13
+ it('should have required properties in schema', () => {
14
+ expect(schema.required).toContain('version');
15
+ expect(schema.required).toContain('agents');
16
+ });
17
+ it('should define version enum', () => {
18
+ expect(schema.properties?.version?.enum).toContain('1.0');
19
+ });
20
+ });
21
+ describe('constants', () => {
22
+ it('should export SCHEMA_URL', () => {
23
+ expect(SCHEMA_URL).toBe('https://getrapid.dev/schema/v1/rapid.json');
24
+ });
25
+ it('should export SCHEMA_VERSION', () => {
26
+ expect(SCHEMA_VERSION).toBe('1.0');
27
+ });
28
+ });
29
+ describe('DEFAULT_CONFIG', () => {
30
+ it('should be a valid RapidConfig', () => {
31
+ expect(DEFAULT_CONFIG.version).toBe('1.0');
32
+ expect(DEFAULT_CONFIG.agents).toBeDefined();
33
+ expect(DEFAULT_CONFIG.agents.default).toBe('claude');
34
+ expect(DEFAULT_CONFIG.agents.available.claude).toBeDefined();
35
+ });
36
+ it('should have claude as default agent with proper config', () => {
37
+ const claude = DEFAULT_CONFIG.agents.available.claude;
38
+ expect(claude).toBeDefined();
39
+ expect(claude.cli).toBe('claude');
40
+ expect(claude.instructionFile).toBe('CLAUDE.md');
41
+ expect(claude.envVars).toContain('ANTHROPIC_API_KEY');
42
+ expect(claude.installCmd).toContain('npm install');
43
+ });
44
+ });
45
+ describe('TypeScript types', () => {
46
+ it('should allow valid RapidConfig', () => {
47
+ const config = {
48
+ version: '1.0',
49
+ agents: {
50
+ default: 'claude',
51
+ available: {
52
+ claude: { cli: 'claude' },
53
+ },
54
+ },
55
+ };
56
+ expect(config.version).toBe('1.0');
57
+ });
58
+ it('should allow optional properties', () => {
59
+ const config = {
60
+ version: '1.0',
61
+ name: 'my-project',
62
+ agents: {
63
+ default: 'claude',
64
+ available: {
65
+ claude: { cli: 'claude' },
66
+ },
67
+ },
68
+ container: {
69
+ devcontainer: '.devcontainer/devcontainer.json',
70
+ autoStart: true,
71
+ },
72
+ secrets: {
73
+ provider: '1password',
74
+ vault: 'Development',
75
+ },
76
+ context: {
77
+ files: ['README.md'],
78
+ generateAgentFiles: true,
79
+ },
80
+ mcp: {
81
+ configFile: '.mcp.json',
82
+ servers: {},
83
+ },
84
+ };
85
+ expect(config.name).toBe('my-project');
86
+ expect(config.container?.autoStart).toBe(true);
87
+ expect(config.secrets?.provider).toBe('1password');
88
+ });
89
+ it('should type ContainerConfig correctly', () => {
90
+ const container = {
91
+ devcontainer: '.devcontainer/devcontainer.json',
92
+ compose: 'docker-compose.yml',
93
+ autoStart: false,
94
+ buildArgs: { NODE_VERSION: '20' },
95
+ };
96
+ expect(container.buildArgs?.NODE_VERSION).toBe('20');
97
+ });
98
+ it('should type SecretsConfig correctly', () => {
99
+ const secrets = {
100
+ provider: '1password',
101
+ vault: 'Development',
102
+ items: {
103
+ API_KEY: 'op://Development/App/API_KEY',
104
+ },
105
+ envrc: {
106
+ generate: true,
107
+ path: '.envrc',
108
+ includeLocal: true,
109
+ },
110
+ dotenv: {
111
+ enabled: false,
112
+ files: ['.env', '.env.local'],
113
+ warn: true,
114
+ },
115
+ };
116
+ expect(secrets.provider).toBe('1password');
117
+ expect(secrets.items?.API_KEY).toContain('op://');
118
+ });
119
+ it('should type AgentsConfig correctly', () => {
120
+ const agents = {
121
+ default: 'opencode',
122
+ available: {
123
+ opencode: {
124
+ cli: 'opencode',
125
+ instructionFile: 'AGENTS.md',
126
+ envVars: ['ANTHROPIC_API_KEY'],
127
+ },
128
+ aider: {
129
+ cli: 'aider',
130
+ args: ['--model', 'gpt-4'],
131
+ installCmd: 'pip install aider-chat',
132
+ },
133
+ },
134
+ };
135
+ expect(agents.available.opencode.cli).toBe('opencode');
136
+ expect(agents.available.aider.args).toContain('--model');
137
+ });
138
+ it('should type AgentDefinition correctly', () => {
139
+ const agent = {
140
+ cli: 'claude',
141
+ instructionFile: 'CLAUDE.md',
142
+ envVars: ['ANTHROPIC_API_KEY'],
143
+ installCmd: 'npm install -g @anthropic-ai/claude-code',
144
+ args: ['--verbose'],
145
+ };
146
+ expect(agent.cli).toBe('claude');
147
+ expect(agent.envVars).toHaveLength(1);
148
+ });
149
+ it('should type ContextConfig correctly', () => {
150
+ const context = {
151
+ files: ['README.md', 'CONTRIBUTING.md'],
152
+ dirs: ['docs/', 'guides/'],
153
+ exclude: ['node_modules/', '*.log'],
154
+ generateAgentFiles: true,
155
+ templateDir: 'templates/',
156
+ preserve: ['CLAUDE.md'],
157
+ };
158
+ expect(context.files).toHaveLength(2);
159
+ expect(context.exclude).toContain('node_modules/');
160
+ });
161
+ it('should type McpConfig correctly', () => {
162
+ const mcp = {
163
+ configFile: '.mcp.json',
164
+ servers: {
165
+ context7: {
166
+ enabled: true,
167
+ type: 'remote',
168
+ url: 'https://mcp.context7.com/mcp',
169
+ headers: { 'X-API-Key': '${API_KEY}' },
170
+ },
171
+ filesystem: {
172
+ enabled: true,
173
+ type: 'stdio',
174
+ command: 'npx',
175
+ args: ['-y', '@modelcontextprotocol/server-filesystem'],
176
+ env: { HOME: '/home/user' },
177
+ },
178
+ },
179
+ };
180
+ expect(mcp.servers?.context7?.type).toBe('remote');
181
+ expect(mcp.servers?.filesystem?.command).toBe('npx');
182
+ });
183
+ it('should type McpServerConfig correctly', () => {
184
+ const remoteServer = {
185
+ enabled: true,
186
+ type: 'remote',
187
+ url: 'https://example.com/mcp',
188
+ headers: { Authorization: 'Bearer ${TOKEN}' },
189
+ };
190
+ const stdioServer = {
191
+ enabled: true,
192
+ type: 'stdio',
193
+ command: 'node',
194
+ args: ['server.js'],
195
+ env: { DEBUG: 'true' },
196
+ };
197
+ expect(remoteServer.type).toBe('remote');
198
+ expect(stdioServer.type).toBe('stdio');
199
+ });
200
+ });
201
+ describe('schema validation structure', () => {
202
+ it('should define agents schema correctly', () => {
203
+ // Agents uses $ref, check definitions instead
204
+ const agentsDefinition = schema.definitions?.AgentsConfig;
205
+ expect(agentsDefinition).toBeDefined();
206
+ expect(agentsDefinition?.required).toContain('default');
207
+ expect(agentsDefinition?.required).toContain('available');
208
+ });
209
+ it('should define secrets provider enum', () => {
210
+ // Secrets uses $ref, check definitions instead
211
+ const secretsDefinition = schema.definitions?.SecretsConfig;
212
+ const providerEnum = secretsDefinition?.properties?.provider?.enum;
213
+ expect(providerEnum).toContain('1password');
214
+ expect(providerEnum).toContain('vault');
215
+ expect(providerEnum).toContain('env');
216
+ });
217
+ it('should define mcp server config', () => {
218
+ // MCP uses $ref, check definitions instead
219
+ const mcpServerDefinition = schema.definitions
220
+ ?.McpServerConfig;
221
+ expect(mcpServerDefinition).toBeDefined();
222
+ expect(mcpServerDefinition?.properties?.enabled?.type).toBe('boolean');
223
+ });
224
+ });
225
+ });
226
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@a3t/rapid-schema",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "JSON schema and TypeScript types for RAPID configuration",
5
5
  "license": "MIT",
6
6
  "author": "Steve Rude <steve@rude.la>",
@@ -43,7 +43,7 @@
43
43
  "build": "tsc",
44
44
  "dev": "tsc --watch",
45
45
  "typecheck": "tsc --noEmit",
46
- "test": "echo 'No tests yet'",
46
+ "test": "vitest run",
47
47
  "clean": "rm -rf dist .turbo"
48
48
  }
49
49
  }