Alphakdeps.io is experimental and evolving — the registry and packages may change or reset.
Templatekdeps asset

kdeps-templates-resources

v1.0.4

kdeps template: resources

set templates / shelf workflow

PurposeProject scaffolds for kdeps new, and the knowledge vault's files (routing table, schema, graph page).

LLM context: none - kdeps uses it without sending it to the model

Where it runs

Part of the templates set, used in workflow and agent mode. Project scaffolds for kdeps new, and the knowledge vault's files (routing table, schema, graph page).

  1. kdeps new, or the knowledge vault's first use
  2. the template is renderedtemplates/resources
  3. the project or vault files are written

Loaded by: kdeps (agent loop), kdeps new, kdeps run, kdeps knowledge build

In the code: kdeps newtemplates.(*Generator).GenerateProject

Install

A kdeps asset: installed with the first-run profile that includes its set, or the first time a command needs it, and updated without a new release.

kdeps install templates/resources

Pin a version with kdeps install templates/resources@<version>.

Contents

calendar.yaml.j2

apiVersion: v2
kind: Resource
metadata:
  actionId: calendar
  name: Calendar
  description: Read and write local ICS (iCalendar) files
run:
  calendar:
    # action: list | create | modify | delete
    action: list

    # Path to the .ics file (relative to the agent's FSRoot)
    filePath: "events.ics"

    # ── list options ──────────────────────────────────────────────────────
    # since: "2026-01-01"       # only events starting on or after this date
    # before: "2026-12-31"      # only events starting before this date
    # limit: 10                 # maximum number of events to return
    # search: "team meeting"    # substring match on summary or description

    # ── create / modify fields ────────────────────────────────────────────
    # uid: "my-unique-event-id" # omit to auto-generate on create
    # summary: "Team Meeting"
    # description: "Weekly sync"
    # location: "Conference Room A"
    # start: "2026-03-16T10:00:00Z"
    # end:   "2026-03-16T11:00:00Z"
    # allDay: false
    # attendees:
    #   - "alice@example.com"
    #   - "bob@example.com"
    # recurrence: "FREQ=WEEKLY;BYDAY=MO"  # RRULE string

    # ── timing ────────────────────────────────────────────────────────────
    # timeout: "30s"

exec.yaml.j2

apiVersion: kdeps.io/v1
kind: Resource
metadata:
  actionId: exec
  name: Shell Command
  description: Execute shell commands
component:
  name: exec
  with:
    command: "echo '{% raw %}{{ get('message', 'Hello World') }}{% endraw %}'"
    timeout: 30s

http-client.yaml.j2

apiVersion: v2
kind: Resource
metadata:
  actionId: httpClient
  name: HTTP Client
  description: HTTP client for making API calls
run:
  component:
    name: http_request
    with:
      method: GET
      url: "{% raw %}{{ get('url', 'https://api.example.com/data') }}{% endraw %}"
      headers:
        Content-Type: "application/json"
        Authorization: "Bearer {% raw %}{{ get('token', '') }}{% endraw %}"
      timeout: "30s"
  validations:
    required:
      - url
    rules:
      - field: url
        type: url
        message: "URL must be a valid HTTP/HTTPS URL"

llm.yaml.j2

apiVersion: v2
kind: Resource
metadata:
  actionId: llm
  name: LLM Processing
  description: Large Language Model interaction
run:
  chat:
    model: llama3.2:1b  # llamafile alias - auto-downloaded to ~/.kdeps/models (~1.1 GB, first run only)
    # Default backend is "file": the model runs as a local llamafile, no server install needed.
    # Quantization variants: llama3.2:1b-q6, llama3.2:1b-q8. List all: kdeps llamafile list
    role: user
    prompt: "{% raw %}{{ get('input', 'Hello, how can you help me?') }}{% endraw %}"
    jsonResponse: true
    jsonResponseKeys:
      - answer
      - reasoning
    timeout: "60s"
  validations:
    required:
      - input
    rules:
      - field: input
        type: string
        minLength: 1
        message: "Input is required"

python.yaml.j2

apiVersion: kdeps.io/v1
kind: Resource
metadata:
  actionId: python
  name: Python Script
  description: Execute Python code
component:
  name: python
  with:
    script: |
      # Your Python code here
      import json

      # Access input via expressions
      input_data = "{% raw %}{{ get('input', '{}') }}{% endraw %}"

      # Process data
      result = {"processed": True, "input": input_data}

      # Output result as JSON (captured as the resource output)
      print(json.dumps(result))
    timeout: 60s

response.yaml.j2

apiVersion: v2
kind: Resource
metadata:
  actionId: response
  name: API Response
  description: Format API response
run:
  apiResponse:
    response:
      success: true
      data:
        result: "{% raw %}{{ get('result') }}{% endraw %}"
      meta:
        timestamp: "{% raw %}{{ info('current_time') }}{% endraw %}"
        requestId: "{% raw %}{{ info('request.ID') }}{% endraw %}"

search.yaml.j2

apiVersion: v2
kind: Resource
metadata:
  actionId: search
  name: Web Search
  description: Search the web or local files and return URLs for use with the scraper resource
run:
  search:
    provider: brave         # brave | duckduckgo | tavily | local
    query: "{{ get('q') }}"
    # apiKey: "{{ env('BRAVE_API_KEY') }}"
    # limit: 10
    # safeSearch: false
    # region: "us"
    # timeout: "30s"
    #
    # Local filesystem search (provider: local):
    # path: "."             # root directory (default: FSRoot)
    # glob: "**/*.md"       # filename pattern
    # query: "search term"  # optional content match

sql.yaml.j2

apiVersion: v2
kind: Resource
metadata:
  actionId: sql
  name: SQL Query
  description: Execute SQL database queries
run:
  component:
    name: sql
    with:
      connectionName: main
      query: "SELECT * FROM users WHERE id = $1"
      params:
        - "{% raw %}{{ get('id') }}{% endraw %}"
      format: json
      maxRows: 100
      timeout: "30s"
  validations:
    required:
      - id
    rules:
      - field: id
        type: integer
        message: "ID must be a valid integer"

Versions

VersionPublishedStatus
1.0.410/22/2026active
1.0.310/21/2026active
1.0.210/21/2026active
1.0.110/15/2026active
1.0.010/11/2026active

Details

Author
kdeps
License
Apache-2.0
Latest Version
1.0.4
Published
10/11/2026

Tags

kdepstemplate