agentleFS
bordenetbordenet/superpowers-plus/.cursor/rules/cli-tools.mdc

superpowers-plus / rules

Cursor rule8 starsChanged 3 days agoMITView on GitHub

cli-tools rules

The file

We split this cli-tools.mdc into the rules it gives an agent

2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Document dependencies at top

    line 26
  2. Distinctive:

    Test on macOS and Linux:

    line 38

≈ “Common” is an estimate: at least 1 in 5 of the 6,668 Cursor rule files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
cli-tools.mdc
---
description: cli-tools rules
alwaysApply: true
---

# CLI Tools Conventions

> **Priority**: HIGH - Apply to CLI/terminal tools  
> **Source**: codebase-reviewer, scripts AGENTS.md

## CLI integration tests

CLI tools need integration tests that verify:
- Command execution with various inputs
- Exit codes (0 for success, non-zero for errors)
- Output format correctness
- Error message quality

## Shell Script Standards

### Self-Contained

Scripts should be:
- Executable without external setup
- Include all needed helpers inline
- Document dependencies at top

### Robust

Scripts should:
- Use `set -euo pipefail`
- Handle empty inputs gracefully
- Quote all variables
- Provide helpful error messages

### macOS-Aware

Test on macOS and Linux:
- BSD vs GNU tool differences
- Path conventions
- Available commands

## Output Patterns

### Progress Indicators

```bash
echo "Processing files..."
for file in "${files[@]}"; do
    echo "  - $file"
    process "$file"
done
echo "Done. Processed ${#files[@]} files."
```

### Error Output

```bash
# Errors to stderr
echo "Error: File not found: $file" >&2
exit 1
```

### Exit Codes

| Code | Meaning |
|------|---------|
| 0 | Success |
| 1 | General error |
| 2 | Misuse/invalid args |
| 126 | Permission denied |
| 127 | Command not found |

## Help Text Pattern

```bash
usage() {
    cat << EOF
Usage: ${0##*/} [OPTIONS] <input>

Description of what the command does.

Options:
    -h, --help     Show this help message
    -v, --verbose  Enable verbose output
    -o, --output   Output directory (default: .)

Examples:
    ${0##*/} input.txt
    ${0##*/} -v -o ./out input.txt
EOF
}
```


<!-- golden-agents:generated -->

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.