Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 0.7.0 instead.

cursorloop

PyPI Python versions CI Docs License: MIT

Onion-architected, autonomous Cursor Agent session runner — Composer-first (composer-2.5); Grok is a secondary model profile, not a product. Never blocks on a human. Distinguishes a waitable rate-limit window from non-waitable exhausted credits.

Same job as claudeloop, retargeted onto the Cursor Agent SDK (cursor-sdk). No Anthropic dependency.

Author Adam Matthew Steinberger (@adammatthewsteinberger)
License MIT
Docs adammatthewsteinberger.github.io/cursorloop
Python 3.12+ (macOS / Linux)
Default model composer-2.5
Auth CURSOR_API_KEY
Run state .cursorloop/

Status (honest)

Pre-1.0. Tasks 1–20 are on main: Typer CLI (run / resume / doctor / mid-run control), bootstrap auto-launches CursorClient.launch_bridge, full doctor checklist (offline-capable), deterministic pytest -m system harness, Cloud Agents partial but live HTTP (cloud me|models|…, ADR-0006), CLI-fallback gateway, docs site, and mirrored agent skills.

Use CURSOR_API_KEY for live runs, or the scripted test-agent gate for offline end-to-end checks. cursorloop doctor --offline skips live me / models calls.

Start with the quickstart or browse the docs site. Design history lives in the implementation plan (GitHub tree; not part of the published site nav).

Install

pipx install cursorloop
# or
pip install cursorloop

From source:

git clone https://github.com/adammatthewsteinberger/cursorloop.git
cd cursorloop
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pre-commit install

See the installation guide.

Quality gates

ruff check src tests
ruff format --check src tests
mypy src/cursorloop
pytest
lint-imports
bandit -q -r src/cursorloop
pip-audit

Coverage floors (CI): domain / application / infrastructure / CLI — 100%.

Non-negotiables

Documented in AGENTS.md / CURSOR.md:

  1. Never block on a human.
  2. Credits exhaustion ≠ waitable rate-limit window.
  3. Capacity rejection always outranks a completion claim.
  4. domain/ stays pure (stdlib only).
  5. No Anthropic / claude_agent_sdk dependency or foreign auth env fallbacks.

Contributing

See CONTRIBUTING.md. PRs target develop. Security: SECURITY.md. Conduct: CODE_OF_CONDUCT.md.

Plans

Document Purpose
architecture-and-roadmap.md Design record / transplant plan
research-notes.md Vendor SDK/CLI research
_shared-transplant-outline.md Cross-product keep/swap
implementation plan Task-by-task TDD plan

License

MIT © Adam Matthew Steinberger. See LICENSE.

Download files

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

Source Distribution

cursorloop-0.3.0.tar.gz (231.3 kB view details)

Uploaded Source

Built Distribution

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

cursorloop-0.3.0-py3-none-any.whl (96.0 kB view details)

Uploaded Python 3

File details

Details for the file cursorloop-0.3.0.tar.gz.

File metadata

  • Download URL: cursorloop-0.3.0.tar.gz
  • Upload date:
  • Size: 231.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for cursorloop-0.3.0.tar.gz
Algorithm Hash digest
SHA256 004b9803ef814704ce0fb7ac9484de4be64fb340d6028ae29369bc057e0a4a23
MD5 38e44947e40beef94291c1c9879671be
BLAKE2b-256 ebc26a6b8bdeeae9f6064f2dbf5488c08ba894cd6351d696289b2fcf96ea6eca

See more details on using hashes here.

Provenance

The following attestation bundles were made for cursorloop-0.3.0.tar.gz:

Publisher: publish-to-pypi.yml on adammatthewsteinberger/cursorloop

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

File details

Details for the file cursorloop-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: cursorloop-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 96.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for cursorloop-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a0e7b1eff3a41753c73fb96e1cf3b8c6a874a2badeccf5df8b17df0c80c523e4
MD5 b7b32e1a3c462878d17a10247fd86894
BLAKE2b-256 ed9b5e2ed4ba0a04581689846dfb8d3769c6b71990db3f2df0cf7497f7f90f8c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cursorloop-0.3.0-py3-none-any.whl:

Publisher: publish-to-pypi.yml on adammatthewsteinberger/cursorloop

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

Release history Release notifications | RSS feed

0.7.0

2 files

0.6.0

2 files

0.4.0

2 files

This release

0.3.0 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page