Robin Olsen b3b45e67be add exit mechanicm to each stage
remove types and moved struct to appropriate files
2026-02-16 13:08:45 +01:00
2026-02-03 13:09:44 +01:00
2026-02-16 13:08:45 +01:00
2026-02-13 10:14:05 +01:00
2026-02-16 13:08:45 +01:00
2026-02-04 19:46:39 +01:00
2026-02-13 13:57:44 +01:00
2026-02-13 13:57:44 +01:00
2026-02-13 17:48:56 +01:00
2026-02-10 20:40:46 +01:00

LazyPM

A project management tool for developers.

Made for bachelor project, used for gathering and comparing data between interfaces.

Overview

LazyPM is a lightweight project management system that provides three interfaces:

  • CLI - Command-line interface for quick operations
  • TUI - Terminal user interface for interactive use
  • Web - Browser-based interface with HTML templates

Features

  • Issue tracking (bugs, features, tasks, epics, chores)
  • Status management (open, in-progress, closed)
  • Dependency tracking between issues
  • Labels and comments
  • Statistics and reporting
  • SQLite storage via Beads library

Quick Start

Prerequisites

  • Go 1.25.6+
  • Make

Installation

# Install dependencies
go mod tidy

Make Installation

Linux:

sudo pacman -S make

Windows (Choco):

# Install choco
winget install --id chocolatey.chocolatey --source winget

# Install make
choco install make

Build Commands

# Build all binaries
make build              # Creates bin/pm, bin/tui, bin/web

# Run specific interfaces
make cli                # Run CLI interface
make tui                # Run TUI interface (interactive)
make web                # Run Web server (localhost:8080)

# Development with hot reload
make dev                # Watch templ files and auto-reload web
make tw                 # Watch Tailwind CSS changes
make watch              # Run both dev and tw in parallel

# Maintenance
make tidy               # Run go mod tidy
make clean              # Clean build artifacts

# Install
make install-cli        # Install CLI with shell completions
make completions        # Generate shell completion scripts

Project Structure

├── bin/                # Compiled binaries
├── cmd/                # Entry points
│   ├── pm/            # CLI main.go
│   ├── tui/           # TUI main.go
│   └── web/           # Web server main.go
├── internal/           # Core implementation
│   ├── models/        # Data models (beads types)
│   ├── service/       # Business logic (beads, statistics)
│   └── storage/       # Data persistence
├── pkg/                # Public packages
│   ├── cli/           # CLI commands and REPL
│   ├── tui/           # TUI views and components
│   └── web/           # Web handlers, templates, assets
└── .pm/                # Local data storage (gitignored)

Technology Stack

Configuration

LazyPM stores data in a local .pm directory:

  • .pm/db.db - SQLite database for issues
  • .pm/stats.json - Statistics storage

The directory is automatically created on first run.

Description
Bachelor project repository
Readme Apache-2.0 15 MiB
Languages
Go 82.2%
templ 15%
Shell 1.1%
JavaScript 0.8%
Makefile 0.6%
Other 0.2%