Skip to content

k1monfared/project-status-tracker

Repository files navigation

Project Status Tracker

Status: 🟒 Production Ready | Mode: πŸ€– Claude Code | Updated: 2026-01-13

A comprehensive project status tracking system using loglog format for managing multiple projects. Track stages, development mode, progress, and milestones across all your projects with automatic aggregation and visual indicators.

Features

  • Structured Status Tracking: Standardized STATUS.log format for each project
  • Master Aggregation: Auto-generated overview of all projects in one file
  • Stage Definitions: Clear progression from POC β†’ MVP β†’ Beta β†’ Production β†’ Maintenance
  • Visual Indicators: Emoji-based status badges for quick scanning
  • Development Mode Tracking: Know which projects use Claude Code, Manual, or Hybrid approach
  • Bash Aliases: Quick commands for viewing and updating project statuses
  • Git Hooks: Automatic timestamp updates when working with Claude Code
  • Loglog Format: Compatible with loglog syntax for easy conversion to markdown

Quick Start

1. Copy Template Files to Your Projects

# For a new project
cp -r project-status-tracker/templates/claude_code_project_template/* /path/to/your/project/

# Edit the STATUS.log file with your project details
nano /path/to/your/project/STATUS.log

2. Install Bash Aliases

# Add to your .bashrc
echo 'source /path/to/project-status-tracker/project_aliases.sh' >> ~/.bashrc
source ~/.bashrc

3. Update Master Status

# Run the aggregation script
./update_project_status.sh

# Or use the alias
update-status

Project Structure

project-status-tracker/
β”œβ”€β”€ README.md                    # This file
β”œβ”€β”€ STATUS.log                   # Status of this project
β”œβ”€β”€ CLAUDE.md                    # Claude Code instructions
β”œβ”€β”€ update_project_status.sh     # Aggregation script
β”œβ”€β”€ project_aliases.sh           # Bash aliases and functions
β”œβ”€β”€ templates/
β”‚   └── claude_code_project_template/
β”‚       β”œβ”€β”€ STATUS.log           # Template status file
β”‚       β”œβ”€β”€ CLAUDE.md            # Template instructions
β”‚       β”œβ”€β”€ README.md            # Template readme
β”‚       └── .claude/
β”‚           └── hooks.json       # Git hooks for auto-update
└── examples/
    β”œβ”€β”€ PROJECT_STATUS.log       # Example master status file
    └── example-project/
        └── STATUS.log           # Example project status

Available Commands

After installing bash aliases:

Viewing Status

  • project-status - View master project status log
  • ps-log - Shorthand for project-status
  • ps-md - Convert master status to markdown
  • psproject <name> - View specific project's STATUS.log
  • list-projects - List all projects with their stages

Updating Status

  • update-status - Regenerate master status from all projects
  • sync-status - Same as update-status (alias)
  • edit-status <name> - Edit a project's STATUS.log

Creating New Projects

  • new-project-status <name> - Create STATUS.log for a project

Help

  • ps-help - Show complete help for all commands

Stage Definitions

1. Initial Setup (πŸ”΄)

  • Repository created, basic structure in place
  • Ready to start development

2. Proof of Concept (POC) (πŸ”΄)

  • Validating core concept/technology
  • Experimenting with approaches
  • Goal: Answer "Can this work?"

3. Minimum Viable Product (MVP) (🟑)

  • First usable version with core features
  • May have bugs blocking demo/production
  • Goal: Get something working end-to-end

4. Beta Release (πŸ”΅)

  • Feature-complete for v1.0 scope
  • Functional but missing polish features
  • Goal: Refinement and feature completion

5. Production Ready (🟒)

  • Stable, tested, documented
  • Ready for real-world use
  • Active maintenance

6. Maintenance Mode (⚫)

  • Core features complete and stable
  • Nice-to-have features queued
  • Minimal active development

Development Modes

  • πŸ€– Claude Code: Developed primarily with Claude Code
  • πŸ‘€ Manual: Manual development without AI assistance
  • πŸ”€ Hybrid: Combination of Claude Code and manual work

STATUS.log Format

Each project should have a STATUS.log file in loglog format:

- Project Status
    - Last Updated: YYYY-MM-DD
    - Development Mode: [Claude Code | Manual | Hybrid]
    - Stage: [Stage Name]
    - Next Milestone: [Description]

- Development Stages
    - [x] Initial Setup
        - Created: YYYY-MM-DD
    - [] Proof of Concept (POC)
        - Goal: Description
    - [] Minimum Viable Product (MVP)
        - Core features:
            - [] Feature A
    - [] Beta Release
    - [] Production Ready
    - [] Maintenance Mode

- Technical Details
    - Tech Stack:
        - [Technologies used]
    - Key Files:
        - [Important files]

- Current Focus
    - Active Tasks:
        - [] Task 1
    - Blockers:
        - [Issues]
    - Recent Progress:
        - YYYY-MM-DD: [What was accomplished]

Master STATUS File

The PROJECT_STATUS.log file aggregates all project statuses:

- Public Projects Overview
    - Last Updated: YYYY-MM-DD HH:MM
    - Total Projects with STATUS.log: N

- Active Development
    - project-name
        - Stage: πŸ”΅ Beta Release
        - Mode: πŸ€– Claude Code
        - Last Updated: YYYY-MM-DD
        - Next: Description

- Production / Maintenance
    - [Production projects]

- Notes
    - Auto-generated from individual STATUS.log files

Automation

update_project_status.sh

Scans all projects for STATUS.log files and generates the master PROJECT_STATUS.log:

./update_project_status.sh

Features:

  • Automatic categorization by stage
  • Emoji indicators based on stage and mode
  • Counts projects by category
  • Timestamps automatically

Git Hooks

Add to .claude/hooks.json in each project:

{
  "user-prompt-submit-hook": {
    "command": "bash -c 'if [ -f STATUS.log ]; then sed -i \"s/Last Updated:.*/Last Updated: $(date +%Y-%m-%d)/\" STATUS.log && /path/to/update_project_status.sh > /dev/null 2>&1; fi'",
    "when": "after"
  }
}

