mirror of
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools.git
synced 2025-12-17 14:05:12 +00:00
Added comprehensive prompt and tool usage documentation for multiple AI coding agents in both English and Chinese under the docs directory. Includes system prompts, tool usage guidelines, agent-specific instructions, and supporting assets for various agents such as Amp, Claude, GPT-5, and others.
621 lines
18 KiB
Markdown
621 lines
18 KiB
Markdown
## tools.json
|
|
|
|
```json
|
|
{
|
|
"tools": [
|
|
{
|
|
"name": "create_artifact",
|
|
"description": "Creates a comprehensive artifact containing all project files for building full-stack applications with Encore.ts backend and React frontend",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "Descriptive identifier for the project in snake-case (e.g., 'todo-app', 'blog-platform')"
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "Human-readable title for the project (e.g., 'Todo App', 'Blog Platform')"
|
|
},
|
|
"commit": {
|
|
"type": "string",
|
|
"description": "Brief description of changes in 3-10 words max"
|
|
},
|
|
"files": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"path": {
|
|
"type": "string",
|
|
"description": "Relative file path from project root"
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "Complete file content - NEVER use placeholders or truncation"
|
|
},
|
|
"action": {
|
|
"type": "string",
|
|
"enum": [
|
|
"create",
|
|
"modify",
|
|
"delete",
|
|
"move"
|
|
],
|
|
"description": "Action to perform on the file"
|
|
},
|
|
"from": {
|
|
"type": "string",
|
|
"description": "Source path for move operations"
|
|
},
|
|
"to": {
|
|
"type": "string",
|
|
"description": "Target path for move operations"
|
|
}
|
|
},
|
|
"required": [
|
|
"path",
|
|
"action"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"title",
|
|
"commit",
|
|
"files"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "define_backend_service",
|
|
"description": "Defines an Encore.ts backend service with proper structure",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"serviceName": {
|
|
"type": "string",
|
|
"description": "Name of the backend service"
|
|
},
|
|
"endpoints": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Unique endpoint name"
|
|
},
|
|
"method": {
|
|
"type": "string",
|
|
"enum": [
|
|
"GET",
|
|
"POST",
|
|
"PUT",
|
|
"DELETE",
|
|
"PATCH"
|
|
],
|
|
"description": "HTTP method"
|
|
},
|
|
"path": {
|
|
"type": "string",
|
|
"description": "API path with parameters (e.g., '/users/:id')"
|
|
},
|
|
"expose": {
|
|
"type": "boolean",
|
|
"description": "Whether endpoint is publicly accessible"
|
|
},
|
|
"auth": {
|
|
"type": "boolean",
|
|
"description": "Whether endpoint requires authentication"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"method",
|
|
"path"
|
|
]
|
|
}
|
|
},
|
|
"database": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Database name"
|
|
},
|
|
"tables": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Table name"
|
|
},
|
|
"columns": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"constraints": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"type"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"columns"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"serviceName"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "create_react_component",
|
|
"description": "Creates a React component with TypeScript and Tailwind CSS",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"componentName": {
|
|
"type": "string",
|
|
"description": "Name of the React component"
|
|
},
|
|
"path": {
|
|
"type": "string",
|
|
"description": "Path where component should be created"
|
|
},
|
|
"props": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"optional": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"type"
|
|
]
|
|
}
|
|
},
|
|
"useBackend": {
|
|
"type": "boolean",
|
|
"description": "Whether component uses backend API calls"
|
|
},
|
|
"styling": {
|
|
"type": "object",
|
|
"properties": {
|
|
"theme": {
|
|
"type": "string",
|
|
"enum": [
|
|
"light",
|
|
"dark",
|
|
"system"
|
|
],
|
|
"description": "Component theme"
|
|
},
|
|
"responsive": {
|
|
"type": "boolean",
|
|
"description": "Whether component is responsive"
|
|
},
|
|
"animations": {
|
|
"type": "boolean",
|
|
"description": "Whether to include subtle animations"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"componentName",
|
|
"path"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "setup_authentication",
|
|
"description": "Sets up authentication using Clerk for both backend and frontend",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"provider": {
|
|
"type": "string",
|
|
"enum": [
|
|
"clerk"
|
|
],
|
|
"description": "Authentication provider"
|
|
},
|
|
"features": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": [
|
|
"sign-in",
|
|
"sign-up",
|
|
"user-profile",
|
|
"session-management"
|
|
]
|
|
}
|
|
},
|
|
"protectedRoutes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "API endpoints that require authentication"
|
|
}
|
|
},
|
|
"required": [
|
|
"provider"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "create_database_migration",
|
|
"description": "Creates a new SQL migration file for Encore.ts database",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"migrationName": {
|
|
"type": "string",
|
|
"description": "Descriptive name for the migration"
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"description": "Migration version number"
|
|
},
|
|
"operations": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"CREATE_TABLE",
|
|
"ALTER_TABLE",
|
|
"DROP_TABLE",
|
|
"CREATE_INDEX",
|
|
"DROP_INDEX"
|
|
]
|
|
},
|
|
"sql": {
|
|
"type": "string",
|
|
"description": "Raw SQL for the operation"
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"sql"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"migrationName",
|
|
"version",
|
|
"operations"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "setup_streaming_api",
|
|
"description": "Sets up streaming APIs for real-time communication",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"streamType": {
|
|
"type": "string",
|
|
"enum": [
|
|
"streamIn",
|
|
"streamOut",
|
|
"streamInOut"
|
|
],
|
|
"description": "Type of streaming API"
|
|
},
|
|
"endpoint": {
|
|
"type": "string",
|
|
"description": "Stream endpoint path"
|
|
},
|
|
"messageTypes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"handshake": {
|
|
"type": "object",
|
|
"description": "Handshake message schema"
|
|
},
|
|
"incoming": {
|
|
"type": "object",
|
|
"description": "Incoming message schema"
|
|
},
|
|
"outgoing": {
|
|
"type": "object",
|
|
"description": "Outgoing message schema"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"streamType",
|
|
"endpoint"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "configure_secrets",
|
|
"description": "Configures secret management for API keys and sensitive data",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secrets": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Secret name (e.g., 'OpenAIKey', 'DatabaseURL')"
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "Description of what the secret is used for"
|
|
},
|
|
"required": {
|
|
"type": "boolean",
|
|
"description": "Whether this secret is required for the app to function"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"description"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"secrets"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "setup_object_storage",
|
|
"description": "Sets up object storage buckets for file uploads",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"buckets": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Bucket name"
|
|
},
|
|
"public": {
|
|
"type": "boolean",
|
|
"description": "Whether bucket contents are publicly accessible"
|
|
},
|
|
"versioned": {
|
|
"type": "boolean",
|
|
"description": "Whether to enable object versioning"
|
|
},
|
|
"allowedFileTypes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Allowed file MIME types"
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"buckets"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "setup_pubsub",
|
|
"description": "Sets up Pub/Sub topics and subscriptions for event-driven architecture",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"topics": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Topic name"
|
|
},
|
|
"eventSchema": {
|
|
"type": "object",
|
|
"description": "TypeScript interface for event data"
|
|
},
|
|
"deliveryGuarantee": {
|
|
"type": "string",
|
|
"enum": [
|
|
"at-least-once",
|
|
"exactly-once"
|
|
],
|
|
"description": "Message delivery guarantee"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"eventSchema"
|
|
]
|
|
}
|
|
},
|
|
"subscriptions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Subscription name"
|
|
},
|
|
"topicName": {
|
|
"type": "string",
|
|
"description": "Name of topic to subscribe to"
|
|
},
|
|
"handler": {
|
|
"type": "string",
|
|
"description": "Handler function description"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"topicName",
|
|
"handler"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"topics"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "create_test_suite",
|
|
"description": "Creates test suites using Vitest for backend and frontend",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"testType": {
|
|
"type": "string",
|
|
"enum": [
|
|
"backend",
|
|
"frontend",
|
|
"integration"
|
|
],
|
|
"description": "Type of tests to create"
|
|
},
|
|
"testFiles": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"path": {
|
|
"type": "string",
|
|
"description": "Test file path"
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "What the test file covers"
|
|
},
|
|
"testCases": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"path",
|
|
"testCases"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"testType",
|
|
"testFiles"
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"guidelines": {
|
|
"code_quality": [
|
|
"Use 2 spaces for indentation",
|
|
"Split functionality into smaller, focused modules",
|
|
"Keep files as small as possible",
|
|
"Use proper TypeScript typing throughout",
|
|
"Follow consistent naming conventions",
|
|
"Include comprehensive error handling",
|
|
"Add meaningful comments for complex logic"
|
|
],
|
|
"backend_requirements": [
|
|
"All backend code must use Encore.ts",
|
|
"Store data using SQL Database or Object Storage",
|
|
"Never store data in memory or local files",
|
|
"All services go under backend/ folder",
|
|
"Each API endpoint in its own file",
|
|
"Unique endpoint names across the application",
|
|
"Use template literals for database queries",
|
|
"Document all API endpoints with comments"
|
|
],
|
|
"frontend_requirements": [
|
|
"Use React with TypeScript and Tailwind CSS",
|
|
"Import backend client as: import backend from '~backend/client'",
|
|
"Use shadcn/ui components when appropriate",
|
|
"Create responsive designs for all screen sizes",
|
|
"Include subtle animations and interactions",
|
|
"Use proper error handling with console.error logs",
|
|
"Split components into smaller, reusable modules",
|
|
"Frontend code goes in frontend/ folder (no src/ subfolder)"
|
|
],
|
|
"file_handling": [
|
|
"Always provide FULL file content",
|
|
"NEVER use placeholders or truncation",
|
|
"Only output files that need changes",
|
|
"Use leapFile for creates/modifications",
|
|
"Use leapDeleteFile for deletions",
|
|
"Use leapMoveFile for renames/moves",
|
|
"Exclude auto-generated files (package.json, etc.)"
|
|
],
|
|
"security": [
|
|
"Use secrets for all sensitive data",
|
|
"Implement proper authentication when requested",
|
|
"Validate all user inputs",
|
|
"Use proper CORS settings",
|
|
"Follow security best practices for APIs"
|
|
]
|
|
}
|
|
}
|
|
``` |