An open API service indexing awesome lists of open source software.

https://github.com/usrrname/cursorrules

A wicked npx-able lib of cursorrules with Otaku AI agents, optional lean workflow πŸŽ€
https://github.com/usrrname/cursorrules

agent cursor cursor-ai cursorrules

Last synced: 3 months ago
JSON representation

A wicked npx-able lib of cursorrules with Otaku AI agents, optional lean workflow πŸŽ€

Awesome Lists containing this project

README

          

# cursorrules 🌸

[![Deploy to GitHub Pages](https://github.com/usrrname/cursorrules/actions/workflows/pages.yml/badge.svg)](https://github.com/usrrname/cursorrules/actions/workflows/pages.yml)

[![Publish Package](https://github.com/usrrname/cursorrules/actions/workflows/publish.yml/badge.svg?event=release)](https://github.com/usrrname/cursorrules/actions/workflows/publish.yml)

[![npm version](https://badge.fury.io/js/%40usrrname%2Fcursorrules.svg)](https://badge.fury.io/js/%40usrrname%2Fcursorrules)

A standard library of rules for Cursor, inspired by geoffrey huntley [@ghuntley](https://github.com/ghuntley)'s ["You are using Cursor AI incorrectly..."](https://ghuntley.com/stdlib/) and borrowing heavily from Brian Madison [@bmadcode](https://github.com/bmadcode)'s [BMAD Method](https://github.com/bmad-code-org/BMAD-METHOD).

![cursorrules-ezgif com-optimize](https://github.com/user-attachments/assets/8d522514-6e56-4dcd-9fd0-08a20ff69919)

## πŸš€ Installation

```bash
npx @usrrname/cursorrules
```

By default, the package saves `.cursor/` folder inside a `output/` directory at your current working directory.

But if you're inside the root of a project folder, running `npx @usrrname/cursorrules --flat` will save the `.cursor/` folder to the root of the project, and then you're ready to go!

### Command Options

| Flag | Description |
|------|-------------|
| `-h, --help` | Display help instructions |
| `-i, --interactive` | Interactive Rule Selection |
| `-f, --flat` | Install without parent directory |
| `-o, --output` | Set output directory (Default: `.cursor/`) |
| `-v, --version` | Show package version |

![interactive](https://github.com/user-attachments/assets/179777e5-9ee3-4f4b-8d6b-9dd1b33ba8d2)

## ✨ Featured AI Agents

Meet our delightfully (neuro)diverse team of AI assistants:

- **SailorScrum** - A supportive leader who helps you plan and track your projects in the spirit of Sailor Moon.
- **KawaiiSamurai** - An enthusiastic otaku developer who makes coding kawaii~
- **BasicDev** - A perfectly adequate corporate programmer
- **SageDaddy** - A battle-tested veteran developer with 20 years of wisdom
- **Spellchuck** - A meticulous documentation diva (that's me! ✨)
- **ThirstySimp** - An anxious but well-meaning trend-conscious developer
- **qwoof** - A blunt, opinionated, quality assurance anthro-wolf.
- **Godmode** - A gentle, battle-hardened devops superagent
- **Fair Witness** - An agent that analyzes topics using five functions: observer, evaluator, analyst, synthesist, and communicator

For more, see [modes.json](./.cursor/modes.json)

## :new: The Fair Witness FrameworkπŸͺ„πŸ“œ

It can be hard to get a neutral or objective analysis of a topic. This agent provides structured analysis using Function-Epistemic Approaches from the [Fair Witness framework](https://fairwitness.bot/). You can customize the analysis with:

- **Functions**: Choose which functions to include (observer, evaluator, analyst, synthesist, communicator)
- **Complexity**: Set detail level (low, moderate, high)
- **Tone**: Adjust style (dry, engaging, vivid)
- **Length**: Control output size (low, moderate, high)

```
# Basic analysis
Use Fair Witness to analyze artificial intelligence in healthcare

# Customized analysis
Use Fair Witness to analyze climate change with functions: observer, synthesist, complexity: low, tone: engaging.

# Compare multiple topics

Use Fair Witness to compare Python, JavaScript, and TypeScript with functions: evaluator, analyst, communicator. Include sources. // includes web-based search results
```
:warning: You will find that different models will produce differing results.

See [Examples of using the Fair Witness Framework](./docs/fair-witness-examples.md)

## πŸ€– Supported AI Models

This project supports models supported by Cursor.

For the complete list of supported models, configuration guidelines, and selection recommendations, see Cursor's [**Supported Models Documentation**](https://docs.cursor.com/models#overview).

## About

This is an experiment to see if I can use Cursor to create a library of rules and agents that will aid in bootstrapping other projects with my own preferences. Part way there, I tried making the agents more fun to work with. It's kind of like playing the Sims.

Principles:

- uses Cursor latest version
- _TRY_ to prompt and use the agent/composer to reach goals as much as possible

## πŸ“ Project Structure

On the meta level, the project is structured as follows:

```
.cursor/
β”œβ”€β”€ rules/
β”‚ β”œβ”€β”€ core/ # Required global rules for agentic codegen
β”‚ β”œβ”€β”€ standards/ # Custom rules for standards around different languages and stacks
β”‚ β”œβ”€β”€ templates/ # Document templates for project context
β”‚ β”œβ”€β”€ utils/ # Rules for tooling and developer experience
β”‚ └── workflows/ # Rules for workflow to be followed by agents
└── modes.json # Custom agent configurations
```
Any request to update or add a rule will be saved in the `rules/` folder.

See [docs](./docs/custom-agents.md) for more information on the custom agents.

A project that uses these cursor rules and agents will generate the following structure, which is as follows:

```
.cursor/.ai/
β”œβ”€β”€ story-#.story.md | task-#.task.md # User story and task files generated by the lean workflow
β”œβ”€β”€ architecture/
β”‚ β”œβ”€β”€ high-level-architecture.md
β”‚ └── decision-records/
β”œβ”€β”€ backlog/
β”‚ └── story-#.story.md
└── spikes/
└── spike-#.spike.md
```

## πŸ“ Release Notes & Changelog Generation

In the enablement of complete laziness, I tried getting Cursor to release from chat.

### :construction: Automate Release Workflow :construction:

Use with caution. This isn't perfect.

Create a release with a version bump, generate release notes and changelog, and update the version in package.json.

#### Usage Examples:

In Agent, or Manual mode, you can use the following commands to generate release notes:

```bash
# Automate release
Create/Prepare a release

# Generate release notes with automatic version bump detection
[Create|Generate] release notes

# Specify version bump upfront
Create a major release
Create a minor release
Create a patch release
```

If you don't specify a version bump, the rule will ask you to choose a version bump.

Output Example

```markdown
# What's Changed in @usrrname/cursorrules v0.2.0

**Release Date**: December 19, 2024
**Previous Version**: 0.1.3
**Version Bump**: MINOR - New features added (dependency analysis and security scan rules)

## πŸš€ New Features
- **Dependency Analysis Agent** ([bd3cc13](link-to-commit)) - Added comprehensive dependency analysis agent with security scanning capabilities
- **Security Scan Agent** ([bd3cc13](link-to-commit)) - Implemented security scanning functionality for dependency vulnerability assessment

## πŸ› Bug Fixes
- **Security Scan Glob Patterns** ([b6ab515](link-to-commit)) - Fixed glob patterns for security-scan-agent rule to include bun.lockb files

## πŸ“‹ Version Update Commands
```bash
npm version minor --no-git-tag
git tag v0.2.0
git push origin v0.2.0
```

See [RELEASE_NOTES_v0.1.3_to_v0.1.4.md](./RELEASE_NOTES_v0.1.3_to_v0.1.4.md)

### πŸ“š Changelog Generator

Generates a comprehensive `changelog.md` file at the project root in the style of [Keep a Changelog](https://keepachangelog.com/en/) with all version history when asked in Agent or Manual mode.

#### Usage Examples:

```bash
# Generate complete changelog with all versions
(Create/generate) changelog

# The rule will:
# - Analyze all git tags from the beginning of the repository
# - Create chronological changelog with newest versions at top
# - Include unreleased changes section
# - Follow Keep a Changelog format standards
```

Output Example

```markdown
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### πŸš€ Added
- **New Authentication Method** ([abc1234](link-to-commit)) - Added alternative authentication method for enhanced security

### πŸ› Fixed
- **Login Issue Resolution** ([def5678](link-to-commit)) - Fixed critical login issue affecting user authentication

---

## [v2.0.0] - 2024-12-19

### πŸš€ Added
- **User Authentication System** ([#123](link-to-PR)) - Added comprehensive authentication with JWT tokens

### πŸ’₯ Changed
- **API v1 Deprecation** ([jkl3456](link-to-commit)) - Removed deprecated v1 endpoints

---

## [v1.3.0] - 2024-12-15

### πŸš€ Added
- **Dark Mode Support** ([#125](link-to-PR)) - Added comprehensive dark mode theme

[Unreleased]: https://github.com/username/project/compare/v2.0.0...HEAD
[v2.0.0]: https://github.com/username/project/compare/v1.3.0...v2.0.0
[v1.3.0]: https://github.com/username/project/releases/tag/v1.3.0
```

## Contributing

Contributions are welcome! Check out [CONTRIBUTING.md](./CONTRIBUTING.md)