UNPKG

@usrrname/cursorrules

Version:

A wicked npx-able lib of cursor rules with Otaku AI agents

249 lines (164 loc) β€’ 9.25 kB
# cursorrules 🌸 <div style="display: flex; flex-direction: row; gap: 10px;"> [![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) </div> 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. <details> <summary>Output Example</summary> ```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) </details> ### πŸ“š 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 ``` <details> <summary>Output Example</summary> ```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 ``` </details> ## Contributing Contributions are welcome! Check out [CONTRIBUTING.md](./CONTRIBUTING.md)