This automatically:

  • Updates the "Last Updated" timestamp
  • Regenerates the master status file
  • Works silently in the background when using Claude Code

Integration with Loglog

This system is designed to work with loglog:

# Install loglog
pip install loglog
# or
cargo install loglog

# Convert to markdown
loglog STATUS.log > STATUS.md
loglog PROJECT_STATUS.log > PROJECT_STATUS.md

Example Workflow

Starting a New Project

# 1. Create project directory
mkdir my-new-project
cd my-new-project

# 2. Copy template
cp -r /path/to/project-status-tracker/templates/claude_code_project_template/* .

# 3. Edit STATUS.log with your project details
nano STATUS.log

# 4. Update master status
update-status

Working on an Existing Project

# 1. View current status
psproject my-project

# 2. Work on the project...
# (Git hooks auto-update timestamps if using Claude Code)

# 3. Manually update if needed
edit-status my-project

# 4. Sync master status
update-status

Checking All Projects

# Quick overview
project-status

# Detailed list
list-projects

# Convert to markdown for sharing
loglog PROJECT_STATUS.log > PROJECT_STATUS.md

Benefits

  1. Consistency: Standard structure across all projects
  2. Visibility: See all project statuses at a glance
  3. Tracking: Clear progression through development stages
  4. Automation: Automatic updates and aggregation
  5. Flexibility: Easy to customize for different project types
  6. Searchable: Plain text format, easy to grep/search
  7. Version Control: Git-friendly plain text files
  8. Markdown Compatible: Convert with loglog when needed

Requirements

  • Bash shell
  • loglog (optional, for markdown conversion)
  • Claude Code (optional, for git hooks automation)
  • Git (optional, for version control)

Installation

# 1. Clone or download this repository
git clone https://github.com/yourusername/project-status-tracker.git

# 2. Make scripts executable
chmod +x project-status-tracker/update_project_status.sh
chmod +x project-status-tracker/project_aliases.sh

# 3. Add aliases to your shell
echo 'source ~/path/to/project-status-tracker/project_aliases.sh' >> ~/.bashrc
source ~/.bashrc

# 4. Customize the paths in the scripts if needed
nano project-status-tracker/update_project_status.sh
nano project-status-tracker/project_aliases.sh

Configuration

Edit the following variables in the scripts to match your setup:

update_project_status.sh:

MASTER_FILE="/path/to/your/PROJECT_STATUS.log"
PUBLIC_DIR="/path/to/your/projects"

project_aliases.sh:

# Update paths in alias definitions
alias project-status='cat /path/to/PROJECT_STATUS.log'

Contributing

Contributions are welcome! Please feel free to:

  • Report bugs
  • Suggest features
  • Submit pull requests
  • Share your customizations

License

MIT License - feel free to use and modify as needed.

Acknowledgments

  • Built with Claude Code
  • Compatible with loglog format
  • Inspired by the need for simple, effective project tracking

Support

For issues, questions, or suggestions, please open an issue on GitHub.


Happy project tracking! πŸ“Š

About

A comprehensive system for tracking project stages and progress using loglog format. Features templates, automation, and visual indicators.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages