{"id":46928514,"url":"https://github.com/rubrical-works/gh-pmu","last_synced_at":"2026-04-02T13:39:48.029Z","repository":{"id":326965498,"uuid":"1107274748","full_name":"rubrical-works/gh-pmu","owner":"rubrical-works","description":"GitHub Praxis Management Utility — a GitHub CLI extension for project workflows, sub-issue hierarchies, and batch operations","archived":false,"fork":false,"pushed_at":"2026-03-23T02:43:10.000Z","size":2477,"stargazers_count":1,"open_issues_count":6,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-23T22:46:02.138Z","etag":null,"topics":["cli","gh-extension","github-cli","golang","idpf-praxis","issue","kanban","praxis","project-management","rubrical-works","sub-issues"],"latest_commit_sha":null,"homepage":"https://github.com/rubrical-works/gh-pmu#readme","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubrical-works.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-30T22:35:04.000Z","updated_at":"2026-03-23T02:33:21.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/rubrical-works/gh-pmu","commit_stats":null,"previous_names":["scooter-indie/gh_ext","scooter-indie/gh-pm-unified","rubrical-studios/gh-pmu","scooter-indie/gh-pmu","rubrical-works/gh-pmu"],"tags_count":91,"template":false,"template_full_name":null,"purl":"pkg:github/rubrical-works/gh-pmu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubrical-works%2Fgh-pmu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubrical-works%2Fgh-pmu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubrical-works%2Fgh-pmu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubrical-works%2Fgh-pmu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubrical-works","download_url":"https://codeload.github.com/rubrical-works/gh-pmu/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubrical-works%2Fgh-pmu/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31307195,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","gh-extension","github-cli","golang","idpf-praxis","issue","kanban","praxis","project-management","rubrical-works","sub-issues"],"created_at":"2026-03-11T04:01:02.280Z","updated_at":"2026-04-02T13:39:48.023Z","avatar_url":"https://github.com/rubrical-works.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gh-pmu\n\n[![CI](https://github.com/rubrical-works/gh-pmu/actions/workflows/ci.yml/badge.svg)](https://github.com/rubrical-works/gh-pmu/actions/workflows/ci.yml)\n[![Go Report Card](https://goreportcard.com/badge/github.com/rubrical-works/gh-pmu)](https://goreportcard.com/report/github.com/rubrical-works/gh-pmu)\n[![Release](https://img.shields.io/github/v/release/rubrical-works/gh-pmu)](https://github.com/rubrical-works/gh-pmu/releases/latest)\n[![Gosec](https://github.com/rubrical-works/gh-pmu/actions/workflows/gosec.yml/badge.svg)](https://github.com/rubrical-works/gh-pmu/actions/workflows/gosec.yml)\n[![License](https://img.shields.io/github/license/rubrical-works/gh-pmu)](LICENSE)\n\n**P**raxis **M**anagement **U**tility — a GitHub CLI extension for project workflows, sub-issue hierarchies, and batch operations.\n\n\u003e **Note:** gh-pmu is designed for **Kanban-style GitHub Projects** with status-based columns (Backlog, In Progress, In Review, Done). It integrates seamlessly with the [IDPF-Praxis](https://github.com/rubrical-works/idpf-praxis) framework for structured development workflows, but works standalone without any framework.\n\n## Features\n\n📋 **Project Management** - List, view, create, and update issues with project field values in one command\n\n🔗 **Sub-Issue Hierarchy** - Create and manage parent-child issue relationships with progress tracking\n\n⚡ **Batch Operations** - Intake untracked issues, triage with rules, split checklists into sub-issues\n\n📊 **Board View** - Terminal Kanban board visualization\n\n🚀 **Workflow Commands** - Branch management with artifact generation\n\n🔄 **Cross-Repository** - Work with sub-issues across multiple repositories\n\n## Installation\n\n```bash\ngh extension install rubrical-works/gh-pmu\n```\n\n## Upgrade\n\n```bash\ngh extension upgrade gh-pmu\n```\n\n## Quick Start\n\n```bash\n# Initialize configuration\ngh pmu init\n\n# List issues with project metadata\ngh pmu list\n\n# View issue with project fields and sub-issue progress\ngh pmu view 42\n\n# Update status\ngh pmu move 42 --status in_progress\n\n# Create sub-issue\ngh pmu sub create --parent 42 --title \"Subtask\"\n\n# Start a branch (release, patch, or feature workflow)\ngh pmu branch start --name release/v1.2.0\ngh pmu move 42 --branch current\ngh pmu branch close\n```\n\n## Standalone Usage\n\n`gh pmu` works as a standalone tool without any framework integration. The optional `framework` field in `.gh-pmu.json` enables workflow restrictions when used with process frameworks like [IDPF](https://github.com/rubrical-works/idpf-praxis).\n\n**Standalone (default):**\n- All commands work normally\n- No workflow routing or approval gates\n- Simple project management\n\n**With framework integration:**\n- Adds workflow restrictions and checkpoint discipline\n- Structured patterns (epic→story hierarchies)\n- Domain specialist role system\n\nTo use standalone, simply omit the `framework` field from your config:\n\n```json\n{\n  \"project\": {\n    \"owner\": \"your-org\",\n    \"number\": 1\n  },\n  \"repositories\": [\"your-org/your-repo\"],\n  \"fields\": {\n    \"status\": {\n      \"values\": {\"backlog\": \"Backlog\", \"in_progress\": \"In progress\", \"in_review\": \"In review\", \"done\": \"Done\"}\n    },\n    \"priority\": {\n      \"values\": {\"p0\": \"P0\", \"p1\": \"P1\", \"p2\": \"P2\"}\n    }\n  }\n}\n```\n\n## Documentation\n\n| Guide | Description |\n|-------|-------------|\n| [Configuration](docs/configuration.md) | Setup `.gh-pmu.yml`, field aliases, triage rules |\n| [Commands](docs/commands.md) | Complete command reference with examples |\n| [Sub-Issues](docs/sub-issues.md) | Parent-child hierarchies, epics, progress tracking |\n| [Batch Operations](docs/batch-operations.md) | Intake, triage, and split workflows |\n| [Workflows](docs/workflows.md) | Branch management |\n| [gh vs gh pmu](docs/gh-comparison.md) | When to use each CLI |\n| [Development](docs/development.md) | Building, testing, contributing |\n\n## Commands\n\n```\nProject:    init, list, view, create, edit, comment, move, close, board, field\nSub-Issues: sub add, sub create, sub list, sub remove\nBatch:      intake, triage, split\nLabels:     label sync, label list, label add, label update, label delete\nWorkflows:  branch, validation, accept\nConfig:     config verify\nUtilities:  filter, history\n```\n\nRun `gh pmu --help` for full command list.\n\n## Unique Capabilities\n\nFlags and features not available in base `gh` CLI:\n\n| Command | Unique Flags | Purpose |\n|---------|--------------|---------|\n| `list` | `--status`, `--priority`, `--has-sub-issues` | Filter by project fields |\n| `view` | `--body-file`, `--body-stdout`, `--comments` | Export body, show comments |\n| `create` | `--status`, `--priority`, `--branch`, `--from-file` | Set project fields on create |\n| `edit` | `--body-file`, `--body-stdin`, `--remove-label` | Round-trip body editing |\n| `close` | `--update-status` | Move to 'done' before closing |\n| `move` | `--recursive`, `--dry-run`, `--depth`, `--branch` | Cascade updates to sub-issues |\n| `sub create` | `--inherit-labels`, `--inherit-milestone` | Inherit from parent issue |\n| `split` | `--from`, `--dry-run` | Create sub-issues from checklist |\n| `branch` | `start`, `add`, `close`, `reopen`, `--tag` | Branch-based deployment workflow |\n\nSee [gh vs gh pmu](docs/gh-comparison.md) for detailed comparison.\n\n## Framework Integration\n\n`gh-pmu` is the backbone of project management for framework-driven development. When paired with a process framework like IDPF-Praxis, it provides:\n\n- **Branch-tracked development** — every feature, release, and patch gets a tracked branch with automatic sub-issue management\n- **Epic-to-story hierarchies** — epics decompose into stories, each tracked through the full lifecycle (Backlog → In Progress → In Review → Done)\n- **Workflow enforcement** — status transition validation prevents accidental state changes and ensures work follows the defined process\n- **Acceptance criteria gates** — issues cannot be closed until all acceptance criteria are checked, maintaining quality standards\n- **Artifact generation** — release notes and changelogs are generated automatically from tracked issues\n\nFor teams using IDPF-Praxis for structured development, `gh-pmu` replaces the need for external project management tools by keeping everything in GitHub — issues, project boards, branch tracking, and release management — all accessible from the terminal.\n\n## Attribution\n\nThis project builds upon work from [@yahsan2](https://github.com/yahsan2):\n- [gh-pm](https://github.com/yahsan2/gh-pm)\n- [gh-sub-issue](https://github.com/yahsan2/gh-sub-issue)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubrical-works%2Fgh-pmu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frubrical-works%2Fgh-pmu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubrical-works%2Fgh-pmu/lists"}