Skip to main content

CLI to list and link CursorCult rules.

Project description

CursorCult

CursorCult is a library of small, opinionated Cursor rule packs. Each rule lives in its own repository and is meant to be copied into a codebase that wants to follow it.

How to use

  1. Run cursorcult to see released rule packs and pick the ones that match your project.
  2. Read the pack’s README.md to understand when it applies and how it interacts with other rules.
  3. Add rule packs into your project under .cursor/rules/:
    • Preferred: link them as git submodules (keeps you on tagged versions).
    • Optional: copy them in as plain files.
  4. Multiple packs coexist as siblings:
.cursor/rules/UNO/
.cursor/rules/Pinocchio/
.cursor/rules/TruthOrSilence/
...

CursorCult doesn’t prescribe which rules you must use—only provides clean, composable building blocks.

Format

Every rule repo follows the same minimal format:

  • RULE.md — the ruleset itself, written in the modern Cursor style.
  • README.md — when to use the rule and any credits.
  • LICENSE — currently The Unlicense (public domain).

Rule repos are intentionally tiny and low‑ceremony. Contributions are via pull requests.

Cursor rule file format reference: https://cursor.com/docs/context/rules#rulemd-file-format

Discovering rules

CursorCult publishes many small rule repos. Instead of keeping a static list here, use the cursorcult CLI.

pipx install cursorcult
cursorcult

If the PyPI package isn’t available yet, install from GitHub:

pipx install git+https://github.com/CursorCult/_CursorCult.git

This prints the released rules in the organization (repos with a vN tag), each repo’s one‑line description, latest tag version, and a link to its README.md. Repos without tags are treated as unreleased and are not listed.

To link a rule pack into your project as a git submodule:

cursorcult link <NAME>
cursorcult link <NAME>:v<X>

link expects a .cursor/rules/ directory at your project root. It adds the chosen rule repo as a submodule under .cursor/rules/<NAME> and checks out the requested tag (default: latest vN).

To copy a rule pack into your project without using submodules:

cursorcult copy <NAME>
cursorcult copy <NAME>:v<X>

copy writes the pack’s LICENSE, README.md, and RULE.md into .cursor/rules/<NAME> at the requested tag.

Rule repos use simple integer tags (v0, v1, v2, …). The CLI itself is versioned with semantic versioning (vX.Y.Z).

Creating a new rule pack

To create a new rule repo with the standard template:

cursorcult new <NAME> --description "one-line summary"

This creates CursorCult/<NAME> and initializes:

  • LICENSE (Unlicense)
  • README.md (with install section)
  • RULE.md
  • .github/workflows/ccverify.yml

Release convention for new rules:

  • Develop on main with any number of commits while unreleased (no tags).
  • When ready for the first release, squash main to a single commit and tag it v0.
  • After any vN tags exist, tags must remain contiguous (v0, v1, v2, …). This is what cursorcult verify enforces.

Contributing

  • Open a PR against the relevant rule repo.
  • Keep changes focused and consistent with the rule’s voice: RULE.md is professional/exacting; README.md can be cheeky.
  • Before tagging a rule release, validate the repo format with cursorcult verify from a local clone.

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

cursorcult-0.10.1.tar.gz (12.6 kB view details)

Uploaded Source

Built Distribution

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

cursorcult-0.10.1-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file cursorcult-0.10.1.tar.gz.

File metadata

  • Download URL: cursorcult-0.10.1.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cursorcult-0.10.1.tar.gz
Algorithm Hash digest
SHA256 cd1ca475cbebb2e17c71ec0b0fdeefc8c5ac22b50c51afb70e5bda605dd5dcaf
MD5 62b1385e40129721379072ceb90eb43d
BLAKE2b-256 fa37d4af9cbb93186ee02a9da394d9a3c18a9d66c4585fba69ad7c74dce26d8e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cursorcult-0.10.1.tar.gz:

Publisher: publish.yml on CursorCult/_CursorCult

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

File details

Details for the file cursorcult-0.10.1-py3-none-any.whl.

File metadata

  • Download URL: cursorcult-0.10.1-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cursorcult-0.10.1-py3-none-any.whl
Algorithm Hash digest
SHA256 99d6a0ff9fcd4ecc879b370d19b52f5df935ab04e56327e1355afa70ee22296d
MD5 1e779f90708f6ecf99fc4ecfc4a8135d
BLAKE2b-256 bf97c052da1dcb7a9dc985efa6fa15bf4a2ac950efb0eb533a2a95eaa7f72438

See more details on using hashes here.

Provenance

The following attestation bundles were made for cursorcult-0.10.1-py3-none-any.whl:

Publisher: publish.yml on CursorCult/_CursorCult

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