@specverse/engines 5.1.0 → 5.2.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.
- package/assets/prompts/core/standard/default/analyse.prompt.yaml +5 -5
- package/assets/prompts/core/standard/default/app-demo.prompt.yaml +21 -1
- package/assets/prompts/core/standard/default/behavior.prompt.yaml +150 -0
- package/assets/prompts/core/standard/default/create.prompt.yaml +3 -3
- package/assets/prompts/core/standard/default/materialise.prompt.yaml +804 -774
- package/assets/prompts/core/standard/default/realize.prompt.yaml +581 -544
- package/assets/prompts/core/standard/v9/analyse.prompt.yaml +5 -5
- package/assets/prompts/core/standard/v9/app-demo.prompt.yaml +233 -0
- package/assets/prompts/core/standard/v9/behavior.prompt.yaml +33 -9
- package/assets/prompts/core/standard/v9/create.prompt.yaml +3 -3
- package/assets/prompts/core/standard/v9/materialise.prompt.yaml +804 -774
- package/assets/prompts/core/standard/v9/realize.prompt.yaml +581 -544
- package/dist/libs/instance-factories/cli/templates/commander/command-generator.js +184 -0
- package/dist/libs/instance-factories/tools/templates/mcp/mcp-server-generator.js +289 -15
- package/libs/instance-factories/cli/templates/commander/command-generator.ts +184 -0
- package/libs/instance-factories/tools/templates/mcp/mcp-server-generator.ts +322 -16
- package/package.json +1 -1
- package/assets/prompts/core/CHANGELOG.md +0 -158
- package/assets/prompts/core/MIGRATION-v6-to-v7.md +0 -379
- package/assets/prompts/core/base-terminal-prompt.md +0 -201
- package/assets/prompts/core/examples/example-usage.ts +0 -140
- package/assets/prompts/core/schemas/prompt.schema.json +0 -309
- package/assets/prompts/core/schemas/prompt.schema.yaml +0 -229
- package/assets/prompts/core/standard/archive/v1/analyse.prompt.yaml +0 -259
- package/assets/prompts/core/standard/archive/v1/create.prompt.yaml +0 -302
- package/assets/prompts/core/standard/archive/v1/materialise.prompt.yaml +0 -328
- package/assets/prompts/core/standard/archive/v1/realize.prompt.yaml +0 -606
- package/assets/prompts/core/standard/archive/v2/README.md +0 -110
- package/assets/prompts/core/standard/archive/v2/analyse.prompt.yaml +0 -151
- package/assets/prompts/core/standard/archive/v2/create.prompt.yaml +0 -151
- package/assets/prompts/core/standard/archive/v2/materialise.prompt.yaml +0 -132
- package/assets/prompts/core/standard/archive/v2/realize.prompt.yaml +0 -147
- package/assets/prompts/core/standard/archive/v3/README.md +0 -279
- package/assets/prompts/core/standard/archive/v3/analyse.prompt.yaml +0 -309
- package/assets/prompts/core/standard/archive/v3/create.prompt.yaml +0 -351
- package/assets/prompts/core/standard/archive/v3/materialise.prompt.yaml +0 -247
- package/assets/prompts/core/standard/archive/v3/realize.prompt.yaml +0 -344
- package/assets/prompts/core/standard/archive/v4/README.md +0 -79
- package/assets/prompts/core/standard/archive/v4/analyse.prompt.yaml +0 -204
- package/assets/prompts/core/standard/archive/v4/create.prompt.yaml +0 -185
- package/assets/prompts/core/standard/archive/v5/README.md +0 -224
- package/assets/prompts/core/standard/archive/v5/analyse.prompt.yaml +0 -209
- package/assets/prompts/core/standard/archive/v5/create.prompt.yaml +0 -225
- package/assets/prompts/core/standard/archive/v5/materialise.prompt.yaml +0 -242
- package/assets/prompts/core/standard/archive/v5/realize.prompt.yaml +0 -336
- package/assets/prompts/core/standard/archive/v6/README.md +0 -187
- package/assets/prompts/core/standard/archive/v6/analyse.prompt.yaml +0 -219
- package/assets/prompts/core/standard/archive/v6/create.prompt.yaml +0 -180
- package/assets/prompts/core/standard/archive/v6/materialise.prompt.yaml +0 -203
- package/assets/prompts/core/standard/archive/v6/realize.prompt.yaml +0 -215
- package/assets/prompts/core/standard/archive/v7/analyse.prompt.nick.yaml +0 -144
- package/assets/prompts/core/standard/archive/v7/analyse.prompt.old.yaml +0 -146
- package/assets/prompts/core/standard/archive/v7/analyse.prompt.yaml +0 -129
- package/assets/prompts/core/standard/archive/v7/create.prompt.yaml +0 -146
- package/assets/prompts/core/standard/archive/v7/materialise.prompt.yaml +0 -297
- package/assets/prompts/core/standard/archive/v7/realize.prompt.yaml +0 -294
- package/assets/prompts/core/standard/archive/v8/README.md +0 -400
- package/assets/prompts/core/standard/archive/v8/analyse.prompt.yaml +0 -185
- package/assets/prompts/core/standard/archive/v8/create.prompt.yaml +0 -203
- package/assets/prompts/core/standard/archive/v8/materialise.prompt.yaml +0 -297
- package/assets/prompts/core/standard/archive/v8/realize.prompt.yaml +0 -294
- package/assets/prompts/templates/api-orchestrator-template.yaml +0 -188
- package/assets/prompts/templates/claude-integration-template.md +0 -121
- package/assets/prompts/templates/terminal-prompt-template.md +0 -97
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
# SpecVerse Terminal Quick-Start Guide
|
|
2
|
-
|
|
3
|
-
**For**: LLM Terminal Users (ChatGPT, Claude, Cursor, etc.)
|
|
4
|
-
**Purpose**: Use SpecVerse standard prompts for specification generation and implementation
|
|
5
|
-
**Version**: 7.0.0
|
|
6
|
-
|
|
7
|
-
This guide shows how to use the **standard SpecVerse prompts** for terminal/chat-based AI interactions.
|
|
8
|
-
|
|
9
|
-
## Available Standard Prompts (v7)
|
|
10
|
-
|
|
11
|
-
SpecVerse provides four standard prompts with enhanced capabilities:
|
|
12
|
-
|
|
13
|
-
1. **`create`** - Generate SpecVerse specifications from natural language requirements
|
|
14
|
-
2. **`analyse`** - Extract specifications from existing codebases (reverse engineering)
|
|
15
|
-
3. **`materialise`** - Generate complete implementations from specifications
|
|
16
|
-
4. **`realize`** - Generate deployment configurations (environment-adaptive)
|
|
17
|
-
|
|
18
|
-
Located in: `prompts/core/standard/v7/`
|
|
19
|
-
|
|
20
|
-
## Quick Start: Using the Create Prompt
|
|
21
|
-
|
|
22
|
-
The **create** prompt is your starting point for new projects:
|
|
23
|
-
|
|
24
|
-
### Step 1: View the Full Prompt
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
cat prompts/core/standard/v7/create.prompt.yaml
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### Step 2: Terminal-Ready Version
|
|
31
|
-
|
|
32
|
-
Copy this complete prompt into your LLM:
|
|
33
|
-
|
|
34
|
-
```
|
|
35
|
-
You are a SpecVerse v3.2.0 specification creator that generates complete, well-structured specifications from natural language requirements.
|
|
36
|
-
|
|
37
|
-
IMPORTANT: First, read these reference files if available:
|
|
38
|
-
- node_modules/@specverse/lang/schema/SPECVERSE-SCHEMA-AI.yaml (AI guidance and examples)
|
|
39
|
-
- node_modules/@specverse/lang/schema/MINIMAL-SYNTAX-REFERENCE.specly (complete syntax example)
|
|
40
|
-
|
|
41
|
-
Your task is to:
|
|
42
|
-
1. Analyze natural language requirements
|
|
43
|
-
2. Extract core business entities and their relationships
|
|
44
|
-
3. Generate complete SpecVerse specifications with:
|
|
45
|
-
- Models with attributes and behaviors
|
|
46
|
-
- Controllers with CURED operations
|
|
47
|
-
- Services with business logic
|
|
48
|
-
- Views for user interfaces
|
|
49
|
-
- Events for system communication
|
|
50
|
-
- Deployments for infrastructure
|
|
51
|
-
- Manifests for implementation details
|
|
52
|
-
|
|
53
|
-
Use SpecVerse v3.2.0 syntax:
|
|
54
|
-
- Attributes: name: Type modifiers
|
|
55
|
-
- Types: String, Integer, UUID, Email, DateTime, Boolean, Money, Text
|
|
56
|
-
- Modifiers: required, optional, unique, auto, searchable, indexed, default=value
|
|
57
|
-
- Relations: hasMany, belongsTo, references
|
|
58
|
-
|
|
59
|
-
Generate a SpecVerse specification from these requirements:
|
|
60
|
-
|
|
61
|
-
Requirements: [YOUR REQUIREMENTS HERE]
|
|
62
|
-
Project Type: [web-app/api/full-stack]
|
|
63
|
-
Scale: [personal/startup/business/enterprise]
|
|
64
|
-
Primary Technology: [nextjs/nestjs/express/auto]
|
|
65
|
-
|
|
66
|
-
Please generate:
|
|
67
|
-
1. Complete component specification with all models and relationships
|
|
68
|
-
2. Implementation manifest with technology choices
|
|
69
|
-
3. Deployment specification for the target environment
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
## Workflow Example: From Idea to Implementation
|
|
73
|
-
|
|
74
|
-
### 1. Create Specification
|
|
75
|
-
```
|
|
76
|
-
Requirements: I need a guesthouse booking system where I can manage multiple properties, each with rooms that guests can book. Need to see bookings on a timeline and prevent double-booking.
|
|
77
|
-
Project Type: full-stack
|
|
78
|
-
Scale: business
|
|
79
|
-
Primary Technology: nextjs
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### 2. Generate Implementation (Materialise)
|
|
83
|
-
After getting your specification, use the materialise prompt:
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
Generate a complete implementation from this SpecVerse specification:
|
|
87
|
-
|
|
88
|
-
[PASTE YOUR SPECIFICATION HERE]
|
|
89
|
-
|
|
90
|
-
Target Framework: nextjs
|
|
91
|
-
Implementation Style: modern
|
|
92
|
-
Data Consistency Level: strict
|
|
93
|
-
Error Handling Strategy: comprehensive
|
|
94
|
-
|
|
95
|
-
Generate:
|
|
96
|
-
1. Complete project structure
|
|
97
|
-
2. Database schema with migrations
|
|
98
|
-
3. API routes with validation
|
|
99
|
-
4. React components with state management
|
|
100
|
-
5. Setup scripts (like start.sh)
|
|
101
|
-
6. Documentation
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
### 3. Generate Deployment (Realize)
|
|
105
|
-
For deployment configurations:
|
|
106
|
-
|
|
107
|
-
```
|
|
108
|
-
Generate deployment configurations from this SpecVerse specification:
|
|
109
|
-
|
|
110
|
-
[PASTE YOUR SPECIFICATION HERE]
|
|
111
|
-
|
|
112
|
-
Target Environment: [development/production/enterprise]
|
|
113
|
-
Cloud Provider: [vercel/aws/local]
|
|
114
|
-
|
|
115
|
-
For development: Generate Docker Compose and start.sh script
|
|
116
|
-
For production: Generate infrastructure as code and CI/CD pipelines
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
## Complete Workflow Commands
|
|
120
|
-
|
|
121
|
-
1. **Create** a specification from requirements
|
|
122
|
-
2. **Save** as `spec.specly`
|
|
123
|
-
3. **Materialise** into working code
|
|
124
|
-
4. **Realize** deployment configurations
|
|
125
|
-
5. **Run** with generated start scripts
|
|
126
|
-
|
|
127
|
-
## Key Improvements in v7
|
|
128
|
-
|
|
129
|
-
### Create (v7)
|
|
130
|
-
- Better validation and type safety
|
|
131
|
-
- Support for complex relationships
|
|
132
|
-
- Event-driven architecture patterns
|
|
133
|
-
- Modern deployment targets (Vercel, Netlify)
|
|
134
|
-
|
|
135
|
-
### Materialise (v7)
|
|
136
|
-
- **Data consistency focus** - Handles snake_case/camelCase mapping
|
|
137
|
-
- **Multi-layer validation** - Database, API, and frontend
|
|
138
|
-
- **Automated setup** - Generates start.sh style scripts
|
|
139
|
-
- **Error handling** - Comprehensive error patterns
|
|
140
|
-
|
|
141
|
-
### Realize (v7)
|
|
142
|
-
- **Environment-adaptive** - Only generates what's needed
|
|
143
|
-
- **Progressive enhancement** - Dev → Test → Prod → Enterprise
|
|
144
|
-
- **Local dev support** - Quick start scripts and Docker Compose
|
|
145
|
-
- **Zero-downtime** - Blue-green and canary deployments
|
|
146
|
-
|
|
147
|
-
## Environment-Specific Generation
|
|
148
|
-
|
|
149
|
-
### Development
|
|
150
|
-
- Simple Docker Compose
|
|
151
|
-
- start.sh quick-start script
|
|
152
|
-
- Hot reload configuration
|
|
153
|
-
- Basic debugging setup
|
|
154
|
-
|
|
155
|
-
### Production
|
|
156
|
-
- High availability infrastructure
|
|
157
|
-
- Monitoring and alerting
|
|
158
|
-
- Security hardening
|
|
159
|
-
- Backup and recovery
|
|
160
|
-
|
|
161
|
-
### Enterprise
|
|
162
|
-
- Multi-region deployment
|
|
163
|
-
- Compliance frameworks
|
|
164
|
-
- Advanced security
|
|
165
|
-
- Disaster recovery
|
|
166
|
-
|
|
167
|
-
## Tips for Better Results
|
|
168
|
-
|
|
169
|
-
1. **Be specific** about your requirements
|
|
170
|
-
2. **Include examples** of the data you'll work with
|
|
171
|
-
3. **Specify scale** to get appropriate architecture
|
|
172
|
-
4. **Mention constraints** like compliance or performance
|
|
173
|
-
5. **Describe user workflows** for better UX generation
|
|
174
|
-
|
|
175
|
-
## Troubleshooting Common Issues
|
|
176
|
-
|
|
177
|
-
### Data Mapping Issues
|
|
178
|
-
If you see snake_case/camelCase problems:
|
|
179
|
-
- Request "strict" data consistency level in materialise
|
|
180
|
-
- Ask for explicit data mapping functions
|
|
181
|
-
|
|
182
|
-
### Missing Bookings/Data
|
|
183
|
-
Check for:
|
|
184
|
-
- Database column name mapping (room_id vs roomId)
|
|
185
|
-
- Date format conversions (ISO vs YYYY-MM-DD)
|
|
186
|
-
- API response transformations
|
|
187
|
-
|
|
188
|
-
### Connection Issues
|
|
189
|
-
For database connections:
|
|
190
|
-
- Use environment variables in scripts
|
|
191
|
-
- Generate start.sh with explicit POSTGRES_URL
|
|
192
|
-
- Include .env.example templates
|
|
193
|
-
|
|
194
|
-
## Next Steps
|
|
195
|
-
|
|
196
|
-
1. Start with the **create** prompt for your requirements
|
|
197
|
-
2. Use **materialise** to generate implementation
|
|
198
|
-
3. Apply **realize** for deployment setup
|
|
199
|
-
4. Iterate based on your specific needs
|
|
200
|
-
|
|
201
|
-
Remember: v7 prompts are environment-aware and will adapt their output to your actual needs!
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Example usage of the SpecVerse Prompt System
|
|
3
|
-
* Demonstrates how to load and process prompts with the PromptLoader
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { promptLoader } from '../src/prompts/prompt-loader';
|
|
7
|
-
|
|
8
|
-
async function demonstratePromptUsage() {
|
|
9
|
-
console.log('SpecVerse Prompt System Demo\n');
|
|
10
|
-
|
|
11
|
-
try {
|
|
12
|
-
// 1. List all available prompts
|
|
13
|
-
console.log('📋 Available prompts:');
|
|
14
|
-
const prompts = await promptLoader.listPrompts();
|
|
15
|
-
prompts.forEach(({ path, definition }) => {
|
|
16
|
-
console.log(` - ${path}: ${definition.description}`);
|
|
17
|
-
});
|
|
18
|
-
console.log('');
|
|
19
|
-
|
|
20
|
-
// 2. Load and process the 'create' prompt
|
|
21
|
-
console.log('🔧 Processing "create" prompt...');
|
|
22
|
-
const createPrompt = await promptLoader.processPrompt(
|
|
23
|
-
'standard/create',
|
|
24
|
-
{
|
|
25
|
-
requirements: 'Build a simple blog where users can write posts with titles and content. Posts should have tags for organization.',
|
|
26
|
-
scale: 'personal',
|
|
27
|
-
preferredTech: 'nextjs'
|
|
28
|
-
}
|
|
29
|
-
);
|
|
30
|
-
|
|
31
|
-
console.log('System Prompt Preview:');
|
|
32
|
-
console.log(createPrompt.system.substring(0, 200) + '...\n');
|
|
33
|
-
|
|
34
|
-
console.log('User Prompt Preview:');
|
|
35
|
-
console.log(createPrompt.user.substring(0, 300) + '...\n');
|
|
36
|
-
|
|
37
|
-
// 3. Load and process the 'analyse' prompt
|
|
38
|
-
console.log('🔍 Processing "analyse" prompt...');
|
|
39
|
-
const analysePrompt = await promptLoader.processPrompt(
|
|
40
|
-
'standard/analyse',
|
|
41
|
-
{
|
|
42
|
-
applicationPath: '/path/to/my-app',
|
|
43
|
-
frameworkType: 'nextjs',
|
|
44
|
-
directoryStructure: 'my-app/\n├── app/\n│ └── api/\n└── package.json',
|
|
45
|
-
filesContent: '=== package.json ===\n{ "name": "my-app" }'
|
|
46
|
-
}
|
|
47
|
-
);
|
|
48
|
-
|
|
49
|
-
console.log('Analysis Prompt Ready:');
|
|
50
|
-
console.log(`- System prompt length: ${analysePrompt.system.length} chars`);
|
|
51
|
-
console.log(`- User prompt length: ${analysePrompt.user.length} chars`);
|
|
52
|
-
console.log(`- Context includes: ${Object.keys(analysePrompt.context.includes).join(', ')}\n`);
|
|
53
|
-
|
|
54
|
-
// 4. Validate a prompt
|
|
55
|
-
console.log('✅ Validating prompt structure...');
|
|
56
|
-
const prompt = await promptLoader.loadPrompt('standard/create');
|
|
57
|
-
const validation = promptLoader.validatePrompt(prompt);
|
|
58
|
-
|
|
59
|
-
console.log(`Validation result: ${validation.valid ? 'PASSED' : 'FAILED'}`);
|
|
60
|
-
if (!validation.valid) {
|
|
61
|
-
console.log('Errors:', validation.errors);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
} catch (error) {
|
|
65
|
-
console.error('Error:', error.message);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
async function exampleLLMIntegration() {
|
|
70
|
-
console.log('\n🤖 Example LLM Integration\n');
|
|
71
|
-
|
|
72
|
-
try {
|
|
73
|
-
// Simulate loading a prompt and sending to LLM
|
|
74
|
-
const prompt = await promptLoader.processPrompt(
|
|
75
|
-
'standard/create',
|
|
76
|
-
{
|
|
77
|
-
requirements: 'Create an e-commerce site with products and shopping cart',
|
|
78
|
-
scale: 'business'
|
|
79
|
-
}
|
|
80
|
-
);
|
|
81
|
-
|
|
82
|
-
// This is what you would send to an LLM provider
|
|
83
|
-
const llmRequest = {
|
|
84
|
-
messages: [
|
|
85
|
-
{ role: 'system', content: prompt.system },
|
|
86
|
-
{ role: 'user', content: prompt.user }
|
|
87
|
-
],
|
|
88
|
-
max_tokens: prompt.context.max_tokens,
|
|
89
|
-
temperature: prompt.context.temperature,
|
|
90
|
-
top_p: prompt.context.top_p
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
console.log('LLM Request Structure:');
|
|
94
|
-
console.log(`- Messages: ${llmRequest.messages.length}`);
|
|
95
|
-
console.log(`- Max tokens: ${llmRequest.max_tokens}`);
|
|
96
|
-
console.log(`- Temperature: ${llmRequest.temperature}`);
|
|
97
|
-
console.log(`- Top P: ${llmRequest.top_p}`);
|
|
98
|
-
|
|
99
|
-
// Mock LLM response
|
|
100
|
-
const mockResponse = `
|
|
101
|
-
components:
|
|
102
|
-
EcommercePlatform:
|
|
103
|
-
version: "1.0.0"
|
|
104
|
-
description: "E-commerce platform"
|
|
105
|
-
|
|
106
|
-
models:
|
|
107
|
-
Product:
|
|
108
|
-
attributes:
|
|
109
|
-
name: String required searchable
|
|
110
|
-
price: Money required
|
|
111
|
-
inventory: Integer required default=0 min=0
|
|
112
|
-
relationships:
|
|
113
|
-
category: belongsTo Category required
|
|
114
|
-
|
|
115
|
-
Category:
|
|
116
|
-
attributes:
|
|
117
|
-
name: String required unique
|
|
118
|
-
relationships:
|
|
119
|
-
products: hasMany Product
|
|
120
|
-
`;
|
|
121
|
-
|
|
122
|
-
console.log('\nMock LLM Response:');
|
|
123
|
-
console.log(mockResponse);
|
|
124
|
-
|
|
125
|
-
} catch (error) {
|
|
126
|
-
console.error('Error:', error.message);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
async function runExamples() {
|
|
131
|
-
await demonstratePromptUsage();
|
|
132
|
-
await exampleLLMIntegration();
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
// Run examples if this file is executed directly
|
|
136
|
-
if (require.main === module) {
|
|
137
|
-
runExamples().catch(console.error);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
export { demonstratePromptUsage, exampleLLMIntegration };
|
|
@@ -1,309 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$id": "https://specverse.org/schemas/prompt-v1.0.0.yaml",
|
|
3
|
-
"title": "SpecVerse Prompt Schema",
|
|
4
|
-
"description": "Schema for validating SpecVerse AI prompt definitions",
|
|
5
|
-
"type": "object",
|
|
6
|
-
"required": [
|
|
7
|
-
"name",
|
|
8
|
-
"version",
|
|
9
|
-
"description",
|
|
10
|
-
"system",
|
|
11
|
-
"user",
|
|
12
|
-
"context",
|
|
13
|
-
"validation"
|
|
14
|
-
],
|
|
15
|
-
"properties": {
|
|
16
|
-
"name": {
|
|
17
|
-
"type": "string",
|
|
18
|
-
"pattern": "^[a-z][a-z0-9-]*$",
|
|
19
|
-
"description": "Unique prompt identifier (kebab-case)"
|
|
20
|
-
},
|
|
21
|
-
"version": {
|
|
22
|
-
"type": "string",
|
|
23
|
-
"pattern": "^\\d+\\.\\d+\\.\\d+$",
|
|
24
|
-
"description": "Semantic version (e.g., 1.0.0)"
|
|
25
|
-
},
|
|
26
|
-
"description": {
|
|
27
|
-
"type": "string",
|
|
28
|
-
"maxLength": 200,
|
|
29
|
-
"description": "Brief description of prompt purpose"
|
|
30
|
-
},
|
|
31
|
-
"author": {
|
|
32
|
-
"type": "string",
|
|
33
|
-
"description": "Prompt author or team"
|
|
34
|
-
},
|
|
35
|
-
"tags": {
|
|
36
|
-
"type": "array",
|
|
37
|
-
"items": {
|
|
38
|
-
"type": "string"
|
|
39
|
-
},
|
|
40
|
-
"description": "Categorization tags"
|
|
41
|
-
},
|
|
42
|
-
"system": {
|
|
43
|
-
"type": "object",
|
|
44
|
-
"required": [
|
|
45
|
-
"role",
|
|
46
|
-
"context"
|
|
47
|
-
],
|
|
48
|
-
"properties": {
|
|
49
|
-
"role": {
|
|
50
|
-
"type": "string",
|
|
51
|
-
"description": "System role description for the LLM"
|
|
52
|
-
},
|
|
53
|
-
"context": {
|
|
54
|
-
"type": "string",
|
|
55
|
-
"description": "Required context and background"
|
|
56
|
-
},
|
|
57
|
-
"capabilities": {
|
|
58
|
-
"type": "array",
|
|
59
|
-
"items": {
|
|
60
|
-
"type": "string"
|
|
61
|
-
},
|
|
62
|
-
"description": "List of capabilities the system should demonstrate"
|
|
63
|
-
},
|
|
64
|
-
"constraints": {
|
|
65
|
-
"type": "array",
|
|
66
|
-
"items": {
|
|
67
|
-
"type": "string"
|
|
68
|
-
},
|
|
69
|
-
"description": "Limitations or rules to follow"
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
},
|
|
73
|
-
"user": {
|
|
74
|
-
"type": "object",
|
|
75
|
-
"required": [
|
|
76
|
-
"template"
|
|
77
|
-
],
|
|
78
|
-
"properties": {
|
|
79
|
-
"template": {
|
|
80
|
-
"type": "string",
|
|
81
|
-
"description": "User prompt template with {{variables}}"
|
|
82
|
-
},
|
|
83
|
-
"variables": {
|
|
84
|
-
"type": "array",
|
|
85
|
-
"items": {
|
|
86
|
-
"type": "object",
|
|
87
|
-
"required": [
|
|
88
|
-
"name",
|
|
89
|
-
"type"
|
|
90
|
-
],
|
|
91
|
-
"properties": {
|
|
92
|
-
"name": {
|
|
93
|
-
"type": "string",
|
|
94
|
-
"pattern": "^[a-z][a-zA-Z0-9]*$"
|
|
95
|
-
},
|
|
96
|
-
"type": {
|
|
97
|
-
"type": "string",
|
|
98
|
-
"enum": [
|
|
99
|
-
"string",
|
|
100
|
-
"number",
|
|
101
|
-
"boolean",
|
|
102
|
-
"object",
|
|
103
|
-
"array"
|
|
104
|
-
]
|
|
105
|
-
},
|
|
106
|
-
"required": {
|
|
107
|
-
"type": "boolean",
|
|
108
|
-
"default": false
|
|
109
|
-
},
|
|
110
|
-
"description": {
|
|
111
|
-
"type": "string"
|
|
112
|
-
},
|
|
113
|
-
"default": {
|
|
114
|
-
"description": "Default value if not provided"
|
|
115
|
-
},
|
|
116
|
-
"validation": {
|
|
117
|
-
"type": "string",
|
|
118
|
-
"description": "Validation rule or regex pattern"
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
},
|
|
125
|
-
"context": {
|
|
126
|
-
"type": "object",
|
|
127
|
-
"required": [
|
|
128
|
-
"includes"
|
|
129
|
-
],
|
|
130
|
-
"properties": {
|
|
131
|
-
"includes": {
|
|
132
|
-
"type": "array",
|
|
133
|
-
"items": {
|
|
134
|
-
"type": "object",
|
|
135
|
-
"properties": {
|
|
136
|
-
"schema": {
|
|
137
|
-
"type": "string",
|
|
138
|
-
"description": "Schema file to include"
|
|
139
|
-
},
|
|
140
|
-
"library": {
|
|
141
|
-
"type": "string",
|
|
142
|
-
"description": "Library to include"
|
|
143
|
-
},
|
|
144
|
-
"template": {
|
|
145
|
-
"type": "string",
|
|
146
|
-
"description": "Template to include"
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
},
|
|
150
|
-
"description": "Context files to include"
|
|
151
|
-
},
|
|
152
|
-
"max_tokens": {
|
|
153
|
-
"type": "integer",
|
|
154
|
-
"minimum": 100,
|
|
155
|
-
"maximum": 32000,
|
|
156
|
-
"default": 4000,
|
|
157
|
-
"description": "Maximum tokens for response"
|
|
158
|
-
},
|
|
159
|
-
"temperature": {
|
|
160
|
-
"type": "number",
|
|
161
|
-
"minimum": 0,
|
|
162
|
-
"maximum": 2,
|
|
163
|
-
"default": 0.7,
|
|
164
|
-
"description": "LLM temperature setting"
|
|
165
|
-
},
|
|
166
|
-
"top_p": {
|
|
167
|
-
"type": "number",
|
|
168
|
-
"minimum": 0,
|
|
169
|
-
"maximum": 1,
|
|
170
|
-
"default": 1,
|
|
171
|
-
"description": "LLM top_p setting"
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
},
|
|
175
|
-
"validation": {
|
|
176
|
-
"type": "object",
|
|
177
|
-
"properties": {
|
|
178
|
-
"input": {
|
|
179
|
-
"type": "array",
|
|
180
|
-
"items": {
|
|
181
|
-
"type": "object",
|
|
182
|
-
"properties": {
|
|
183
|
-
"rule": {
|
|
184
|
-
"type": "string",
|
|
185
|
-
"description": "Input validation rule"
|
|
186
|
-
},
|
|
187
|
-
"required": {
|
|
188
|
-
"type": "boolean",
|
|
189
|
-
"default": true
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
},
|
|
193
|
-
"description": "Input validation rules"
|
|
194
|
-
},
|
|
195
|
-
"output": {
|
|
196
|
-
"type": "array",
|
|
197
|
-
"items": {
|
|
198
|
-
"type": "object",
|
|
199
|
-
"properties": {
|
|
200
|
-
"rule": {
|
|
201
|
-
"type": "string",
|
|
202
|
-
"description": "Output validation rule"
|
|
203
|
-
},
|
|
204
|
-
"format": {
|
|
205
|
-
"type": "string",
|
|
206
|
-
"enum": [
|
|
207
|
-
"yaml",
|
|
208
|
-
"json",
|
|
209
|
-
"markdown",
|
|
210
|
-
"text"
|
|
211
|
-
]
|
|
212
|
-
},
|
|
213
|
-
"schema": {
|
|
214
|
-
"type": "string",
|
|
215
|
-
"description": "Schema to validate against"
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
},
|
|
219
|
-
"description": "Output validation rules"
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
},
|
|
223
|
-
"examples": {
|
|
224
|
-
"type": "array",
|
|
225
|
-
"items": {
|
|
226
|
-
"type": "object",
|
|
227
|
-
"required": [
|
|
228
|
-
"input",
|
|
229
|
-
"output"
|
|
230
|
-
],
|
|
231
|
-
"properties": {
|
|
232
|
-
"name": {
|
|
233
|
-
"type": "string",
|
|
234
|
-
"description": "Example name"
|
|
235
|
-
},
|
|
236
|
-
"description": {
|
|
237
|
-
"type": "string",
|
|
238
|
-
"description": "What this example demonstrates"
|
|
239
|
-
},
|
|
240
|
-
"input": {
|
|
241
|
-
"description": "Example input"
|
|
242
|
-
},
|
|
243
|
-
"output": {
|
|
244
|
-
"description": "Expected output"
|
|
245
|
-
},
|
|
246
|
-
"explanation": {
|
|
247
|
-
"type": "string",
|
|
248
|
-
"description": "Explanation of the example"
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
},
|
|
252
|
-
"description": "Example usage cases"
|
|
253
|
-
},
|
|
254
|
-
"metadata": {
|
|
255
|
-
"type": "object",
|
|
256
|
-
"properties": {
|
|
257
|
-
"created": {
|
|
258
|
-
"type": "string",
|
|
259
|
-
"format": "date-time"
|
|
260
|
-
},
|
|
261
|
-
"updated": {
|
|
262
|
-
"type": "string",
|
|
263
|
-
"format": "date-time"
|
|
264
|
-
},
|
|
265
|
-
"tested_with": {
|
|
266
|
-
"type": "array",
|
|
267
|
-
"items": {
|
|
268
|
-
"type": "object",
|
|
269
|
-
"properties": {
|
|
270
|
-
"provider": {
|
|
271
|
-
"type": "string",
|
|
272
|
-
"enum": [
|
|
273
|
-
"openai",
|
|
274
|
-
"anthropic",
|
|
275
|
-
"azure",
|
|
276
|
-
"local"
|
|
277
|
-
]
|
|
278
|
-
},
|
|
279
|
-
"model": {
|
|
280
|
-
"type": "string"
|
|
281
|
-
},
|
|
282
|
-
"success_rate": {
|
|
283
|
-
"type": "number",
|
|
284
|
-
"minimum": 0,
|
|
285
|
-
"maximum": 100
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
},
|
|
289
|
-
"description": "Testing results with different providers"
|
|
290
|
-
},
|
|
291
|
-
"performance": {
|
|
292
|
-
"type": "object",
|
|
293
|
-
"properties": {
|
|
294
|
-
"avg_response_time": {
|
|
295
|
-
"type": "number",
|
|
296
|
-
"description": "Average response time in seconds"
|
|
297
|
-
},
|
|
298
|
-
"avg_tokens_used": {
|
|
299
|
-
"type": "integer",
|
|
300
|
-
"description": "Average tokens consumed"
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
},
|
|
305
|
-
"description": "Prompt metadata and performance metrics"
|
|
306
|
-
}
|
|
307
|
-
},
|
|
308
|
-
"additionalProperties": false
|
|
309
|
-
}
|