kdeps-components-git
v1.0.3kdeps kdeps-component: git
set components / shelf workflow
PurposeStructured git operations (status, diff, log, show, branch, remote, add, commit, checkout, init, clone, push, pull)
LLM context: ~340 tokens when loaded (prompt or tool definition)
Where it runs
Part of the components set, used in workflow and agent mode. Ready-made workflow steps (sql, browser, email, git, ocr...) a resource calls by name; in agent mode they are also tools.
- a resource names a component (or the model calls it as a tool)
- the component's own resources runcomponents/git
- its output goes back to the caller
Loaded by: kdeps (agent loop), /settings, kdeps validate, kdeps run, kdeps bundle package, kdeps env, kdeps export k8s, kdeps test
In the code: kdeps (agent loop)yaml.(*Parser).ParseWorkflowyaml.(*Parser).loadAssetComponents
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.
Also installs what it requires, when missing or older: schemas/v1, tools/git_ops.
Pin a version with kdeps install components/git@<version>.
Contents
component.yaml
apiVersion: kdeps.io/v1
kind: Component
metadata:
name: git
description: Structured git operations (status, diff, log, show, branch, remote, add, commit, checkout, init, clone, push, pull)
version: "1.1.1"
interface:
inputs:
- name: operation
type: string
required: true
description: status, diff, log, show, branch, remote, add, commit, checkout, init, clone, push or pull
- name: workingDir
type: string
default: ""
description: Repository directory (clone - the target directory); default the current directory
- name: paths
type: string
default: ""
description: Space-separated paths for add, checkout, diff, log (add defaults to .)
- name: message
type: string
default: ""
description: Commit message (commit)
- name: branch
type: string
default: ""
description: Branch for checkout, push, pull
- name: url
type: string
default: ""
description: Repository URL (clone)
- name: remote
type: string
default: origin
description: Remote for push and pull
- name: args
type: string
default: ""
description: Extra space-separated git arguments (show)
- name: maxCount
type: integer
default: 10
description: Commits to list (log)
- name: dryRun
type: boolean
default: false
description: Report what a write operation would do without doing it
output: "{{ fromJSON(output('gitOperation').body) }}"
resources:
# One call to the kdeps API's git_ops tool: the component holds no git code
# of its own.
- actionId: gitOperation
name: Git
httpClient:
method: POST
url: http://kdeps.api/apis/tools.kdeps.io/v1/tools/git_ops/call
headers:
Content-Type: application/json
timeout: 300s
failOnError: true
data:
operation: "{{ get('git.operation') }}"
workingDir: "{{ get('git.workingDir') }}"
paths: "{{ get('git.paths') }}"
message: "{{ get('git.message') }}"
branch: "{{ get('git.branch') }}"
url: "{{ get('git.url') }}"
remote: "{{ get('git.remote') }}"
args: "{{ get('git.args') }}"
maxCount: "{{ get('git.maxCount') }}"
dryRun: "{{ get('git.dryRun') }}"
requires:
schemas/v1: ""
tools/git_ops: ""
version: 1.0.3
requires:
schemas/v1: ""
tools/git_ops: ""
files:
component.yaml: |
apiVersion: kdeps.io/v1
kind: Component
metadata:
name: git
description: Structured git operations (status, diff, log, show, branch, remote, add, commit, checkout, init, clone, push, pull)
version: "1.1.1"
interface:
inputs:
- name: operation
type: string
required: true
description: status, diff, log, show, branch, remote, add, commit, checkout, init, clone, push or pull
- name: workingDir
type: string
default: ""
description: Repository directory (clone - the target directory); default the current directory
- name: paths
type: string
default: ""
description: Space-separated paths for add, checkout, diff, log (add defaults to .)
- name: message
type: string
default: ""
description: Commit message (commit)
- name: branch
type: string
default: ""
description: Branch for checkout, push, pull
- name: url
type: string
default: ""
description: Repository URL (clone)
- name: remote
type: string
default: origin
description: Remote for push and pull
- name: args
type: string
default: ""
description: Extra space-separated git arguments (show)
- name: maxCount
type: integer
default: 10
description: Commits to list (log)
- name: dryRun
type: boolean
default: false
description: Report what a write operation would do without doing it
output: "{{ fromJSON(output('gitOperation').body) }}"
resources:
# One call to the kdeps API's git_ops tool: the component holds no git code
# of its own.
- actionId: gitOperation
name: Git
httpClient:
method: POST
url: http://kdeps.api/apis/tools.kdeps.io/v1/tools/git_ops/call
headers:
Content-Type: application/json
timeout: 300s
failOnError: true
data:
operation: "{{ get('git.operation') }}"
workingDir: "{{ get('git.workingDir') }}"
paths: "{{ get('git.paths') }}"
message: "{{ get('git.message') }}"
branch: "{{ get('git.branch') }}"
url: "{{ get('git.url') }}"
remote: "{{ get('git.remote') }}"
args: "{{ get('git.args') }}"
maxCount: "{{ get('git.maxCount') }}"
dryRun: "{{ get('git.dryRun') }}"
Versions
| Version | Published | Status |
|---|---|---|
| 1.0.3 | 10/21/2026 | active |
| 1.0.2 | 10/21/2026 | active |
| 1.0.1 | 10/13/2026 | active |
| 1.0.0 | 10/13/2026 | active |
Details
- Author
- kdeps
- License
- Apache-2.0
- Latest Version
- 1.0.3
- Published
- 10/13/2026