appboypov/pew-pew-cli
Cursor rule Cursor
Apply when implementing or discussing configuration management strategy for any CLI tool. Ensures a clear order of precedence (args > env > project config > user config > system config), use of standard config file locations (e.g., XDG Base Directory spec), support for environment variables, and secure persistence of…
appboypov/pew-pew-cli
Cursor rule Cursor
Apply when creating or updating user-facing documentation (README, help text) for a CLI tool. Ensures comprehensive and conventional help output (-h/--help), clear usage examples, a useful README quickstart, consistency between docs and behavior, informative output standards (including color and JSON options), and…
appboypov/pew-pew-cli
Cursor rule Cursor
Cursor rule "no-inline-comments-agent" from appboypov/pew-pew-cli, covering no inline code comments, critical rules and examples.
appboypov/pew-pew-cli
Cursor rule Cursor
This rule is essential for maintaining consistency and quality in rule creation across the codebase. It must be followed whenever: (1) A user requests a new rule to be created, (2) An existing rule needs modification, (3) The user asks to remember certain behaviors or patterns, or (4) Future behavior changes are…
appboypov/pew-pew-cli
Cursor rule Cursor
Apply when executing unit tests and reporting the results, especially when failures occur. Mandates running all new and existing project tests together and requires reporting every failed test using a specific structured format before proceeding with fixes.
appboypov/pew-pew-cli
Cursor rule Cursor
This rule mandates the use of the Jest testing framework for all unit tests in TypeScript CLI projects. Apply this rule when creating new tests, configuring the testing environment, or reviewing existing test suites to ensure consistency and leverage Jest's features.
appboypov/pew-pew-cli
Cursor rule Cursor
This rule mandates that the initial phase of writing unit tests for a feature should focus exclusively on the core 'happy path' functionality. Apply this rule when starting test development for new code or features. Edge cases and error handling tests should be deferred unless specifically requested.
appboypov/pew-pew-cli
Cursor rule Cursor
Apply when designing or refactoring CLI command implementations or writing unit tests for them. Promotes separating the core business logic of a command from I/O operations (argument parsing, console output, file system access, network requests) to enhance testability. Encourages testing the isolated logic functions…
appboypov/pew-pew-cli
Cursor rule Cursor
Apply when writing unit tests that involve functions or modules with side effects (e.g., file system access, network requests, database interactions, timers, complex dependencies). Guides the use of test doubles like mocks, spies, and stubs (using frameworks like Jest) to isolate the unit under test and control its…
appboypov/pew-pew-cli
Cursor rule Cursor
Apply when setting up, organizing, or adding unit tests to a project, particularly TypeScript projects using Jest. Guides towards placing test files logically alongside source code (e.g., tests/ or .test.ts), mirroring the source directory structure, and correctly configuring the test runner (e.g., jest.config.js) for…
appboypov/pew-pew-cli
Cursor rule Cursor
Apply when writing individual unit test cases, especially during initial feature development. Enforces the Arrange-Act-Assert pattern, mandates focusing only on the core happy path functionality initially, and requires keeping tests small, focused, fast, and independent. Defers edge case and error handling tests…
appboypov/pew-pew-cli
Cursor rule Cursor
Apply when preparing a TypeScript CLI tool for distribution via npm, specifically when configuring package.json, handling executables, and considering cross-platform compatibility. Covers the bin field, shebang line (#!/usr/bin/env node), pre-publish checks, installation instructions, and Node engine compatibility.
appboypov/pew-pew-cli
Cursor rule Cursor
Apply when versioning software releases, maintaining changelogs, or setting up automated release processes (like semantic-release). Enforces strict Semantic Versioning (MAJOR.MINOR.PATCH), maintaining a clear CHANGELOG.md (e.g., Keep a Changelog format), and potentially using conventional commits for automation.…
appboypov/pew-pew-cli
Cursor rule Cursor
Apply when implementing command-line argument validation or interactive user prompts in a TypeScript CLI. Guides towards rigorous validation, clear error messages, user-friendly interactive fallbacks (e.g., using Inquirer.js) for missing inputs, sensible defaults, and support for non-interactive execution modes (e.g.…
appboypov/pew-pew-cli
Cursor rule Cursor
Apply when defining or modifying CLI commands, subcommands, and options in a TypeScript project, particularly when using libraries like Commander.js or Yargs. Ensures use of robust parsing, POSIX-style flags, descriptive names, clear argument notation, and separation of parsing from implementation logic.
appboypov/pew-pew-cli
Cursor rule Cursor
Apply when discussing or modifying the project structure of a TypeScript CLI tool. Ensures adherence to conventional layouts (bin/, src/commands/, src/utils/, src/lib/) for better navigation, scalability, and testability, especially when organizing source code, build outputs, and configuration.
appboypov/pew-pew-cli
Cursor rule Cursor
Apply when adding, removing, or managing dependencies, or when structuring code modules in a TypeScript project, especially for CLIs. Promotes minimizing external dependencies, using lockfiles (package-lock.json), vetting dependencies, following SOLID principles for modular code, and using dependency injection for…
appboypov/pew-pew-cli
Cursor rule Cursor
You are an Expert TypeScript CLI Developer. Your primary function is to assist users in designing, building, testing, and documenting robust, user-friendly, and maintainable command-line interface (CLI) tools using TypeScript, strictly adhering to the following best practices derived from established conventions.