Skip to main content

Grinta

Grinta logo

A local-first autonomous coding agent built to finish long, failure-prone software tasks.

Tests Lint Python 3.12–3.13 License: MIT Status: release candidate

Demo recording: published with the corresponding GitHub Release rather than stored in the source repository.

Grinta plans, edits, runs commands, debugs failures, validates the result, and continues until the task is finished. Its control plane and session state stay local; inference can use a major hosted provider or a local model.

Install · Documentation · Architecture · Showcase

4h 33m autonomous run · 16,393 events · 373 tool outcomes · no additional user messages

Inspect the sanitized execution report

Why Grinta?

  • Runs its control plane, execution, session history, and checkpoints locally
  • Works across OpenAI, Anthropic, Google, OpenRouter, Ollama, and LM Studio
  • Uses real Language Server Protocol (LSP) and Debug Adapter Protocol (DAP) integrations
  • Recovers from provider failures, malformed tool calls, timeouts, and context pressure
  • Keeps a durable event ledger, checkpoints, reverts, and inspectable audit trails
  • Exposes Chat, Plan, and Agent workflows in a focused terminal UI

Install

Install the stable version from PyPI or source:

git clone https://github.com/josephsenior/Grinta-Coding-Agent.git Grinta
cd Grinta
pipx install -e .
grinta

Or install directly from PyPI:

pipx install grinta
grinta

Optional integrations are available as grinta[rag], grinta[browser], or grinta[all]. See the Quick Start for Windows, WSL2, Linux, macOS, and provider setup.

Showcase

Long-horizon execution Failure recovery Raft key-value store
Ran autonomously for 4h 33m, processed 16,393 events, and reached FINISHED through provider and runtime failures. Read failing test output, isolated defects, edited the affected code, and reran validation without a follow-up prompt. Built a Raft-backed key-value store, recovered from a race-condition failure, and finished with 39/39 tests passing.
Read the report Inspect the case study Watch and inspect

Browse every case study →

How it works

flowchart TD
    A["Task"] --> B["Plan and act"]
    B --> C["Local tools"]
    C --> D["Observe and validate"]
    D -->|"More work or failure"| B
    D -->|"Quality gates pass"| E["Finish"]

The SessionOrchestrator coordinates model intent, the safety and validation pipeline, local execution, and observations. A durable event stream records the session while completion gates reduce premature “done” states. Read the architecture guide for the full component map and reliability guide for recovery behavior.

Product philosophy

This table describes Grinta's design commitments—not an unverified performance ranking against other agents.

Capability Grinta
Local control plane Yes
Provider-agnostic inference Yes
Local-model support Yes
LSP integration Yes
DAP debugging Yes
Durable session ledger Yes
Checkpoints and revert Yes
Terminal UI Yes
Cloud account required No

Grinta is designed for developers who value local execution, provider freedom, inspectable state, and recovery-oriented workflows that can survive long tasks.

Safety boundary

Grinta runs commands with the privileges of the local user. Policy gates, secret masking, and optional process isolation reduce risk but do not make hostile code safe. Use a VM or container for untrusted repositories and read the security checklist before increasing autonomy.

Help build Grinta

Grinta is seeking contributors interested in:

  • Agent reliability and recovery
  • LSP and debugger integrations
  • Local-model compatibility
  • Terminal user interfaces
  • Autonomous-agent evaluation

Start with a good-first-issue or read the Contributor Map. The full development workflow is in CONTRIBUTING.md.

Documentation

Created and maintained by Youssef Mejdi. Released under the MIT License.

Download files

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

Source Distribution

grinta-1.0.0.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

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

grinta-1.0.0-py3-none-any.whl (2.3 MB view details)

Uploaded Python 3

File details

Details for the file grinta-1.0.0.tar.gz.

File metadata

  • Download URL: grinta-1.0.0.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for grinta-1.0.0.tar.gz
Algorithm Hash digest
SHA256 11cd30e41be53b4be552e87552c57afb8d753b1b2e46c9e2ed93f972a2f2f7b3
MD5 a6641c8be6eb308fc55ed4bdbb3e2006
BLAKE2b-256 00f1c2f5404460ed13de40dfbdcf0243a5cf0ed88c26c1d060dddd805dd23f7f

See more details on using hashes here.

Provenance

The following attestation bundles were made for grinta-1.0.0.tar.gz:

Publisher: pypi-release.yml on josephsenior/Grinta-Coding-Agent

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

File details

Details for the file grinta-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: grinta-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for grinta-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 269482832d23aa30dbf0c82655a336e0f6aaf9914e14b70944e5d4b766baea27
MD5 afd4649f54c613d128559dab4cecfca3
BLAKE2b-256 067007aa8c2185994bf130aad3bb2d92ab20ce97bd4ce0e6a97923fcdf20a263

See more details on using hashes here.

Provenance

The following attestation bundles were made for grinta-1.0.0-py3-none-any.whl:

Publisher: pypi-release.yml on josephsenior/Grinta-Coding-Agent

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

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 files

Supported by

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