* use skills * add prompts * update system prompts * generate skills on init * add prompts in cli * better for raw apps * nit * test pipeline draft * better * yaml for triggers and schedules * cleaning * better * add descriptions to ai agent fileds * adjust * better openapi * better * nit * feat: add typed provider and memory schemas for ai agent in openapi Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * feat: improve zod validation errors with dynamic schema extraction Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * regen * fix * cleaning * refactor: deduplicate skill descriptions in generate_skills_ts_export Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * cleaning --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
72 lines
1.9 KiB
Markdown
72 lines
1.9 KiB
Markdown
# System Prompts
|
|
|
|
This directory contains the single source of truth for AI system prompts used by both the frontend copilot and CLI guidance.
|
|
|
|
## Structure
|
|
|
|
```
|
|
system_prompts/
|
|
├── base/ # Core instruction templates (manually written)
|
|
├── languages/ # Language-specific instructions (manually written)
|
|
└── auto-generated/ # Auto-generated files (DO NOT EDIT)
|
|
├── sdks/ # SDK documentation
|
|
├── cli/ # CLI command documentation
|
|
├── prompts.ts # TypeScript exports
|
|
└── index.ts # Helper functions
|
|
```
|
|
|
|
## Usage
|
|
|
|
### Regenerating Prompts
|
|
|
|
When SDK methods or the OpenFlow schema change, run:
|
|
|
|
```bash
|
|
python system_prompts/generate.py
|
|
```
|
|
|
|
This will:
|
|
|
|
1. Parse TypeScript and Python SDK files to extract function signatures
|
|
2. Parse the OpenFlow YAML schema
|
|
3. Parse the CLI commands
|
|
4. Assemble complete prompts from markdown files
|
|
5. Generate TypeScript exports in `auto-generated/`
|
|
|
|
### Scope
|
|
|
|
These system prompts contain ONLY:
|
|
|
|
- How to write Windmill scripts (language syntax, conventions, SDK usage)
|
|
- How to structure Windmill flows (OpenFlow schema, module types, data flow)
|
|
- Resource type handling, S3 operations
|
|
|
|
They DO NOT contain:
|
|
|
|
- Tool usage instructions (edit_code, set_flow_json, etc.)
|
|
- IDE/editor specific commands
|
|
- Testing tool invocations
|
|
|
|
Tool instructions are added separately by the frontend and CLI.
|
|
|
|
## Integration
|
|
|
|
### Frontend
|
|
|
|
Uses Vite path alias `$system_prompts` pointing to `auto-generated/`:
|
|
|
|
```typescript
|
|
import { FLOW_GUIDANCE } from "$system_prompts/flow";
|
|
import { getLangContext } from "$system_prompts/languages";
|
|
```
|
|
|
|
### CLI
|
|
|
|
Generates `/cli/src/guidance/skills.ts` with embedded skill content for `wmill init`.
|
|
|
|
## Editing Guidelines
|
|
|
|
- Edit markdown files in `base/`, `languages/`
|
|
- Never edit files in `auto-generated/` directly
|
|
- After editing, run `generate.py` to update exports
|