Local Markdown Task Management For You & Your Agent with pewPewCLI ♡

Hey guys & gals 😁🤙🤙 It's been a while since my last post. Much has changed since then and so has my way of working with Cursor and other AI tools. I'm here to share a very cool tool I've been working on and with:

pew-next-task-demo-small.gif

TL;DR; pewPewCLI let's you specify where you keep your local task file(s) in a config yaml, after which you (and your agent) can use commands like pew next task to complete any current task and output the next.

🌍 Full Guide 🔗 GitHub 📦 NPM

💡 FYI: All three pages have proper readme with video / gif examples, which unfortunately I can't all post here due to platform size limitations.

Like many of you (I think) I've been playing around with hundreds of different combinations of prompts, rules, methods, strategies, etc. trying to find the perfect workflow / combination of methods and tools. I think I've kind of found it (for now 😅). It consists of three parts:

    1. Pre-planning (instructions + context) with Repo Prompt
    1. Planning with Google AI Studio (Gemini 2.5 Pro, or any model really)
    1. Execution with Cursor and my markdown task management tool pewPewCLI

The end result of steps 1 and 2 is a plan to execute on your request in the form of a markdown file with unchecked checkboxes for your tasks. I won't go to deep into steps 1 and 2 for now. I'm in the process of making a couple videos showcasing the exact steps which I'll post in this thread when I have them.

If you have no idea how to do steps 1 and 2, try to follow these steps:

Most important thing is you have a markdown task plan that you can use. Once you have that go into your project in Cursor. Install and init the pew pew cli using:

npm install -g pew-pew-cli && pew init --force

