mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-09-11 08:07:15 +00:00
fix: hide deprecated cli metadata commands (#8699)
* fix: hide deprecated cli metadata commands Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix: simplify generate-metadata guidance Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.5
parent
f234df97ec
commit
b960598431
@@ -284,8 +284,11 @@ const command = new Command()
|
||||
.command("generate-agents", generateAgentsCommand)
|
||||
.command(
|
||||
"generate-locks",
|
||||
"re-generate the lockfiles for app runnables inline scripts that have changed"
|
||||
'DEPRECATED: re-generate app lockfiles. Use "wmill generate-metadata" instead.'
|
||||
)
|
||||
// Deprecated compatibility command. Keep it working for older repos, but
|
||||
// exclude it from generated system prompt docs.
|
||||
// @deprecated use `wmill generate-metadata`
|
||||
.arguments("[app_folder:string]")
|
||||
.option("--yes", "Skip confirmation prompt")
|
||||
.option("--dry-run", "Perform a dry run without making changes")
|
||||
|
||||
@@ -833,8 +833,11 @@ const command = new Command()
|
||||
.action(preview as any)
|
||||
.command(
|
||||
"generate-locks",
|
||||
"re-generate the lock files of all inline scripts of all updated flows"
|
||||
'DEPRECATED: re-generate flow lock files. Use "wmill generate-metadata" instead.'
|
||||
)
|
||||
// Deprecated compatibility command. Keep it working for older repos, but
|
||||
// exclude it from generated system prompt docs.
|
||||
// @deprecated use `wmill generate-metadata`
|
||||
.arguments("[flow:file]")
|
||||
.option("--yes", "Skip confirmation prompt")
|
||||
.option("--dry-run", "Perform a dry run without making changes")
|
||||
|
||||
@@ -334,7 +334,7 @@ async function checkRawAppRunnables(
|
||||
path: rawAppYamlPath,
|
||||
target: "raw_app_inline_script",
|
||||
errors: [
|
||||
`Missing lock for ${language} runnable '${runnableId}'. Run 'wmill app generate-locks' to generate locks.`,
|
||||
`Missing lock for ${language} runnable '${runnableId}'. Run 'wmill generate-metadata' to generate locks.`,
|
||||
],
|
||||
});
|
||||
}
|
||||
@@ -388,7 +388,7 @@ async function checkRawAppRunnables(
|
||||
path: rawAppYamlPath,
|
||||
target: "raw_app_inline_script",
|
||||
errors: [
|
||||
`Missing lock for ${language} runnable '${runnableId}'. Run 'wmill app generate-locks' to generate locks.`,
|
||||
`Missing lock for ${language} runnable '${runnableId}'. Run 'wmill generate-metadata' to generate locks.`,
|
||||
],
|
||||
});
|
||||
}
|
||||
@@ -509,7 +509,7 @@ export async function checkMissingLocks(
|
||||
path: yamlPath,
|
||||
target: "script",
|
||||
errors: [
|
||||
`Missing lock for ${language} script. Run 'wmill script generate-metadata' to generate locks.`,
|
||||
`Missing lock for ${language} script. Run 'wmill generate-metadata' to generate locks.`,
|
||||
],
|
||||
});
|
||||
}
|
||||
@@ -540,7 +540,7 @@ export async function checkMissingLocks(
|
||||
path: flowYamlPath,
|
||||
target: "flow_inline_script",
|
||||
errors: [
|
||||
`Missing lock for ${script.language} inline script '${script.id}'. Run 'wmill flow generate-locks' to generate locks.`,
|
||||
`Missing lock for ${script.language} inline script '${script.id}'. Run 'wmill generate-metadata' to generate locks.`,
|
||||
],
|
||||
});
|
||||
}
|
||||
@@ -568,7 +568,7 @@ export async function checkMissingLocks(
|
||||
path: appYamlPath,
|
||||
target: "app_inline_script",
|
||||
errors: [
|
||||
`Missing lock for ${script.language} inline script at '${script.path}'. Run 'wmill app generate-locks' to generate locks.`,
|
||||
`Missing lock for ${script.language} inline script at '${script.path}'. Run 'wmill generate-metadata' to generate locks.`,
|
||||
],
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1274,7 +1274,7 @@ export async function generateMetadata(
|
||||
colors.yellow('This command is deprecated. Use "wmill generate-metadata" instead.')
|
||||
);
|
||||
log.info(
|
||||
"This command only works for workspace scripts, for flows inline scripts use `wmill flow generate-locks`"
|
||||
"This command only works for workspace scripts. For flows or apps, run `wmill generate-metadata` from the affected folder."
|
||||
);
|
||||
if (scriptPath == "") {
|
||||
scriptPath = undefined;
|
||||
@@ -1695,8 +1695,11 @@ const command = new Command()
|
||||
.action(bootstrap as any)
|
||||
.command(
|
||||
"generate-metadata",
|
||||
"re-generate the metadata file updating the lock and the script schema (for flows, use `wmill flow generate-locks`)"
|
||||
'DEPRECATED: re-generate script metadata. Use top-level "wmill generate-metadata" instead.'
|
||||
)
|
||||
// Deprecated compatibility command. Keep it working for older repos, but
|
||||
// exclude it from generated system prompt docs.
|
||||
// @deprecated use `wmill generate-metadata`
|
||||
.arguments("[script:file]")
|
||||
.option("--yes", "Skip confirmation prompt")
|
||||
.option("--dry-run", "Perform a dry run without making changes")
|
||||
|
||||
@@ -375,7 +375,7 @@ ${tables.length > 0 ? tables.map(t => ` - ${t}`).join('\n') : ' # Add tabl
|
||||
|
||||
## Quick Reference
|
||||
|
||||
**Backend runnable:** Add \`backend/<name>.ts\` (or .py, etc.), then run \`wmill app generate-locks\`
|
||||
**Backend runnable:** Add \`backend/<name>.ts\` (or .py, etc.), then run \`wmill generate-metadata\`
|
||||
|
||||
**Call from frontend:**
|
||||
\`\`\`typescript
|
||||
@@ -2668,7 +2668,7 @@ export async function push(
|
||||
log.info("Auto-regenerated metadata for stale scripts:");
|
||||
} else {
|
||||
log.warn(
|
||||
"Stale scripts metadata found, you may want to update them using 'wmill script generate-metadata' before pushing:",
|
||||
"Stale scripts metadata found, you may want to update them using 'wmill generate-metadata' before pushing:",
|
||||
);
|
||||
}
|
||||
for (const stale of staleScripts) {
|
||||
@@ -2701,7 +2701,7 @@ export async function push(
|
||||
log.info("Auto-regenerated locks for stale flows:");
|
||||
} else {
|
||||
log.warn(
|
||||
"Stale flows locks found, you may want to update them using 'wmill flow generate-locks' before pushing:",
|
||||
"Stale flows locks found, you may want to update them using 'wmill generate-metadata' before pushing:",
|
||||
);
|
||||
}
|
||||
for (const stale of staleFlows) {
|
||||
@@ -2749,7 +2749,7 @@ export async function push(
|
||||
log.info("Auto-regenerated locks for stale apps:");
|
||||
} else {
|
||||
log.warn(
|
||||
"Stale apps locks found, you may want to update them using 'wmill app generate-locks' before pushing:",
|
||||
"Stale apps locks found, you may want to update them using 'wmill generate-metadata' before pushing:",
|
||||
);
|
||||
}
|
||||
for (const stale of staleApps) {
|
||||
|
||||
+25
-41
@@ -45,7 +45,7 @@ description: MUST use when writing Bash scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- \`wmill script generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -110,7 +110,7 @@ description: MUST use when writing BigQuery queries.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- \`wmill script generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -137,7 +137,7 @@ description: MUST use when writing Bun/TypeScript scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- \`wmill script generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -802,7 +802,7 @@ description: MUST use when writing Bun Native scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- \`wmill script generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -1465,7 +1465,7 @@ description: MUST use when writing C# scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- \`wmill script generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -1522,7 +1522,7 @@ description: MUST use when writing Deno/TypeScript scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- \`wmill script generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -2191,7 +2191,7 @@ description: MUST use when writing DuckDB queries.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- \`wmill script generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -2258,7 +2258,7 @@ description: MUST use when writing Go scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- \`wmill script generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -2332,7 +2332,7 @@ description: MUST use when writing GraphQL queries.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- \`wmill script generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -2393,7 +2393,7 @@ description: MUST use when writing Java scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- \`wmill script generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -2447,7 +2447,7 @@ description: MUST use when writing MS SQL Server queries.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- \`wmill script generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -2474,7 +2474,7 @@ description: MUST use when writing MySQL queries.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- \`wmill script generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -2501,7 +2501,7 @@ description: MUST use when writing Native TypeScript scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- \`wmill script generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -3131,7 +3131,7 @@ description: MUST use when writing PHP scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- \`wmill script generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -3204,7 +3204,7 @@ description: MUST use when writing PostgreSQL queries.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- \`wmill script generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -3231,7 +3231,7 @@ description: MUST use when writing PowerShell scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- \`wmill script generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -3302,7 +3302,7 @@ description: MUST use when writing Python scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- \`wmill script generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -4123,7 +4123,7 @@ description: MUST use when writing R scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- \`wmill script generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -4224,7 +4224,7 @@ description: MUST use when writing Rust scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- \`wmill script generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -4315,7 +4315,7 @@ description: MUST use when writing Snowflake queries.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- \`wmill script generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill generate-metadata\` - Generate .script.yaml and .lock files
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -4346,7 +4346,7 @@ description: MUST use when creating flows.
|
||||
Create a folder ending with \`{{FLOW_SUFFIX}}\` and add a \`flow.yaml\` file with the flow definition.
|
||||
For rawscript modules, use \`!inline path/to/script.ts\` for the content key. {{INLINE_SCRIPT_NAMING}}
|
||||
After writing, tell the user they can run:
|
||||
- \`wmill flow generate-locks <path_to_flow_folder> --yes\` - Generate lock files for the specific flow you modified (e.g. \`wmill flow generate-locks f/my_folder/my_flow{{FLOW_SUFFIX}} --yes\`)
|
||||
- \`wmill generate-metadata\` - Generate lock files for the flow you modified
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -4494,7 +4494,7 @@ my_app{{RAW_APP_SUFFIX}}/
|
||||
├── backend/ # Backend runnables (server-side scripts)
|
||||
│ ├── <id>.<ext> # Code file (e.g., get_user.ts)
|
||||
│ ├── <id>.yaml # Optional: config for fields, or to reference existing scripts
|
||||
│ └── <id>.lock # Lock file (run 'wmill app generate-locks' to create)
|
||||
│ └── <id>.lock # Lock file (run 'wmill generate-metadata' to create/update)
|
||||
└── sql_to_apply/ # SQL migrations (dev only, not synced)
|
||||
└── *.sql # SQL files to apply via dev server
|
||||
\`\`\`
|
||||
@@ -4550,7 +4550,7 @@ export async function main(user_id: string) {
|
||||
|
||||
After creating, tell the user they can generate lock files by running:
|
||||
\`\`\`bash
|
||||
wmill app generate-locks
|
||||
wmill generate-metadata
|
||||
\`\`\`
|
||||
|
||||
### Optional YAML Configuration
|
||||
@@ -4708,7 +4708,7 @@ Tell the user they can run these commands (do NOT run them yourself):
|
||||
| \`wmill app new\` | Create a new raw app interactively |
|
||||
| \`wmill app dev\` | Start dev server with live reload |
|
||||
| \`wmill app generate-agents\` | Refresh AGENTS.md and DATATABLES.md |
|
||||
| \`wmill app generate-locks\` | Generate lock files for backend runnables |
|
||||
| \`wmill generate-metadata\` | Generate lock files for backend runnables |
|
||||
| \`wmill sync push\` | Deploy app to Windmill |
|
||||
| \`wmill sync pull\` | Pull latest from Windmill |
|
||||
|
||||
@@ -4719,7 +4719,7 @@ Tell the user they can run these commands (do NOT run them yourself):
|
||||
3. **Keep runnables focused** - one function per file
|
||||
4. **Use descriptive IDs** - \`get_user.ts\` not \`a.ts\`
|
||||
5. **Always whitelist tables** - add to \`data.tables\` before querying
|
||||
6. **Generate locks** - tell the user to run \`wmill app generate-locks\` after adding/modifying backend runnables
|
||||
6. **Generate locks** - tell the user to run \`wmill generate-metadata\` after adding/modifying backend runnables
|
||||
`,
|
||||
"triggers": `---
|
||||
name: triggers
|
||||
@@ -5096,10 +5096,6 @@ app related commands
|
||||
- \`--fix\` - Attempt to fix common issues (not implemented yet)
|
||||
- \`app new\` - create a new raw app from a template
|
||||
- \`app generate-agents [app_folder:string]\` - regenerate AGENTS.md and DATATABLES.md from remote workspace
|
||||
- \`app generate-locks [app_folder:string]\` - re-generate the lockfiles for app runnables inline scripts that have changed
|
||||
- \`--yes\` - Skip confirmation prompt
|
||||
- \`--dry-run\` - Perform a dry run without making changes
|
||||
- \`--default-ts <runtime:string>\` - Default TypeScript runtime (bun or deno)
|
||||
|
||||
### audit
|
||||
|
||||
@@ -5168,11 +5164,6 @@ flow related commands
|
||||
- \`-d --data <data:string>\` - Inputs specified as a JSON string or a file using @<filename> or stdin using @-.
|
||||
- \`-s --silent\` - Do not output anything other then the final output. Useful for scripting.
|
||||
- \`--remote\` - Use deployed workspace scripts for PathScript steps instead of local files.
|
||||
- \`flow generate-locks [flow:file]\` - re-generate the lock files of all inline scripts of all updated flows
|
||||
- \`--yes\` - Skip confirmation prompt
|
||||
- \`--dry-run\` - Perform a dry run without making changes
|
||||
- \`-i --includes <patterns:file[]>\` - Comma separated patterns to specify which file to take into account (among files that are compatible with windmill). Patterns can include * (any string until '/') and ** (any string)
|
||||
- \`-e --excludes <patterns:file[]>\` - Comma separated patterns to specify which file to NOT take into account.
|
||||
- \`flow new <flow_path:string>\` - create a new empty flow
|
||||
- \`--summary <summary:string>\` - flow summary
|
||||
- \`--description <description:string>\` - flow description
|
||||
@@ -5456,13 +5447,6 @@ script related commands
|
||||
- \`script bootstrap <path:file> <language:string>\` - create a new script (alias for new)
|
||||
- \`--summary <summary:string>\` - script summary
|
||||
- \`--description <description:string>\` - script description
|
||||
- \`script generate-metadata [script:file]\` - re-generate the metadata file updating the lock and the script schema (for flows, use \`wmill flow generate-locks\`)
|
||||
- \`--yes\` - Skip confirmation prompt
|
||||
- \`--dry-run\` - Perform a dry run without making changes
|
||||
- \`--lock-only\` - re-generate only the lock
|
||||
- \`--schema-only\` - re-generate only script schema
|
||||
- \`-i --includes <patterns:file[]>\` - Comma separated patterns to specify which file to take into account (among files that are compatible with windmill). Patterns can include * (any string until '/') and ** (any string)
|
||||
- \`-e --excludes <patterns:file[]>\` - Comma separated patterns to specify which file to NOT take into account.
|
||||
- \`script history <path:string>\` - show version history for a script
|
||||
- \`--json\` - Output as JSON (for piping to jq)
|
||||
|
||||
|
||||
@@ -36,10 +36,6 @@ app related commands
|
||||
- `--fix` - Attempt to fix common issues (not implemented yet)
|
||||
- `app new` - create a new raw app from a template
|
||||
- `app generate-agents [app_folder:string]` - regenerate AGENTS.md and DATATABLES.md from remote workspace
|
||||
- `app generate-locks [app_folder:string]` - re-generate the lockfiles for app runnables inline scripts that have changed
|
||||
- `--yes` - Skip confirmation prompt
|
||||
- `--dry-run` - Perform a dry run without making changes
|
||||
- `--default-ts <runtime:string>` - Default TypeScript runtime (bun or deno)
|
||||
|
||||
### audit
|
||||
|
||||
@@ -108,11 +104,6 @@ flow related commands
|
||||
- `-d --data <data:string>` - Inputs specified as a JSON string or a file using @<filename> or stdin using @-.
|
||||
- `-s --silent` - Do not output anything other then the final output. Useful for scripting.
|
||||
- `--remote` - Use deployed workspace scripts for PathScript steps instead of local files.
|
||||
- `flow generate-locks [flow:file]` - re-generate the lock files of all inline scripts of all updated flows
|
||||
- `--yes` - Skip confirmation prompt
|
||||
- `--dry-run` - Perform a dry run without making changes
|
||||
- `-i --includes <patterns:file[]>` - Comma separated patterns to specify which file to take into account (among files that are compatible with windmill). Patterns can include * (any string until '/') and ** (any string)
|
||||
- `-e --excludes <patterns:file[]>` - Comma separated patterns to specify which file to NOT take into account.
|
||||
- `flow new <flow_path:string>` - create a new empty flow
|
||||
- `--summary <summary:string>` - flow summary
|
||||
- `--description <description:string>` - flow description
|
||||
@@ -396,13 +387,6 @@ script related commands
|
||||
- `script bootstrap <path:file> <language:string>` - create a new script (alias for new)
|
||||
- `--summary <summary:string>` - script summary
|
||||
- `--description <description:string>` - script description
|
||||
- `script generate-metadata [script:file]` - re-generate the metadata file updating the lock and the script schema (for flows, use `wmill flow generate-locks`)
|
||||
- `--yes` - Skip confirmation prompt
|
||||
- `--dry-run` - Perform a dry run without making changes
|
||||
- `--lock-only` - re-generate only the lock
|
||||
- `--schema-only` - re-generate only script schema
|
||||
- `-i --includes <patterns:file[]>` - Comma separated patterns to specify which file to take into account (among files that are compatible with windmill). Patterns can include * (any string until '/') and ** (any string)
|
||||
- `-e --excludes <patterns:file[]>` - Comma separated patterns to specify which file to NOT take into account.
|
||||
- `script history <path:string>` - show version history for a script
|
||||
- `--json` - Output as JSON (for piping to jq)
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
Create a folder ending with `__flow` and add a `flow.yaml` file with the flow definition.
|
||||
For rawscript modules, use `!inline path/to/script.ts` for the content key. Inline script files should NOT include `.inline_script.` in their names (e.g. use `a.ts`, not `a.inline_script.ts`).
|
||||
After writing, tell the user they can run:
|
||||
- `wmill flow generate-locks <path_to_flow_folder> --yes` - Generate lock files for the specific flow you modified (e.g. `wmill flow generate-locks f/my_folder/my_flow__flow --yes`)
|
||||
- `wmill generate-metadata` - Generate lock files for the flow you modified
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
+6
-3
File diff suppressed because one or more lines are too long
@@ -36,7 +36,7 @@ export const FLOW_BASE = `# Windmill Flow Building Guide
|
||||
Create a folder ending with \`__flow\` and add a \`flow.yaml\` file with the flow definition.
|
||||
For rawscript modules, use \`!inline path/to/script.ts\` for the content key. Inline script files should NOT include \`.inline_script.\` in their names (e.g. use \`a.ts\`, not \`a.inline_script.ts\`).
|
||||
After writing, tell the user they can run:
|
||||
- \`wmill flow generate-locks <path_to_flow_folder> --yes\` - Generate lock files for the specific flow you modified (e.g. \`wmill flow generate-locks f/my_folder/my_flow__flow --yes\`)
|
||||
- \`wmill generate-metadata\` - Generate lock files for the flow you modified
|
||||
- \`wmill sync push\` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
@@ -1563,10 +1563,6 @@ app related commands
|
||||
- \`--fix\` - Attempt to fix common issues (not implemented yet)
|
||||
- \`app new\` - create a new raw app from a template
|
||||
- \`app generate-agents [app_folder:string]\` - regenerate AGENTS.md and DATATABLES.md from remote workspace
|
||||
- \`app generate-locks [app_folder:string]\` - re-generate the lockfiles for app runnables inline scripts that have changed
|
||||
- \`--yes\` - Skip confirmation prompt
|
||||
- \`--dry-run\` - Perform a dry run without making changes
|
||||
- \`--default-ts <runtime:string>\` - Default TypeScript runtime (bun or deno)
|
||||
|
||||
### audit
|
||||
|
||||
@@ -1635,11 +1631,6 @@ flow related commands
|
||||
- \`-d --data <data:string>\` - Inputs specified as a JSON string or a file using @<filename> or stdin using @-.
|
||||
- \`-s --silent\` - Do not output anything other then the final output. Useful for scripting.
|
||||
- \`--remote\` - Use deployed workspace scripts for PathScript steps instead of local files.
|
||||
- \`flow generate-locks [flow:file]\` - re-generate the lock files of all inline scripts of all updated flows
|
||||
- \`--yes\` - Skip confirmation prompt
|
||||
- \`--dry-run\` - Perform a dry run without making changes
|
||||
- \`-i --includes <patterns:file[]>\` - Comma separated patterns to specify which file to take into account (among files that are compatible with windmill). Patterns can include * (any string until '/') and ** (any string)
|
||||
- \`-e --excludes <patterns:file[]>\` - Comma separated patterns to specify which file to NOT take into account.
|
||||
- \`flow new <flow_path:string>\` - create a new empty flow
|
||||
- \`--summary <summary:string>\` - flow summary
|
||||
- \`--description <description:string>\` - flow description
|
||||
@@ -1923,13 +1914,6 @@ script related commands
|
||||
- \`script bootstrap <path:file> <language:string>\` - create a new script (alias for new)
|
||||
- \`--summary <summary:string>\` - script summary
|
||||
- \`--description <description:string>\` - script description
|
||||
- \`script generate-metadata [script:file]\` - re-generate the metadata file updating the lock and the script schema (for flows, use \`wmill flow generate-locks\`)
|
||||
- \`--yes\` - Skip confirmation prompt
|
||||
- \`--dry-run\` - Perform a dry run without making changes
|
||||
- \`--lock-only\` - re-generate only the lock
|
||||
- \`--schema-only\` - re-generate only script schema
|
||||
- \`-i --includes <patterns:file[]>\` - Comma separated patterns to specify which file to take into account (among files that are compatible with windmill). Patterns can include * (any string until '/') and ** (any string)
|
||||
- \`-e --excludes <patterns:file[]>\` - Comma separated patterns to specify which file to NOT take into account.
|
||||
- \`script history <path:string>\` - show version history for a script
|
||||
- \`--json\` - Output as JSON (for piping to jq)
|
||||
|
||||
|
||||
@@ -41,10 +41,6 @@ app related commands
|
||||
- `--fix` - Attempt to fix common issues (not implemented yet)
|
||||
- `app new` - create a new raw app from a template
|
||||
- `app generate-agents [app_folder:string]` - regenerate AGENTS.md and DATATABLES.md from remote workspace
|
||||
- `app generate-locks [app_folder:string]` - re-generate the lockfiles for app runnables inline scripts that have changed
|
||||
- `--yes` - Skip confirmation prompt
|
||||
- `--dry-run` - Perform a dry run without making changes
|
||||
- `--default-ts <runtime:string>` - Default TypeScript runtime (bun or deno)
|
||||
|
||||
### audit
|
||||
|
||||
@@ -113,11 +109,6 @@ flow related commands
|
||||
- `-d --data <data:string>` - Inputs specified as a JSON string or a file using @<filename> or stdin using @-.
|
||||
- `-s --silent` - Do not output anything other then the final output. Useful for scripting.
|
||||
- `--remote` - Use deployed workspace scripts for PathScript steps instead of local files.
|
||||
- `flow generate-locks [flow:file]` - re-generate the lock files of all inline scripts of all updated flows
|
||||
- `--yes` - Skip confirmation prompt
|
||||
- `--dry-run` - Perform a dry run without making changes
|
||||
- `-i --includes <patterns:file[]>` - Comma separated patterns to specify which file to take into account (among files that are compatible with windmill). Patterns can include * (any string until '/') and ** (any string)
|
||||
- `-e --excludes <patterns:file[]>` - Comma separated patterns to specify which file to NOT take into account.
|
||||
- `flow new <flow_path:string>` - create a new empty flow
|
||||
- `--summary <summary:string>` - flow summary
|
||||
- `--description <description:string>` - flow description
|
||||
@@ -401,13 +392,6 @@ script related commands
|
||||
- `script bootstrap <path:file> <language:string>` - create a new script (alias for new)
|
||||
- `--summary <summary:string>` - script summary
|
||||
- `--description <description:string>` - script description
|
||||
- `script generate-metadata [script:file]` - re-generate the metadata file updating the lock and the script schema (for flows, use `wmill flow generate-locks`)
|
||||
- `--yes` - Skip confirmation prompt
|
||||
- `--dry-run` - Perform a dry run without making changes
|
||||
- `--lock-only` - re-generate only the lock
|
||||
- `--schema-only` - re-generate only script schema
|
||||
- `-i --includes <patterns:file[]>` - Comma separated patterns to specify which file to take into account (among files that are compatible with windmill). Patterns can include * (any string until '/') and ** (any string)
|
||||
- `-e --excludes <patterns:file[]>` - Comma separated patterns to specify which file to NOT take into account.
|
||||
- `script history <path:string>` - show version history for a script
|
||||
- `--json` - Output as JSON (for piping to jq)
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ my_app__raw_app/
|
||||
├── backend/ # Backend runnables (server-side scripts)
|
||||
│ ├── <id>.<ext> # Code file (e.g., get_user.ts)
|
||||
│ ├── <id>.yaml # Optional: config for fields, or to reference existing scripts
|
||||
│ └── <id>.lock # Lock file (run 'wmill app generate-locks' to create)
|
||||
│ └── <id>.lock # Lock file (run 'wmill generate-metadata' to create/update)
|
||||
└── sql_to_apply/ # SQL migrations (dev only, not synced)
|
||||
└── *.sql # SQL files to apply via dev server
|
||||
```
|
||||
@@ -86,7 +86,7 @@ export async function main(user_id: string) {
|
||||
|
||||
After creating, tell the user they can generate lock files by running:
|
||||
```bash
|
||||
wmill app generate-locks
|
||||
wmill generate-metadata
|
||||
```
|
||||
|
||||
### Optional YAML Configuration
|
||||
@@ -244,7 +244,7 @@ Tell the user they can run these commands (do NOT run them yourself):
|
||||
| `wmill app new` | Create a new raw app interactively |
|
||||
| `wmill app dev` | Start dev server with live reload |
|
||||
| `wmill app generate-agents` | Refresh AGENTS.md and DATATABLES.md |
|
||||
| `wmill app generate-locks` | Generate lock files for backend runnables |
|
||||
| `wmill generate-metadata` | Generate lock files for backend runnables |
|
||||
| `wmill sync push` | Deploy app to Windmill |
|
||||
| `wmill sync pull` | Pull latest from Windmill |
|
||||
|
||||
@@ -255,4 +255,4 @@ Tell the user they can run these commands (do NOT run them yourself):
|
||||
3. **Keep runnables focused** - one function per file
|
||||
4. **Use descriptive IDs** - `get_user.ts` not `a.ts`
|
||||
5. **Always whitelist tables** - add to `data.tables` before querying
|
||||
6. **Generate locks** - tell the user to run `wmill app generate-locks` after adding/modifying backend runnables
|
||||
6. **Generate locks** - tell the user to run `wmill generate-metadata` after adding/modifying backend runnables
|
||||
|
||||
@@ -10,7 +10,7 @@ description: MUST use when creating flows.
|
||||
Create a folder ending with `__flow` and add a `flow.yaml` file with the flow definition.
|
||||
For rawscript modules, use `!inline path/to/script.ts` for the content key. Inline script files should NOT include `.inline_script.` in their names (e.g. use `a.ts`, not `a.inline_script.ts`).
|
||||
After writing, tell the user they can run:
|
||||
- `wmill flow generate-locks <path_to_flow_folder> --yes` - Generate lock files for the specific flow you modified (e.g. `wmill flow generate-locks f/my_folder/my_flow__flow --yes`)
|
||||
- `wmill generate-metadata` - Generate lock files for the flow you modified
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -6,7 +6,7 @@ description: MUST use when writing Bash scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- `wmill script generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -6,7 +6,7 @@ description: MUST use when writing BigQuery queries.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- `wmill script generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -6,7 +6,7 @@ description: MUST use when writing Bun/TypeScript scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- `wmill script generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -6,7 +6,7 @@ description: MUST use when writing Bun Native scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- `wmill script generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -6,7 +6,7 @@ description: MUST use when writing C# scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- `wmill script generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -6,7 +6,7 @@ description: MUST use when writing Deno/TypeScript scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- `wmill script generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -6,7 +6,7 @@ description: MUST use when writing DuckDB queries.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- `wmill script generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -6,7 +6,7 @@ description: MUST use when writing Go scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- `wmill script generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -6,7 +6,7 @@ description: MUST use when writing GraphQL queries.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- `wmill script generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -6,7 +6,7 @@ description: MUST use when writing Java scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- `wmill script generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -6,7 +6,7 @@ description: MUST use when writing MS SQL Server queries.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- `wmill script generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -6,7 +6,7 @@ description: MUST use when writing MySQL queries.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- `wmill script generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -6,7 +6,7 @@ description: MUST use when writing Native TypeScript scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- `wmill script generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -6,7 +6,7 @@ description: MUST use when writing PHP scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- `wmill script generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -6,7 +6,7 @@ description: MUST use when writing PostgreSQL queries.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- `wmill script generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -6,7 +6,7 @@ description: MUST use when writing PowerShell scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- `wmill script generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -6,7 +6,7 @@ description: MUST use when writing Python scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- `wmill script generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -6,7 +6,7 @@ description: MUST use when writing R scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- `wmill script generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -6,7 +6,7 @@ description: MUST use when writing Rust scripts.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- `wmill script generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -6,7 +6,7 @@ description: MUST use when writing Snowflake queries.
|
||||
## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- `wmill script generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
Create a folder ending with `__flow` and add a `flow.yaml` file with the flow definition.
|
||||
For rawscript modules, use `!inline path/to/script.ts` for the content key. Inline script files should NOT include `.inline_script.` in their names (e.g. use `a.ts`, not `a.inline_script.ts`).
|
||||
After writing, tell the user they can run:
|
||||
- `wmill flow generate-locks <path_to_flow_folder> --yes` - Generate lock files for the specific flow you modified (e.g. `wmill flow generate-locks f/my_folder/my_flow__flow --yes`)
|
||||
- `wmill generate-metadata` - Generate lock files for the flow you modified
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
@@ -25,7 +25,7 @@ my_app__raw_app/
|
||||
├── backend/ # Backend runnables (server-side scripts)
|
||||
│ ├── <id>.<ext> # Code file (e.g., get_user.ts)
|
||||
│ ├── <id>.yaml # Optional: config for fields, or to reference existing scripts
|
||||
│ └── <id>.lock # Lock file (run 'wmill app generate-locks' to create)
|
||||
│ └── <id>.lock # Lock file (run 'wmill generate-metadata' to create/update)
|
||||
└── sql_to_apply/ # SQL migrations (dev only, not synced)
|
||||
└── *.sql # SQL files to apply via dev server
|
||||
```
|
||||
@@ -81,7 +81,7 @@ export async function main(user_id: string) {
|
||||
|
||||
After creating, tell the user they can generate lock files by running:
|
||||
```bash
|
||||
wmill app generate-locks
|
||||
wmill generate-metadata
|
||||
```
|
||||
|
||||
### Optional YAML Configuration
|
||||
@@ -239,7 +239,7 @@ Tell the user they can run these commands (do NOT run them yourself):
|
||||
| `wmill app new` | Create a new raw app interactively |
|
||||
| `wmill app dev` | Start dev server with live reload |
|
||||
| `wmill app generate-agents` | Refresh AGENTS.md and DATATABLES.md |
|
||||
| `wmill app generate-locks` | Generate lock files for backend runnables |
|
||||
| `wmill generate-metadata` | Generate lock files for backend runnables |
|
||||
| `wmill sync push` | Deploy app to Windmill |
|
||||
| `wmill sync pull` | Pull latest from Windmill |
|
||||
|
||||
@@ -250,4 +250,4 @@ Tell the user they can run these commands (do NOT run them yourself):
|
||||
3. **Keep runnables focused** - one function per file
|
||||
4. **Use descriptive IDs** - `get_user.ts` not `a.ts`
|
||||
5. **Always whitelist tables** - add to `data.tables` before querying
|
||||
6. **Generate locks** - tell the user to run `wmill app generate-locks` after adding/modifying backend runnables
|
||||
6. **Generate locks** - tell the user to run `wmill generate-metadata` after adding/modifying backend runnables
|
||||
|
||||
@@ -351,6 +351,11 @@ def parse_command_block(content: str, file_path: Path | None = None) -> dict:
|
||||
if not cmd_match:
|
||||
continue
|
||||
|
||||
# Explicit source marker for backwards-compatible CLI commands that
|
||||
# should not be suggested in generated system prompts.
|
||||
if '@deprecated' in section:
|
||||
continue
|
||||
|
||||
cmd_name = cmd_match.group(1)
|
||||
second_arg = cmd_match.group(2).strip() if cmd_match.group(2) else ''
|
||||
|
||||
@@ -957,7 +962,7 @@ def generate_skills(
|
||||
script_cli_intro = """## CLI Commands
|
||||
|
||||
Place scripts in a folder. After writing, tell the user they can run:
|
||||
- `wmill script generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill generate-metadata` - Generate .script.yaml and .lock files
|
||||
- `wmill sync push` - Deploy to Windmill
|
||||
|
||||
Do NOT run these commands yourself. Instead, inform the user that they should run them.
|
||||
|
||||
Reference in New Issue
Block a user