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

CI 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
Python 3.12+ (macOS / Linux)
Default model composer-2.5
Auth CURSOR_API_KEY
Run state .cursorloop/

Status (honest)

Pre-1.0. Plan Tasks 1–20 are implemented on branch: 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.

See the implementation plan and docs site (mkdocs serve).

Install (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

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 100%, application 100%, infrastructure 85%, cli 85%.

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 reports: 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.1.0.tar.gz (227.6 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.1.0-py3-none-any.whl (95.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for cursorloop-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d77ff22ac3ab19bd8dee53873178a146579410cd79c6c400eb359f31e95da01e
MD5 c2eed7b1a04ef0df84fb13c657fc9750
BLAKE2b-256 b75d0ef86d31c2e8023a4291e6aee070cb0a5e6f188bede2d93e82cd3e3eb971

See more details on using hashes here.

Provenance

The following attestation bundles were made for cursorloop-0.1.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.1.0-py3-none-any.whl.

File metadata

  • Download URL: cursorloop-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 95.9 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6596bf492ad162daada7382ddab4585f56ad134de68550bec6d4d5dc036ea38c
MD5 7412c6d89052ef94f2880163c40f5b58
BLAKE2b-256 0b36954085dc691efec4a659eb993b7387bdbc39344e2a648f56a8290d96127e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cursorloop-0.1.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

0.3.0

2 files

This release

0.1.0 This release

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