Skip to main content

Codebase tooling feature for Kestrel Sovereign — read, search, edit, lint, test, commit, rollback with approval gates

Project description

kestrel-feature-code

Codebase tooling feature for Kestrel Sovereign agents — 10 tools spanning read-only inspection (read, search, diff, lint, logs) and approval-gated mutation (edit, commit, rollback, restart, test).

Installation

uv pip install kestrel-feature-code

The feature is auto-discovered by Kestrel Sovereign via the kestrel_sovereign.features entry point — install it alongside kestrel-sovereign and CodeFeature registers itself at startup.

v0.2.0 rename: CodeEditFeatureCodeFeature. The old name is kept as a deprecated alias through v0.2.x for entry-point and import cutover; importing it emits a DeprecationWarning. Removed in v0.3.0. All @tool methods now return kestrel_sdk.tools.result.ToolResult (was: Dict[str, Any]); see kestrel-sovereign #1042 for the honesty contract.

Configuration

Variable Description
KESTREL_CODE_ROOT Root directory of the codebase the feature operates on (default: project root)

Tools

Tool Category Description
code_read DATA_ACCESS Read a source file
code_search DATA_ACCESS Search the codebase
code_diff DATA_ACCESS Show uncommitted git changes
code_lint DATA_ACCESS Run ruff linter
code_logs DATA_ACCESS View recent application logs
code_edit SYSTEM Edit a source file (approval-gated)
code_commit SYSTEM Commit staged changes (approval-gated)
code_rollback SYSTEM Roll back to a previous commit (approval-gated)
code_restart SYSTEM Signal server restart (approval-gated)
code_test SYSTEM Run pytest (full suite is approval-gated)

Dependencies

  • kestrel-sovereign-sdk>=0.4,<1 — base Feature, tool, ToolCategory, ToolResult

No runtime dependency on kestrel-sovereign itself; the feature operates against any codebase via KESTREL_CODE_ROOT.

Development

uv pip install -e '.[test]'
uv run pytest

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kestrel_feature_code-0.2.0.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kestrel_feature_code-0.2.0-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

Details for the file kestrel_feature_code-0.2.0.tar.gz.

File metadata

  • Download URL: kestrel_feature_code-0.2.0.tar.gz
  • Upload date:
  • Size: 17.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kestrel_feature_code-0.2.0.tar.gz
Algorithm Hash digest
SHA256 1757b5546fdeb8f096be397a88ffc8798cda2987c0e1817a18b9d19ecc66660e
MD5 920830f426756baf09e275282e1e8ae0
BLAKE2b-256 197274315da97f844f5d2299270f5ee1a80cf1a21257bc4e503f40dde1d3e327

See more details on using hashes here.

Provenance

The following attestation bundles were made for kestrel_feature_code-0.2.0.tar.gz:

Publisher: publish.yml on KestrelSovereignAI/kestrel-feature-code

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kestrel_feature_code-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for kestrel_feature_code-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 49136a008fa7076edd362ec01e50237fe52b10db898ab9c32db56cfb016587b0
MD5 c74165dcaae70116a0b470ce37dd89a6
BLAKE2b-256 0798182fada7482b527306c68ec87cb89fe77e292814955db87c92e74e63ad49

See more details on using hashes here.

Provenance

The following attestation bundles were made for kestrel_feature_code-0.2.0-py3-none-any.whl:

Publisher: publish.yml on KestrelSovereignAI/kestrel-feature-code

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page