Pillar
A file-based task tracker for managing projects, milestones, and issues
Pillar is a command-line task tracker that uses plain text files (Markdown with YAML frontmatter) to manage your projects, milestones, and issues. Perfect for developers who want to track work without leaving the terminal or dealing with complex web interfaces.
✨ Features
- 📁 File-based: All data stored as Markdown files in your repository
- 🎯 Project Management: Organize work into projects, milestones, and issues
- 💬 Comments: Add timestamped comments to any entity
- 🏷️ Flexible Filtering: Filter by status, priority, tags, and more
- 📊 Kanban Board: Visualize work across status columns
- 🌐 Web UI: Launch a premium local dashboard with
pillar ui - 🤖 Agent-Friendly: Designed for AI coding agents with a clean CLI and Markdown-first structure
- 🔍 Status Overview: Get a quick snapshot of all active work
- ⚙️ Configurable: Separate PM data from code with base directory support
- 🚀 No Database: Git-friendly plain text files
🚀 Quick Start
# Initialize a new workspace
# Create a project
# Add a milestone
# Create an issue
# View board
# Launch Web UI
# Add a comment
📦 Installation
From Crates.io (Recommended)
From Source
Homebrew (Coming Soon)
📖 Usage
Initialize a Workspace
# Standard initialization (stores data in current directory)
# Use a base directory (keeps PM data separate from code)
Managing Projects
# Create a project
# List all projects
# Filter projects
# Show project details
# Update project
Managing Milestones
# Create a milestone
# List milestones
# Filter by project
# Update milestone
Managing Issues
# Create an issue
# List issues
# Filter issues
# Update issue
Comments
# Add comment to project
# Add comment to issue
# Add comment to milestone
# List comments
Viewing Status
# Overview of all work
# Kanban board view
# Board for specific project
### Web UI
📂 File Structure
When you run pillar init, it creates the following structure:
.pillar/
├── config.toml # Workspace configuration
└── templates/ # Templates for new entities
├── project.md
├── milestone.md
└── issue.md
MyProject/ # Project directory
├── README.md # Project metadata and description
├── milestones/ # Milestone files
│ └── v1.0.md
└── issues/ # Issue files
├── 001-add-auth.md
└── 002-fix-bug.md
Example Issue File
title: Add user authentication
status: in-progress
priority: high
project: MyProject
milestone: v1.0
tags: [feature, security]
created: 2025-12-29T10:00:00Z
Implement OAuth2 authentication for user login.
- --
Started implementation, using passport.js
Added tests for auth flow
🎯 Status Values
backlog- Not yet prioritizedtodo- Ready to work onin-progress- Currently being worked oncompleted- Finishedcancelled- Not doing this
🔥 Priority Levels
low- Nice to havemedium- Standard priorityhigh- Importanturgent- Critical, needs immediate attention
🔧 Configuration
Base Directory
Keep your PM data separate from code:
# Initialize with base directory
# Now all projects go in ./pm/ directory
# Creates: pm/MyProject/
The configuration is stored in .pillar/config.toml:
[]
= "0.1.0"
= "pm"
[]
= "medium"
= "backlog"
🤝 Contributing
Contributions are welcome! Please see CONTRIBUTING.md for details.
Development Setup
# Clone the repository
# Run tests (single-threaded to avoid race conditions)
# Build debug binary
# Build release (Bundles UI assets automatically)
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Inspired by tools like Linear, Jira, and GitHub Issues
- Built with Rust and clap
- Follows the Keep a Changelog format
🤖 Agentic Development
Pillar is uniquely positioned for Agentic Development. Because it uses plain Markdown files and a structured CLI, it is the perfect tool for AI coding agents (like GitHub Copilot, Cursor, or specialized agents) to track their own progress.
- Clean CLI: Easy for agents to discover and execute commands.
- Markdown Context: Agents can read the entire project history and current status directly from the file system.
- System Prompts: Provide a clear "contract" for how agents should manage tasks.
Check out the Agent Guide for a ready-to-use system prompt for your AI agents.
📊 Why Pillar?
Git-Friendly: All your tasks are in plain text files that can be versioned with Git. No more losing task history or dealing with database backups.
Developer-Focused: Designed for developers who live in the terminal. No context switching to a web browser.
Portable: Your data is just Markdown files. Easy to read, easy to edit, easy to migrate.
Flexible: Works with your workflow. Use it alongside code, keep it separate, or integrate it into your documentation.
💡 Use Cases
- Solo Developers: Track personal projects and TODOs
- Small Teams: Collaborate using Git for task management
- Open Source: Manage issues alongside code in the same repository
- Documentation: Tasks embedded in your documentation site
- Offline Work: No internet required, everything is local
🐛 Bug Reports & Feature Requests
Found a bug? Have an idea for a feature? Please open an issue!
⭐ Show Your Support
If you find Pillar useful, please consider:
- Giving it a star on GitHub
- Sharing it with others
- Contributing to the project
- Reporting bugs or suggesting features