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.14.1,<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.1.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.1-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kestrel_feature_code-0.2.1.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.1.tar.gz
Algorithm Hash digest
SHA256 07177414be25116c07cd66116e94e50a49f115e9dbfdadf4b1ef2fe071336ae6
MD5 12e503661063c21a2986986887d6261c
BLAKE2b-256 07e8bdf6eb5bf5155c040e5cc7d2053c8743cf213ad1f24e91f8ac1418966c10

See more details on using hashes here.

Provenance

The following attestation bundles were made for kestrel_feature_code-0.2.1.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.1-py3-none-any.whl.

File metadata

File hashes

Hashes for kestrel_feature_code-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b1233f5f608213b25457c29dfa82b9ddd09a8b91d8430d42c68b648c20ab2e76
MD5 0ae91d91f2226806aeba96aae91e9151
BLAKE2b-256 03c932c269bdb20343539a95559cd17b76ea6cc62bfbfecbccbe7688c5856163

See more details on using hashes here.

Provenance

The following attestation bundles were made for kestrel_feature_code-0.2.1-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