chore: added GitHub templates, triage command, updated license and package metadata
- Added issue templates (bug report, feature request, question) with provider/platform dropdowns - Added PR template and security policy - Added /triage Claude command for automated issue classification - Updated LICENSE to include Can Boluk copyright - Updated author/contributors across all package.json files - Added homepage, bugs, keywords, engines to all packages - Created platform:wsl label for WSL-specific issues
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
# Triage Command
|
||||
|
||||
Classify and label open GitHub issues that are missing labels.
|
||||
|
||||
## Arguments
|
||||
|
||||
- `$ARGUMENTS`: Scope filter — `open` (default), `closed`, or `all`. Append `--relabel` to re-classify issues that already have labels.
|
||||
|
||||
## Steps
|
||||
|
||||
### 1. Fetch Issues
|
||||
|
||||
Parse `$ARGUMENTS` to determine scope and whether `--relabel` is set.
|
||||
|
||||
```bash
|
||||
# For open (default):
|
||||
gh issue list --state open --json number,title,body,labels,comments,createdAt --limit 50
|
||||
|
||||
# For closed:
|
||||
gh issue list --state closed --json number,title,body,labels,comments,createdAt --limit 30
|
||||
|
||||
# For all: run both commands and merge results
|
||||
```
|
||||
|
||||
### 2. Filter Candidates
|
||||
|
||||
- If `--relabel` is NOT set, skip any issue that already has at least one label.
|
||||
- If `--relabel` IS set, process all fetched issues.
|
||||
|
||||
### 3. Classify Each Issue
|
||||
|
||||
For each candidate issue, read the title, body, and **all comments** (comments often contain critical context). Apply labels from the categories below. An issue can receive multiple labels.
|
||||
|
||||
**Type labels** (pick exactly one):
|
||||
| Label | Signals |
|
||||
|---|---|
|
||||
| `bug` | Crashes, errors, stack traces, regressions, "doesn't work", "broke" |
|
||||
| `enhancement` | Feature requests, integrations, "would be nice", "could we add" |
|
||||
| `question` | How-to, usage help, "is it possible", "how do I" |
|
||||
| `documentation` | Docs missing, incorrect, or outdated |
|
||||
| `invalid` | Spam, off-topic, not actionable |
|
||||
| `duplicate` | Clearly duplicates another open issue (note the original in a comment) |
|
||||
|
||||
**Area labels** (pick all that apply):
|
||||
| Label | Signals |
|
||||
|---|---|
|
||||
| `auth` | OAuth, login, API keys, tokens, authentication, authorization |
|
||||
| `cli` | Slash commands, CLI arguments, flags, command parsing |
|
||||
| `providers` | LLM provider-specific (Google, OpenAI, Anthropic, Gemini, Ollama, etc.) |
|
||||
| `setup` | Installation, build errors, dependency issues, first-run problems |
|
||||
| `tui` | TUI rendering, display glitches, terminal width, color, layout |
|
||||
| `ux` | UX improvements that are not bugs — workflow, ergonomics, usability |
|
||||
|
||||
**Platform labels** (pick all that apply):
|
||||
| Label | Signals |
|
||||
|---|---|
|
||||
| `platform:linux` | Mentions Linux, Docker, Ubuntu, Debian, Fedora, Arch |
|
||||
| `platform:macos` | Mentions macOS, Mac, Homebrew, Darwin |
|
||||
| `platform:windows` | Mentions Windows (native), PowerShell, cmd.exe |
|
||||
| `platform:wsl` | Mentions WSL or Windows Subsystem for Linux — distinct from both native Windows and Linux |
|
||||
|
||||
**Meta labels** (use sparingly, only when clearly appropriate):
|
||||
| Label | Signals |
|
||||
|---|---|
|
||||
| `good first issue` | Well-scoped, self-contained, good for new contributors |
|
||||
| `help wanted` | Maintainers want community help |
|
||||
| `wontfix` | Intentional behavior, out of scope |
|
||||
|
||||
### 4. Apply Labels
|
||||
|
||||
For each issue, apply the chosen labels. **Never remove existing labels.**
|
||||
|
||||
```bash
|
||||
gh issue edit <number> --add-label "bug,tui,platform:linux"
|
||||
```
|
||||
|
||||
### 5. Print Summary
|
||||
|
||||
After processing all issues, print a markdown summary table:
|
||||
|
||||
```
|
||||
## Triage Summary
|
||||
|
||||
| # | Title | Added Labels | Skipped |
|
||||
|---|-------|-------------|---------|
|
||||
| 42 | TUI crashes on resize | bug, tui | |
|
||||
| 38 | Add Ollama support | enhancement, providers | |
|
||||
| 35 | How to configure API key | question, auth | |
|
||||
| 30 | Dashboard colors | | Already labeled |
|
||||
```
|
||||
|
||||
Include counts at the end: `Processed: X | Labeled: Y | Skipped: Z`
|
||||
|
||||
## Classification Tips
|
||||
|
||||
- When uncertain between `bug` and `enhancement`, check if existing behavior broke (bug) or new behavior is requested (enhancement).
|
||||
- If an issue mentions a specific provider AND another area (e.g., "OpenAI auth fails"), apply both `providers` and `auth`.
|
||||
- WSL issues get `platform:wsl` — not `platform:linux` or `platform:windows`.
|
||||
- Don't apply `good first issue` or `help wanted` during automated triage — those require maintainer judgment.
|
||||
- If the body is empty or unclear, read the comments before skipping. Users often clarify in replies.
|
||||
@@ -0,0 +1,110 @@
|
||||
name: Bug Report
|
||||
description: Report a bug or crash
|
||||
labels: ["bug"]
|
||||
body:
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: What happened?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: steps
|
||||
attributes:
|
||||
label: Steps to Reproduce
|
||||
description: Minimal steps to reproduce the issue
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: expected
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: What did you expect to happen?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: error-output
|
||||
attributes:
|
||||
label: Error Output
|
||||
description: Paste any error messages or stack traces
|
||||
render: shell
|
||||
|
||||
- type: dropdown
|
||||
id: environment
|
||||
attributes:
|
||||
label: Platform
|
||||
options:
|
||||
- macOS
|
||||
- Linux
|
||||
- Windows (native)
|
||||
- Windows (WSL)
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: omp version
|
||||
description: Output of `omp --version`
|
||||
placeholder: "e.g. 12.1.0"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: bun-version
|
||||
attributes:
|
||||
label: Bun version
|
||||
description: Output of `bun --version`
|
||||
placeholder: "e.g. 1.3.8"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: provider
|
||||
attributes:
|
||||
label: Provider
|
||||
description: Which provider were you using? Leave blank if not provider-specific.
|
||||
options:
|
||||
- Anthropic (Claude Pro/Max)
|
||||
- ChatGPT Plus/Pro (Codex)
|
||||
- GitHub Copilot
|
||||
- Google Cloud Code Assist (Gemini CLI)
|
||||
- Antigravity (Gemini 3, Claude, GPT-OSS)
|
||||
- Cursor
|
||||
- OpenCode Zen
|
||||
- Kimi Code
|
||||
- Z.AI (GLM)
|
||||
- MiniMax Coding Plan
|
||||
- Perplexity
|
||||
- Amazon Bedrock
|
||||
- OpenRouter
|
||||
- Ollama / Local
|
||||
- Custom (models.yml)
|
||||
- Other
|
||||
|
||||
- type: dropdown
|
||||
id: area
|
||||
attributes:
|
||||
label: Area
|
||||
description: Which part of omp is affected?
|
||||
options:
|
||||
- TUI / Display
|
||||
- Authentication / Login
|
||||
- Model selection
|
||||
- Tool execution
|
||||
- MCP servers
|
||||
- Extensions / Plugins
|
||||
- CLI commands
|
||||
- Setup / Installation
|
||||
- Session / Compaction
|
||||
- Other
|
||||
|
||||
- type: textarea
|
||||
id: additional-context
|
||||
attributes:
|
||||
label: Additional context
|
||||
description: Screenshots, config snippets, or other relevant information
|
||||
@@ -0,0 +1,11 @@
|
||||
blank_issues_enabled: true
|
||||
contact_links:
|
||||
- name: Model Configuration
|
||||
url: https://github.com/can1357/oh-my-pi/blob/main/packages/coding-agent/docs/models.md
|
||||
about: How to add custom providers and models via models.yml
|
||||
- name: Extensions Guide
|
||||
url: https://github.com/can1357/oh-my-pi/blob/main/packages/coding-agent/docs/extensions.md
|
||||
about: Build custom tools, commands, and integrations
|
||||
- name: Skills Documentation
|
||||
url: https://github.com/can1357/oh-my-pi/blob/main/packages/coding-agent/docs/skills.md
|
||||
about: How to create and use skills
|
||||
@@ -0,0 +1,48 @@
|
||||
name: Feature Request
|
||||
description: Suggest a new feature or improvement
|
||||
labels: ["enhancement"]
|
||||
body:
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: What would you like?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: use-case
|
||||
attributes:
|
||||
label: Use Case
|
||||
description: Why is this needed? What problem does it solve?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: area
|
||||
attributes:
|
||||
label: Area
|
||||
description: Which part of omp does this relate to?
|
||||
options:
|
||||
- Provider / Model support
|
||||
- TUI / Display
|
||||
- Tools
|
||||
- MCP servers
|
||||
- Extensions / Plugins
|
||||
- CLI commands
|
||||
- Skills / Commands
|
||||
- Session management
|
||||
- Configuration
|
||||
- Other
|
||||
|
||||
- type: textarea
|
||||
id: proposed-solution
|
||||
attributes:
|
||||
label: Proposed Solution
|
||||
description: How would you implement this? Link to relevant docs or APIs if applicable.
|
||||
|
||||
- type: textarea
|
||||
id: alternatives
|
||||
attributes:
|
||||
label: Alternatives Considered
|
||||
description: Any workarounds or other approaches you've tried?
|
||||
@@ -0,0 +1,38 @@
|
||||
name: Question
|
||||
description: Ask about usage or configuration
|
||||
labels: ["question"]
|
||||
body:
|
||||
- type: textarea
|
||||
id: question
|
||||
attributes:
|
||||
label: Question
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: context
|
||||
attributes:
|
||||
label: Context
|
||||
description: What are you trying to do?
|
||||
|
||||
- type: dropdown
|
||||
id: area
|
||||
attributes:
|
||||
label: Topic
|
||||
options:
|
||||
- Provider setup / Login
|
||||
- Custom models (models.yml)
|
||||
- Extensions
|
||||
- MCP servers
|
||||
- Skills / Commands
|
||||
- Configuration
|
||||
- Other
|
||||
|
||||
- type: dropdown
|
||||
id: environment
|
||||
attributes:
|
||||
label: Platform
|
||||
options:
|
||||
- macOS
|
||||
- Linux
|
||||
- Windows
|
||||
@@ -0,0 +1,17 @@
|
||||
## What
|
||||
|
||||
<!-- Brief description of the change -->
|
||||
|
||||
## Why
|
||||
|
||||
<!-- Motivation, context, or link to issue (fixes #N) -->
|
||||
|
||||
## Testing
|
||||
|
||||
<!-- How was this tested? -->
|
||||
|
||||
---
|
||||
|
||||
- [ ] `bun check` passes
|
||||
- [ ] Tested locally
|
||||
- [ ] CHANGELOG updated (if user-facing)
|
||||
@@ -0,0 +1,18 @@
|
||||
# Security Policy
|
||||
|
||||
## Supported Versions
|
||||
|
||||
Only the latest release is supported with security updates.
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
To report a security issue, either:
|
||||
|
||||
- Email can1357 directly, or
|
||||
- Open a [private security advisory](https://github.com/can1357/oh-my-pi/security/advisories/new) on GitHub
|
||||
|
||||
Include steps to reproduce and any relevant details. Do not open a public issue for security vulnerabilities.
|
||||
|
||||
## Response
|
||||
|
||||
Reports are handled on a best-effort basis. You can expect an initial acknowledgment within a few days.
|
||||
@@ -1,6 +1,7 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2025 Mario Zechner
|
||||
Copyright (c) 2025-2026 Can Bölük
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -35,13 +35,16 @@
|
||||
"transport",
|
||||
"state-management"
|
||||
],
|
||||
"author": "Mario Zechner",
|
||||
"author": "Can Bölük",
|
||||
"contributors": ["Mario Zechner"],
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/can1357/oh-my-pi.git",
|
||||
"directory": "packages/agent"
|
||||
},
|
||||
"homepage": "https://github.com/can1357/oh-my-pi",
|
||||
"bugs": { "url": "https://github.com/can1357/oh-my-pi/issues" },
|
||||
"engines": {
|
||||
"bun": ">=1.3.7"
|
||||
},
|
||||
|
||||
@@ -82,13 +82,16 @@
|
||||
"unified",
|
||||
"api"
|
||||
],
|
||||
"author": "Mario Zechner",
|
||||
"author": "Can Bölük",
|
||||
"contributors": ["Mario Zechner"],
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/can1357/oh-my-pi.git",
|
||||
"directory": "packages/ai"
|
||||
},
|
||||
"homepage": "https://github.com/can1357/oh-my-pi",
|
||||
"bugs": { "url": "https://github.com/can1357/oh-my-pi/issues" },
|
||||
"engines": {
|
||||
"bun": ">=1.3.7"
|
||||
},
|
||||
|
||||
@@ -119,13 +119,16 @@
|
||||
"tui",
|
||||
"agent"
|
||||
],
|
||||
"author": "Mario Zechner",
|
||||
"author": "Can Bölük",
|
||||
"contributors": ["Mario Zechner"],
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/can1357/oh-my-pi.git",
|
||||
"directory": "packages/coding-agent"
|
||||
},
|
||||
"homepage": "https://github.com/can1357/oh-my-pi",
|
||||
"bugs": { "url": "https://github.com/can1357/oh-my-pi/issues" },
|
||||
"engines": {
|
||||
"bun": ">=1.3.7"
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
"name": "@oh-my-pi/pi-natives",
|
||||
"version": "12.1.0",
|
||||
"description": "Native Rust functionality via N-API",
|
||||
"keywords": ["napi", "rust", "native", "grep", "text-processing"],
|
||||
"type": "module",
|
||||
"main": "./src/index.ts",
|
||||
"types": "./src/index.ts",
|
||||
@@ -31,6 +32,8 @@
|
||||
"url": "git+https://github.com/can1357/oh-my-pi.git",
|
||||
"directory": "packages/natives"
|
||||
},
|
||||
"homepage": "https://github.com/can1357/oh-my-pi",
|
||||
"bugs": { "url": "https://github.com/can1357/oh-my-pi/issues" },
|
||||
"dependencies": {
|
||||
"@oh-my-pi/pi-utils": "workspace:*"
|
||||
},
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
"version": "0.0.1",
|
||||
"private": true,
|
||||
"description": "Edit benchmark suite using React source code mutations",
|
||||
"author": "Can Bölük",
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
"main": "./src/index.ts",
|
||||
"bin": {
|
||||
@@ -13,6 +15,14 @@
|
||||
"generate": "bun run src/generate.ts --react-dir /tmp/react-source --count-per-type 4",
|
||||
"check": "tsgo -p tsconfig.json --noEmit"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/can1357/oh-my-pi.git",
|
||||
"directory": "packages/react-edit-benchmark"
|
||||
},
|
||||
"engines": {
|
||||
"bun": ">=1.3.7"
|
||||
},
|
||||
"dependencies": {
|
||||
"@oh-my-pi/pi-agent-core": "workspace:*",
|
||||
"@oh-my-pi/pi-coding-agent": "workspace:*",
|
||||
|
||||
@@ -47,6 +47,8 @@
|
||||
"url": "git+https://github.com/can1357/oh-my-pi.git",
|
||||
"directory": "packages/stats"
|
||||
},
|
||||
"homepage": "https://github.com/can1357/oh-my-pi",
|
||||
"bugs": { "url": "https://github.com/can1357/oh-my-pi/issues" },
|
||||
"dependencies": {
|
||||
"@oh-my-pi/pi-ai": "workspace:*",
|
||||
"date-fns": "^4.1.0",
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
"name": "@oh-my-pi/swarm-extension",
|
||||
"version": "12.1.0",
|
||||
"description": "Swarm orchestration extension for omp",
|
||||
"keywords": ["swarm", "orchestration", "agent", "extension"],
|
||||
"author": "Derek Rynd",
|
||||
"type": "module",
|
||||
"bin": {
|
||||
"omp-swarm": "src/cli.ts"
|
||||
@@ -23,5 +25,11 @@
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/can1357/oh-my-pi.git",
|
||||
"directory": "packages/swarm-extension"
|
||||
}
|
||||
},
|
||||
"engines": {
|
||||
"bun": ">=1.3.7"
|
||||
},
|
||||
"files": ["src"],
|
||||
"homepage": "https://github.com/can1357/oh-my-pi",
|
||||
"bugs": { "url": "https://github.com/can1357/oh-my-pi/issues" }
|
||||
}
|
||||
|
||||
@@ -36,13 +36,16 @@
|
||||
"typescript",
|
||||
"cli"
|
||||
],
|
||||
"author": "Mario Zechner",
|
||||
"author": "Can Bölük",
|
||||
"contributors": ["Mario Zechner"],
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/can1357/oh-my-pi.git",
|
||||
"directory": "packages/tui"
|
||||
},
|
||||
"homepage": "https://github.com/can1357/oh-my-pi",
|
||||
"bugs": { "url": "https://github.com/can1357/oh-my-pi/issues" },
|
||||
"engines": {
|
||||
"bun": ">=1.3.7"
|
||||
},
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
"name": "@oh-my-pi/pi-utils",
|
||||
"version": "12.1.0",
|
||||
"description": "Shared utilities for pi packages",
|
||||
"keywords": ["utilities", "cli", "logging", "streams"],
|
||||
"type": "module",
|
||||
"main": "./src/index.ts",
|
||||
"types": "./src/index.ts",
|
||||
@@ -34,6 +35,8 @@
|
||||
"url": "git+https://github.com/can1357/oh-my-pi.git",
|
||||
"directory": "packages/utils"
|
||||
},
|
||||
"homepage": "https://github.com/can1357/oh-my-pi",
|
||||
"bugs": { "url": "https://github.com/can1357/oh-my-pi/issues" },
|
||||
"dependencies": {
|
||||
"winston": "^3.19.0",
|
||||
"winston-daily-rotate-file": "^5.0.0"
|
||||
|
||||
Reference in New Issue
Block a user