Then, then, then 😁 use pew paste tasks and it will paste it in your local task file (which you can edit in .pew/config/paths.yaml.

Then instruct your agent to start working on the task file using nothing but pew next task. Use this plx-develop-tasks.md Prompt if you want. The tool will then automatically:

  • Complete your current task

  • Output only the relevant task

  • Only work and focus on the relevant task

  • Follow the plan rigorously

  • Show progress & completion status

This has been incredibly efficient for me, resulting in doing up to 80% of my work as freelance developer with this workflow. Not saying it's perfect or that it will one shot everything you put into it, but it comes very close. And pretty much always when things go wrong it's because I didn't check the plan well enough or I didn't give enough context.

I'd love for you to check it out. There's also a very cool feature which allows you to make QA-checklists, pre-checklists, after task checklists. Kind of like a task pipeline, which you can reuse everytime.

If you want to reset them just use pew reset tasks and it will ask you which files to reset.

It's still early in development so there are a few bugs here and there. I'm aware of those and fixing them asap. I originally made this in python, but decided to refactor it when I dedicded to share it. Anyway, hope it brings much productivity and efficiency. Feel free to contact me for anything through this post or other channels. I'll be making updates, videos and other stuff surrounding this workflow and tools and will try to keep this thread updated.

For easy reference I'll end this post with the current readme of the tool. Thank you for reading. Pew pew 🔫😁🤙

🌍 Full Guide 🔗 GitHub 📦 NPM


pewPewCLI ❤️ Agents' Fav Dev Tool 🔫

Built to you by ultrawideturbodevs.com

hero.png

Lightweight CLI tool that enables collaborative local task file management between developers and AI agents.

💻 Install

Ensure you have Node.js and npm installed.

npm install -g pew-pew-cli && pew init

⚙️ Configuration

  • Local: .pew/config/ (specific to the current project/directory)

  • Global: ~/.pew/config/ (user-level settings)

paths.yaml

# List of files scanned by 'pew next task' and offered by 'pew reset tasks'
# Processed in the order listed. Absolute paths also work.
tasks:
  - relative/path/to/another/tasks/file.md
  - .pew/tasks.md
  # - /absolute/path/to/tasks.md

# Optional: Default target file for 'pew paste tasks'.
# If omitted, defaults to the first path listed under 'tasks:'.
paste-tasks: .pew/tasks.md

📝 Commands

CommandDescriptionOptions
pew initInitialize the pewPewCLI project structure in the current directory.-f, --force: Force initialization even if .pew directory exists.
pew set pathSet a configuration value for a path (currently only tasks).--field <field>: Field to set (only tasks).

--value <value>: Path value to set.
-g, --global: Set in global config (~/.pew). | | pew paste tasks | Paste clipboard content into the configured task file. | Paste mode (--override, --append, --insert). Prompts if omitted.
--path <value>: Specify target file path, overriding config. | | pew next task | Marks the current task (👉) complete and displays the next available task. | None | | pew reset tasks | Uncheck all completed tasks ([x]) in configured task files interactively. | None | | pew update | Check for updates and install the latest version of pew-pew-cli. | None |

📂 pew init

Creates the .pew directory and default configuration files (.pew/config/paths.yaml, .pew/tasks.md) in the current directory. It will prompt for the primary tasks file path unless --force is used.

# Interactive initialization
pew init

# Force initialization without prompts (uses defaults)
pew init --force

pew-init-demo.gif

📂 pew paste tasks

Reads content from your system clipboard and writes it to a task file. By default, it targets the file specified by paste-tasks in paths.yaml (or falls back to the first file under tasks:). You can specify the mode (overwrite, append, insert) or the target path using options. If no mode is specified, it will prompt interactively.

# Paste and overwrite the default task file
pew paste tasks --overwrite

# Append clipboard content to a specific file
pew paste tasks --path specific/project/tasks.md --append

# Run interactively to choose mode
pew paste tasks

pew-paste-task-demo.gif

👉 pew next task

This is the core command for progressing through your task lists. It finds the current task marked with 👉, marks it as complete (- [ ] -> - [x]), removes the 👉, finds the next available incomplete task (- [ ]) across all files configured in paths.yaml (in order), adds the 👉 prefix to it, and displays the context of that new task.

# Process the current task and move to the next one
pew next task

pew-next-task-demo-small.gif

📂 pew reset tasks

Resets completed tasks within your configured checklists. This command interactively prompts you to select which of the task files listed in your paths.yaml you want to reset. For each selected file, it changes all completed task markers (- [x] or - [X]) back to incomplete (- [ ]) and removes the 👉 prefix if present.

It helps restart repeatable workflows (like daily checklists, QA runs) without manual editing.

# Interactively select configured task files to reset
pew reset tasks

The prompt will show a summary of tasks within each file to help you select.

pew-reset-tasks-demo.gif

pew update

Checks if a newer version of pew-pew-cli is available on npm and prompts you to install it if found.

# Check for and install updates
pew update

📝 Pew Pipelines (pew next task)

You can manage different checklists across multiple files (e.g., main dev tasks, QA checklist).

  1. Configure paths.yaml: List all relevant files under the tasks: key in order.

  2. Run pew next task: pewPewCLI processes tasks sequentially through the files listed.

  3. Reset Checklists: Use pew reset tasks to uncheck completed items when you want to restart a workflow (like the QA checklist).

pew-next-task-flow.gif

📦 Dependencies

Key dependencies include:

🤖 Example Agent Prompt

Here's a prompt you can adapt for an AI agent to use this tool once initialized in a project:

You are an AI assistant tasked with executing the next available milestones and set of tasks outlined in the provided plan. Follow these instructions carefully:

1.  **Review Task Plan:** First, carefully review the content of the {{TASK_FILE_LOCATION}} (typically `.pew/tasks.md`).

2.  **Understand Context:**
    *   Your goal is to complete the next available milestone (specifically Milestone `{{MILESTONE_NUMBER}}`) and its associated tasks sequentially.
    *   You must follow the plan exactly as specified in `{{TASK_FILE_LOCATION}}` without adding, removing, or changing steps or requirements unless explicitly instructed by a task.

3.  **Identify Next Task:**
    *   Locate Milestone `{{MILESTONE_NUMBER}}` in the `{{TASK_FILE_LOCATION}}` file.
    *   Identify the first uncompleted task listed under this milestone.
    *   Use the `pew next task` command to confirm and retrieve the details of this first task.

4.  **Research Project Context:**
    *   Based on the output of `pew next task`, thoroughly scan all related project files to gain a deep understanding of the task's requirements and the project's context.

5.  **Execute Tasks Sequentially:**
    *   Complete each task strictly in the order presented.
    *   Use the `pew next task` command *after* successfully completing the current task to mark it done and get the next one.
    *   Do not skip any tasks or alter their prescribed order.

6.  **Milestone Completion Review:**
    *   After completing *all* tasks for Milestone `{{MILESTONE_NUMBER}}`, review the implemented work for correctness and consistency.

7.  **Completion and Next Steps:**
    *   Once all tasks for the specified milestone are successfully completed and reviewed/fixed, ask the user for the next set of instructions.

**Always remember:**
*   Stick rigorously to the plan.
*   Focus exclusively on the tasks for the specified milestone.
*   Update the task file using `pew next task` immediately after completing each task.
*   Ensure high-quality output (code, documentation, etc.).
*   Run `pew` commands autonomously as needed ("yolo mode is on").

Begin your work by reading the `{{TASK_FILE_LOCATION}}`. Then, identify and start the first task for Milestone `{{MILESTONE_NUMBER}}` using `pew next task`.

MILESTONE_NUMBER = ALL
TASK_FILE_LOCATION = .pew/tasks.md

ACT
0
Subscribe to my newsletter

Read articles from Ultra Wide Turbo Devs directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Ultra Wide Turbo Devs
Ultra Wide Turbo Devs

Tools · Prompts · Templates · Systems · Tutorials · Hacks · Resources