Skip to content

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

License

Notifications You must be signed in to change notification settings

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

No packages published

Contributors 2

  •  
  •  

Languages