update readme's
This commit is contained in:
104
README.md
104
README.md
@@ -10,6 +10,7 @@ LazyPM is a lightweight project management system that provides three interfaces
|
|||||||
- **CLI** - Command-line interface for quick operations
|
- **CLI** - Command-line interface for quick operations
|
||||||
- **TUI** - Terminal user interface for interactive use
|
- **TUI** - Terminal user interface for interactive use
|
||||||
- **Web** - Browser-based interface with HTML templates
|
- **Web** - Browser-based interface with HTML templates
|
||||||
|
- **Survey** - Interactive task-based survey system for data gathering
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
@@ -26,6 +27,7 @@ LazyPM is a lightweight project management system that provides three interfaces
|
|||||||
|
|
||||||
- Go 1.25.6+
|
- Go 1.25.6+
|
||||||
- Make
|
- Make
|
||||||
|
- npm (for Tailwind CSS)
|
||||||
|
|
||||||
### Installation
|
### Installation
|
||||||
|
|
||||||
@@ -54,17 +56,22 @@ choco install make
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Build all binaries
|
# Build all binaries
|
||||||
make build # Creates bin/pm, bin/tui, bin/web
|
make build # Creates bin/pm, bin/tui, bin/web, bin/survey
|
||||||
|
|
||||||
# Run specific interfaces
|
# Run specific interfaces
|
||||||
make cli # Run CLI interface
|
make cli # Run CLI interface
|
||||||
make tui # Run TUI interface (interactive)
|
make tui # Run TUI interface (interactive)
|
||||||
make web # Run Web server (localhost:8080)
|
make web # Run Web server (localhost:8080)
|
||||||
|
make start # Run survey interface
|
||||||
|
|
||||||
# Development with hot reload
|
# Development with hot reload
|
||||||
make dev # Watch templ files and auto-reload web
|
make dev # Watch templ files and auto-reload web
|
||||||
make tw # Watch Tailwind CSS changes
|
make tw # Watch Tailwind CSS changes
|
||||||
make watch # Run both dev and tw in parallel
|
|
||||||
|
# Docker (lazyos desktop environment)
|
||||||
|
make os-build # Build lazyos Docker image
|
||||||
|
make os-run # Run lazyos container (localhost:3000-3001)
|
||||||
|
make os-stop # Stop and remove lazyos container
|
||||||
|
|
||||||
# Maintenance
|
# Maintenance
|
||||||
make tidy # Run go mod tidy
|
make tidy # Run go mod tidy
|
||||||
@@ -79,18 +86,28 @@ make completions # Generate shell completion scripts
|
|||||||
|
|
||||||
```
|
```
|
||||||
├── bin/ # Compiled binaries
|
├── bin/ # Compiled binaries
|
||||||
|
├── build/ # Docker build files for lazyos desktop environment
|
||||||
|
│ ├── Dockerfile # Webtop-based desktop container
|
||||||
|
│ ├── setup-desktop.sh # Desktop shortcut setup script
|
||||||
|
│ └── survey # Survey binary (copied during build)
|
||||||
├── cmd/ # Entry points
|
├── cmd/ # Entry points
|
||||||
│ ├── pm/ # CLI main.go
|
│ ├── pm/ # CLI main
|
||||||
│ ├── tui/ # TUI main.go
|
│ ├── tui/ # TUI main
|
||||||
│ └── web/ # Web server main.go
|
│ ├── web/ # Web server main
|
||||||
|
│ └── survey/ # Survey system main
|
||||||
├── internal/ # Core implementation
|
├── internal/ # Core implementation
|
||||||
│ ├── models/ # Data models (beads types)
|
│ ├── models/ # Data models (beads types)
|
||||||
│ ├── service/ # Business logic (beads, statistics)
|
│ ├── service/ # Business logic
|
||||||
│ └── storage/ # Data persistence
|
│ ├── storage/ # Data persistence
|
||||||
|
│ └── commands/ # Cobra commands
|
||||||
|
│ ├── issues/ # Issue management commands
|
||||||
|
│ └── survey/ # Survey commands
|
||||||
├── pkg/ # Public packages
|
├── pkg/ # Public packages
|
||||||
│ ├── cli/ # CLI commands and REPL
|
│ ├── cli/ # CLI framework
|
||||||
│ ├── tui/ # TUI views and components
|
│ ├── tui/ # TUI views and components
|
||||||
│ └── web/ # Web handlers, templates, assets
|
│ ├── web/ # Web handlers, templates, assets
|
||||||
|
│ ├── repl/ # REPL implementation
|
||||||
|
│ └── task/ # Task registration and runner
|
||||||
└── .pm/ # Local data storage (gitignored)
|
└── .pm/ # Local data storage (gitignored)
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -98,11 +115,15 @@ make completions # Generate shell completion scripts
|
|||||||
|
|
||||||
- [Go](https://golang.org/) 1.25.6 - Backend language
|
- [Go](https://golang.org/) 1.25.6 - Backend language
|
||||||
- [Cobra](https://github.com/spf13/cobra) - CLI framework
|
- [Cobra](https://github.com/spf13/cobra) - CLI framework
|
||||||
|
- [Fang](https://github.com/charmbracelet/fang) - Colored CLI output
|
||||||
- [Bubbletea](https://github.com/charmbracelet/bubbletea) - TUI framework
|
- [Bubbletea](https://github.com/charmbracelet/bubbletea) - TUI framework
|
||||||
- [Lipgloss](https://github.com/charmbracelet/lipgloss) - Terminal styling
|
- [Lipgloss](https://github.com/charmbracelet/lipgloss) - Terminal styling
|
||||||
|
- [Huh](https://github.com/charmbracelet/huh) - Terminal forms
|
||||||
- [Templ](https://github.com/a-h/templ) - HTML templating
|
- [Templ](https://github.com/a-h/templ) - HTML templating
|
||||||
|
- [HTMX](https://htmx.org/) - Dynamic web UI
|
||||||
- [Tailwind CSS v4](https://tailwindcss.com/) + DaisyUI - Web styling
|
- [Tailwind CSS v4](https://tailwindcss.com/) + DaisyUI - Web styling
|
||||||
- [Beads](https://github.com/steveyegge/beads) - Issue tracking engine
|
- [Beads](https://github.com/steveyegge/beads) - Issue tracking engine
|
||||||
|
- [go-git](https://github.com/go-git/go-git) v6 - Git operations
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
@@ -110,4 +131,67 @@ LazyPM stores data in a local `.pm` directory:
|
|||||||
- `.pm/db.db` - SQLite database for issues
|
- `.pm/db.db` - SQLite database for issues
|
||||||
- `.pm/stats.json` - Statistics storage
|
- `.pm/stats.json` - Statistics storage
|
||||||
|
|
||||||
The directory is automatically created on first run.
|
The directory is automatically created on first run.
|
||||||
|
|
||||||
|
## Development
|
||||||
|
|
||||||
|
### Running the Survey System
|
||||||
|
|
||||||
|
The survey system provides interactive task-based data gathering:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make start # Start the survey interface
|
||||||
|
```
|
||||||
|
|
||||||
|
### LazyOS Desktop Environment
|
||||||
|
|
||||||
|
LazyOS is a containerized desktop environment for running the survey in a browser-based desktop:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make os-build # Build lazyos Docker image
|
||||||
|
make os-run # Run lazyos container (access at localhost:3000)
|
||||||
|
make os-stop # Stop and remove lazyos container
|
||||||
|
```
|
||||||
|
|
||||||
|
The lazyos container provides:
|
||||||
|
- Web-based desktop environment (LinuxServer Webtop)
|
||||||
|
- Pre-configured desktop shortcut for the survey
|
||||||
|
- Runs at http://localhost:3000
|
||||||
|
|
||||||
|
### Web Development
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Terminal 1 - Auto-reload Go server on templ changes
|
||||||
|
make dev
|
||||||
|
|
||||||
|
# Terminal 2 - Watch Tailwind CSS
|
||||||
|
make tw
|
||||||
|
```
|
||||||
|
|
||||||
|
### Available Tasks
|
||||||
|
|
||||||
|
- `create_issue` - Create a new issue
|
||||||
|
- `coding_task` - Coding-related task
|
||||||
|
- `git_task` - Git operations task
|
||||||
|
- `sprint_planning` - Sprint planning task
|
||||||
|
- `issue_triage` - Issue triage task
|
||||||
|
- `milestone_tracking` - Milestone tracking task
|
||||||
|
- `dependency_management` - Dependency management task
|
||||||
|
- `team_capacity` - Team capacity task
|
||||||
|
- `report_generation` - Report generation task
|
||||||
|
- `stakeholder_update` - Stakeholder update task
|
||||||
|
- `priority_management` - Priority management task
|
||||||
|
- `backlog_refinement` - Backlog refinement task
|
||||||
|
|
||||||
|
## CI/CD
|
||||||
|
|
||||||
|
This project uses GitHub Actions for:
|
||||||
|
- Building Go binaries on push/PR
|
||||||
|
- Docker image publishing
|
||||||
|
- Release automation with GoReleaser
|
||||||
|
|
||||||
|
See `.github/workflows/` for details.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
See [LICENSE](LICENSE) file for details.
|
||||||
@@ -1 +1,63 @@
|
|||||||
# This describes the build process for lazyos
|
# LazyOS Build Directory
|
||||||
|
|
||||||
|
This directory contains files for building the LazyOS desktop environment - a containerized web-based desktop for running the LazyPM survey system.
|
||||||
|
|
||||||
|
## Contents
|
||||||
|
|
||||||
|
- **Dockerfile** - Container definition based on LinuxServer Webtop
|
||||||
|
- **setup-desktop.sh** - Initialization script that creates desktop shortcuts
|
||||||
|
- **survey** - Survey binary (copied from bin/ during build)
|
||||||
|
|
||||||
|
## LazyOS Overview
|
||||||
|
|
||||||
|
LazyOS provides a browser-based desktop environment where users can run the LazyPM survey tasks in an isolated container.
|
||||||
|
|
||||||
|
It's useful for:
|
||||||
|
- Running the survey system in a controlled environment
|
||||||
|
- Providing a desktop-like experience through a web browser
|
||||||
|
- Testing the survey interface without local setup
|
||||||
|
|
||||||
|
## Building LazyOS
|
||||||
|
|
||||||
|
From the project root:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make os-build
|
||||||
|
```
|
||||||
|
|
||||||
|
This will:
|
||||||
|
1. Build the survey binary
|
||||||
|
2. Copy it to this directory
|
||||||
|
3. Build the Docker image tagged as `lazyos:latest`
|
||||||
|
|
||||||
|
## Running LazyOS
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make os-run
|
||||||
|
```
|
||||||
|
|
||||||
|
Access the desktop environment at http://localhost:3000
|
||||||
|
|
||||||
|
The container exposes :3000 for http and :3001 for https
|
||||||
|
|
||||||
|
## Stopping LazyOS
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make os-stop
|
||||||
|
```
|
||||||
|
|
||||||
|
This stops and removes the lazyos container.
|
||||||
|
|
||||||
|
## Dockerfile Details
|
||||||
|
|
||||||
|
The Dockerfile:
|
||||||
|
- Uses `lscr.io/linuxserver/webtop:latest` as base
|
||||||
|
- Installs gcompat and libc6-compat for binary compatibility
|
||||||
|
- Copies the survey binary to `/usr/local/bin/survey`
|
||||||
|
- Includes setup-desktop.sh for desktop shortcut creation
|
||||||
|
|
||||||
|
## Desktop Setup
|
||||||
|
|
||||||
|
The setup-desktop.sh script runs on container startup and:
|
||||||
|
- Creates a Desktop folder for the 'abc' user
|
||||||
|
- Creates a desktop shortcut named "PM Survey"
|
||||||
Reference in New Issue
Block a user