refactor: Update component specifications to use 'program' and 'behavior' attributes, enhancing clarity and consistency across the application

This commit is contained in:
2026-02-23 22:56:18 -08:00
parent 0d36e4f72a
commit efab2a7893
27 changed files with 258 additions and 393 deletions

View File

@@ -318,23 +318,20 @@ programs:
my-tool:
description: Does something useful
source: components/my-tool
install:
path:
alias: my-tool
stack: python-cli
behavior: tool
```
Tools with system dependencies declare them in the component:
Tools with system dependencies declare them directly on the program:
```yaml
programs:
pdf2md:
description: Convert PDF files to Markdown
source: components/pdf2md
install:
path:
alias: pdf2md
tool:
system_dependencies: [pandoc, poppler-utils]
stack: python-cli
behavior: tool
system_dependencies: [pandoc, poppler-utils]
```
Tools live in the `programs:` section. If a tool also runs on a schedule,

View File

@@ -103,13 +103,15 @@ programs:
my-service:
description: Does something useful
source: components/my-service
stack: python-fastapi
behavior: daemon
services:
my-service:
component: my-service
run:
runner: python
tool: my-service
program: my-service
expose:
http:
internal: { port: 9001 }