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
- Run
cursorcultto see released rule packs and pick the ones that match your project. - Read the pack’s
README.mdto understand when it applies and how it interacts with other rules. - 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.
- 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
mainwith any number of commits while unreleased (no tags). - When ready for the first release, squash
mainto a single commit and tag itv0. - After any
vNtags exist, tags must remain contiguous (v0,v1,v2, …). This is whatcursorcult verifyenforces.
Contributing
- Open a PR against the relevant rule repo.
- Keep changes focused and consistent with the rule’s voice:
RULE.mdis professional/exacting;README.mdcan be cheeky. - Before tagging a rule release, validate the repo format with
cursorcult verifyfrom a local clone.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd1ca475cbebb2e17c71ec0b0fdeefc8c5ac22b50c51afb70e5bda605dd5dcaf
|
|
| MD5 |
62b1385e40129721379072ceb90eb43d
|
|
| BLAKE2b-256 |
fa37d4af9cbb93186ee02a9da394d9a3c18a9d66c4585fba69ad7c74dce26d8e
|
Provenance
The following attestation bundles were made for cursorcult-0.10.1.tar.gz:
Publisher:
publish.yml on CursorCult/_CursorCult
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cursorcult-0.10.1.tar.gz -
Subject digest:
cd1ca475cbebb2e17c71ec0b0fdeefc8c5ac22b50c51afb70e5bda605dd5dcaf - Sigstore transparency entry: 760816076
- Sigstore integration time:
-
Permalink:
CursorCult/_CursorCult@6f61a541b5963e4d6b18b2fae2b77684678f533b -
Branch / Tag:
refs/tags/v0.10.1 - Owner: https://github.com/CursorCult
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6f61a541b5963e4d6b18b2fae2b77684678f533b -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
99d6a0ff9fcd4ecc879b370d19b52f5df935ab04e56327e1355afa70ee22296d
|
|
| MD5 |
1e779f90708f6ecf99fc4ecfc4a8135d
|
|
| BLAKE2b-256 |
bf97c052da1dcb7a9dc985efa6fa15bf4a2ac950efb0eb533a2a95eaa7f72438
|
Provenance
The following attestation bundles were made for cursorcult-0.10.1-py3-none-any.whl:
Publisher:
publish.yml on CursorCult/_CursorCult
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cursorcult-0.10.1-py3-none-any.whl -
Subject digest:
99d6a0ff9fcd4ecc879b370d19b52f5df935ab04e56327e1355afa70ee22296d - Sigstore transparency entry: 760816079
- Sigstore integration time:
-
Permalink:
CursorCult/_CursorCult@6f61a541b5963e4d6b18b2fae2b77684678f533b -
Branch / Tag:
refs/tags/v0.10.1 - Owner: https://github.com/CursorCult
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6f61a541b5963e4d6b18b2fae2b77684678f533b -
Trigger Event:
push
-
Statement type: