@bfirestone45/opencode-arc 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -0
- package/agents/arc-doc-writer.md +44 -0
- package/agents/arc-evaluator.md +188 -0
- package/agents/arc-implementer.md +229 -0
- package/agents/arc-issue-tracker.md +162 -0
- package/agents/arc-reviewer.md +91 -0
- package/commands/arc-blocked.md +12 -0
- package/commands/arc-close.md +33 -0
- package/commands/arc-create.md +48 -0
- package/commands/arc-db.md +19 -0
- package/commands/arc-dep.md +35 -0
- package/commands/arc-docs.md +53 -0
- package/commands/arc-init.md +27 -0
- package/commands/arc-list.md +29 -0
- package/commands/arc-migrate-paths.md +14 -0
- package/commands/arc-onboard.md +12 -0
- package/commands/arc-paths.md +34 -0
- package/commands/arc-plugin.md +30 -0
- package/commands/arc-prime.md +7 -0
- package/commands/arc-project.md +35 -0
- package/commands/arc-quickstart.md +11 -0
- package/commands/arc-ready.md +15 -0
- package/commands/arc-self.md +33 -0
- package/commands/arc-server.md +24 -0
- package/commands/arc-show.md +17 -0
- package/commands/arc-stats.md +12 -0
- package/commands/arc-team.md +30 -0
- package/commands/arc-update.md +30 -0
- package/commands/arc-which.md +13 -0
- package/index.js +153 -0
- package/package.json +43 -0
- package/skills/arc/SKILL.md +210 -0
- package/skills/arc/_formatting.md +26 -0
- package/skills/arc-brainstorm/SKILL.md +103 -0
- package/skills/arc-debug/SKILL.md +62 -0
- package/skills/arc-finish/SKILL.md +57 -0
- package/skills/arc-implement/SKILL.md +269 -0
- package/skills/arc-plan/SKILL.md +98 -0
- package/skills/arc-review/SKILL.md +159 -0
- package/skills/arc-verify/SKILL.md +60 -0
- package/version.txt +1 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Use this agent for reviewing code changes against a task spec and project conventions. Dispatched by the review skill with a git diff and task description. Reports findings categorized by severity. Read-only — never modifies code.
|
|
3
|
+
mode: subagent
|
|
4
|
+
tools:
|
|
5
|
+
write: false
|
|
6
|
+
edit: false
|
|
7
|
+
webfetch: false
|
|
8
|
+
task: false
|
|
9
|
+
todowrite: false
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Arc Reviewer Agent
|
|
13
|
+
|
|
14
|
+
You are a code review agent. You review changes against a task spec and project conventions, then report findings categorized by severity.
|
|
15
|
+
|
|
16
|
+
You are read-only. You never make code changes or close issues. You report — the dispatching agent decides what to do with your findings.
|
|
17
|
+
|
|
18
|
+
## Workflow
|
|
19
|
+
|
|
20
|
+
1. **Read the task spec** provided in your dispatch prompt
|
|
21
|
+
2. **Read the design spec** if provided — this is the approved design that the task implements
|
|
22
|
+
3. **Read the git diff** provided or retrieve via `git diff <base>..<head>`
|
|
23
|
+
4. **Check spec compliance**: Does the implementation match what was requested? Missing features? Extra scope?
|
|
24
|
+
5. **Check code quality**: Naming consistency, structure, error handling, edge cases, SOLID principles
|
|
25
|
+
6. **Check test quality**: Coverage of happy path, edge cases, error conditions. Meaningful assertions.
|
|
26
|
+
7. **Check plan adherence** (only if design spec is provided): Does the implementation match the approved design's decisions?
|
|
27
|
+
- Naming: Do types, functions, and variables match the names specified in the design?
|
|
28
|
+
- File organization: Are files placed where the design specified?
|
|
29
|
+
- Architecture: Does the implementation follow the patterns and structures described in the design?
|
|
30
|
+
- Type choices: Are the correct types used as specified? (Contract tests catch most of these, but review catches indirect violations like unnecessary type conversions)
|
|
31
|
+
8. **Report findings** using the output format below
|
|
32
|
+
|
|
33
|
+
## Output Format
|
|
34
|
+
|
|
35
|
+
Report findings in three categories:
|
|
36
|
+
|
|
37
|
+
### Critical (must fix before proceeding)
|
|
38
|
+
Issues that will cause bugs, security vulnerabilities, data loss, or spec non-compliance.
|
|
39
|
+
|
|
40
|
+
Format per finding:
|
|
41
|
+
- **File**: `path/to/file.go:42`
|
|
42
|
+
- **Issue**: What's wrong
|
|
43
|
+
- **Suggestion**: How to fix it
|
|
44
|
+
|
|
45
|
+
### Important (should fix before proceeding)
|
|
46
|
+
Issues that affect maintainability, performance, or deviate from project conventions.
|
|
47
|
+
|
|
48
|
+
Format per finding:
|
|
49
|
+
- **File**: `path/to/file.go:42`
|
|
50
|
+
- **Issue**: What's wrong
|
|
51
|
+
- **Suggestion**: How to fix it
|
|
52
|
+
|
|
53
|
+
### Minor (note for later)
|
|
54
|
+
Style preferences, optional improvements, or cosmetic issues.
|
|
55
|
+
|
|
56
|
+
Format per finding:
|
|
57
|
+
- **File**: `path/to/file.go:42`
|
|
58
|
+
- **Issue**: What's wrong
|
|
59
|
+
- **Suggestion**: How to fix it
|
|
60
|
+
|
|
61
|
+
If no issues are found in a category, state "No issues found" — do not omit the category.
|
|
62
|
+
|
|
63
|
+
### Plan Adherence (only if design spec was provided)
|
|
64
|
+
|
|
65
|
+
Report whether the implementation adheres to the approved design.
|
|
66
|
+
|
|
67
|
+
If adherent:
|
|
68
|
+
- **Status**: ADHERENT — implementation matches the approved design
|
|
69
|
+
|
|
70
|
+
If deviations found, format per deviation:
|
|
71
|
+
- **DEVIATION**: What differs from the design
|
|
72
|
+
- **RATIONALE**: Why the subagent may have diverged (e.g., language idiom, existing pattern conflict)
|
|
73
|
+
- **RECOMMENDATION**: `fix` (revert to match design) or `accept` (deviation is arguably better — explain why)
|
|
74
|
+
|
|
75
|
+
The dispatching agent decides whether to fix or accept each deviation.
|
|
76
|
+
|
|
77
|
+
## Discipline
|
|
78
|
+
|
|
79
|
+
- **Technical evaluation, not performative agreement.** No "Great work!" or "Looks good!" without specific evidence. If code is clean, say "No issues found."
|
|
80
|
+
- **Be specific.** "Error handling could be improved" is useless. "The `CreateUser` handler on line 45 swallows the database error and returns 200" is actionable.
|
|
81
|
+
- **Check against the spec.** The task description says what should be built. If the implementation diverges, that's a Critical finding.
|
|
82
|
+
- **Check against conventions.** Read the project's guidance file(s) if they exist (for example `AGENTS.md` or `CLAUDE.md`). Scan 2-3 existing files in the same directory as the changed code to identify naming, structure, and error-handling patterns. Deviations from established patterns are Important findings.
|
|
83
|
+
- **Check against the design.** If a design spec is provided, the implementation must match its type definitions, naming choices, and architectural decisions. Deviations that are arguably improvements still get flagged — the orchestrator decides whether to accept them.
|
|
84
|
+
|
|
85
|
+
## Rules
|
|
86
|
+
|
|
87
|
+
- Never make code changes — you are read-only
|
|
88
|
+
- Never close issues — the dispatcher handles arc state
|
|
89
|
+
- Report only — the dispatching agent decides what to do with findings
|
|
90
|
+
- If you cannot determine whether something is an issue, flag it as Minor with your reasoning
|
|
91
|
+
- Format all output (findings, comments) using GFM: fenced code blocks with language tags, headings for structure, lists for organization, inline code for paths/commands
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Show blocked issues
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run `arc blocked` to show issues that are blocked by other issues.
|
|
6
|
+
|
|
7
|
+
Present the results showing:
|
|
8
|
+
- Issue ID and title
|
|
9
|
+
- What's blocking it
|
|
10
|
+
- Priority
|
|
11
|
+
|
|
12
|
+
This helps identify bottlenecks. Consider working on blocking issues first to unblock dependent work.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Close a completed issue
|
|
3
|
+
argument-hint: [issue-id] [--reason REASON]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Close an arc issue that's been completed.
|
|
7
|
+
|
|
8
|
+
If arguments are provided:
|
|
9
|
+
- $1: Issue ID
|
|
10
|
+
- --reason: Completion reason (optional)
|
|
11
|
+
|
|
12
|
+
If the issue ID is missing, ask for it. Optionally ask for a reason describing what was done.
|
|
13
|
+
|
|
14
|
+
**Close an issue:**
|
|
15
|
+
```bash
|
|
16
|
+
arc close <id>
|
|
17
|
+
arc close <id> --reason "Implemented in commit abc123"
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**Close multiple issues:**
|
|
21
|
+
```bash
|
|
22
|
+
arc close <id1> <id2> <id3>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Closing epics:**
|
|
26
|
+
When closing an epic, consider whether all child issues are complete. You can close an epic even if children remain open, but it's better practice to:
|
|
27
|
+
1. Check child issues: `arc show <epic-id>`
|
|
28
|
+
2. Close remaining children or move them to a new epic
|
|
29
|
+
3. Then close the epic
|
|
30
|
+
|
|
31
|
+
After closing, suggest checking for:
|
|
32
|
+
- Dependent issues that might now be unblocked (`arc ready`)
|
|
33
|
+
- New work discovered during this task (`arc create` with dependency)
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a new issue interactively
|
|
3
|
+
argument-hint: [title] [--type TYPE] [--priority N] [--parent EPIC-ID]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Create a new arc issue. If arguments are provided:
|
|
7
|
+
- $1: Issue title
|
|
8
|
+
- --type: Issue type (bug, feature, task, epic, chore)
|
|
9
|
+
- --priority: Priority (0-4, where 0=critical, 4=backlog)
|
|
10
|
+
- --parent: Parent epic ID (creates child issue)
|
|
11
|
+
|
|
12
|
+
If arguments are missing, ask the user for:
|
|
13
|
+
1. Issue title (required)
|
|
14
|
+
2. Issue type (default: task)
|
|
15
|
+
3. Priority (default: 2)
|
|
16
|
+
4. Description (optional)
|
|
17
|
+
5. Parent epic (optional, for child issues)
|
|
18
|
+
|
|
19
|
+
**Create a standalone issue:**
|
|
20
|
+
```bash
|
|
21
|
+
arc create "Fix login bug" --type bug --priority 1
|
|
22
|
+
arc create "Add dark mode" --type feature
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Create with multi-line description (use --stdin flag):**
|
|
26
|
+
```bash
|
|
27
|
+
arc create "Fix login bug" --type bug --priority 1 --stdin <<'EOF'
|
|
28
|
+
Multi-line description here.
|
|
29
|
+
Steps to reproduce, context, etc.
|
|
30
|
+
EOF
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
If `--description` is also provided, it takes precedence over `--stdin`.
|
|
34
|
+
|
|
35
|
+
**Create an epic with children:**
|
|
36
|
+
```bash
|
|
37
|
+
# Create the epic first
|
|
38
|
+
arc create "User Authentication System" --type epic --priority 1
|
|
39
|
+
|
|
40
|
+
# Create child tasks under the epic
|
|
41
|
+
arc create "Implement login flow" --type task --parent <epic-id>
|
|
42
|
+
arc create "Add password reset" --type task --parent <epic-id>
|
|
43
|
+
arc create "Add OAuth support" --type feature --parent <epic-id>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Child issues automatically get a parent-child dependency to the epic.
|
|
47
|
+
|
|
48
|
+
Optionally ask if this issue should be linked to another issue using `arc dep add` (blocks, related, discovered-from).
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Database management commands
|
|
3
|
+
argument-hint: backup [--db PATH]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Manage the arc database.
|
|
7
|
+
|
|
8
|
+
**Create a backup:**
|
|
9
|
+
```bash
|
|
10
|
+
arc db backup
|
|
11
|
+
arc db backup --db /path/to/data.db
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Creates a timestamped, gzip-compressed backup next to the database file:
|
|
15
|
+
```
|
|
16
|
+
~/.arc/data.db.20260312_155850.gz
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Backups are also created automatically before major/minor version updates via `arc self update`.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Manage dependencies between issues
|
|
3
|
+
argument-hint: add|remove <issue> <depends-on> [--type TYPE]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Manage issue dependencies with `arc dep`.
|
|
7
|
+
|
|
8
|
+
**Add dependency:**
|
|
9
|
+
```bash
|
|
10
|
+
arc dep add <issue> <depends-on> # Default: blocks
|
|
11
|
+
arc dep add <issue> <depends-on> -t blocks # Explicit type
|
|
12
|
+
arc dep add <issue> <depends-on> -t related # Related link
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
**Remove dependency:**
|
|
16
|
+
```bash
|
|
17
|
+
arc dep remove <issue> <depends-on>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**Dependency types:**
|
|
21
|
+
|
|
22
|
+
| Type | Description | Use case |
|
|
23
|
+
|------|-------------|----------|
|
|
24
|
+
| `blocks` | Issue A blocks issue B | B can't start until A is done |
|
|
25
|
+
| `parent-child` | Hierarchical relationship | Epic contains tasks |
|
|
26
|
+
| `related` | Loose association | Related work |
|
|
27
|
+
| `discovered-from` | Found during other work | Bug found while working on feature |
|
|
28
|
+
|
|
29
|
+
**Epic relationships:**
|
|
30
|
+
When creating child issues with `--parent`, a parent-child dependency is automatically created. You can also manually link:
|
|
31
|
+
```bash
|
|
32
|
+
arc dep add <child-id> <epic-id> -t parent-child
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
When an issue is blocked, it won't appear in `arc ready` until its blockers are closed.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Search and browse arc documentation
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Two-Step Workflow
|
|
6
|
+
|
|
7
|
+
1. **Search** to find which topic has the information: `arc docs search "query"`
|
|
8
|
+
2. **Read** the full topic for details: `arc docs <topic>`
|
|
9
|
+
|
|
10
|
+
### Example
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
# Step 1: Search to find where the info is
|
|
14
|
+
$ arc docs search "create issue"
|
|
15
|
+
Results for "create issue":
|
|
16
|
+
1. [workflows] Discovery and Issue Creation
|
|
17
|
+
Discovery and Issue Creation **When encountering new work...
|
|
18
|
+
2. [workflows] Creating Issues During Work
|
|
19
|
+
...
|
|
20
|
+
|
|
21
|
+
# Step 2: Read the workflows topic for full details
|
|
22
|
+
$ arc docs workflows
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
The search results show `[topic]` in brackets - use that topic name with `arc docs <topic>` to read the full section.
|
|
26
|
+
|
|
27
|
+
## Search Command
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
arc docs search "blocks vs related" # dependency types
|
|
31
|
+
arc docs search "task tracking boundaries" # boundaries
|
|
32
|
+
arc docs search "compaction notes" # resumability
|
|
33
|
+
arc docs search "session start" # workflows
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Fuzzy matching handles typos - "dependncy" finds "dependency" docs.
|
|
37
|
+
|
|
38
|
+
**Flags:**
|
|
39
|
+
- `-n, --limit` - Max results (default: 5)
|
|
40
|
+
- `--exact` - Disable fuzzy matching
|
|
41
|
+
- `-v, --verbose` - Show relevance scores
|
|
42
|
+
|
|
43
|
+
## Available Topics
|
|
44
|
+
|
|
45
|
+
| Command | Purpose |
|
|
46
|
+
|---------|---------|
|
|
47
|
+
| `arc docs` | Overview of all topics |
|
|
48
|
+
| `arc docs workflows` | Step-by-step checklists |
|
|
49
|
+
| `arc docs dependencies` | Dependency types and when to use each |
|
|
50
|
+
| `arc docs boundaries` | Task tracking boundaries and usage guidance |
|
|
51
|
+
| `arc docs resumability` | Writing notes that survive compaction |
|
|
52
|
+
| `arc docs plans` | Plan patterns (inline, parent-epic, shared) with examples |
|
|
53
|
+
| `arc docs plugin` | OpenCode installation guide |
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Initialize arc in the current project
|
|
3
|
+
argument-hint: [project-name]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Initialize arc in the current directory.
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
arc init # Use directory name as project
|
|
10
|
+
arc init my-project # Custom project name
|
|
11
|
+
arc init --prefix cxsh # Custom issue prefix (e.g., cxsh-0b7w)
|
|
12
|
+
arc init my-project -p cxsh # Both custom name and prefix
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
This command:
|
|
16
|
+
1. Creates a project on the arc server (or connects to existing)
|
|
17
|
+
2. Registers the current directory as a workspace path on the server
|
|
18
|
+
3. Saves project config to `~/.arc/projects/`
|
|
19
|
+
4. Creates AGENTS.md with workflow instructions
|
|
20
|
+
|
|
21
|
+
**Flags:**
|
|
22
|
+
- `--prefix`, `-p`: Custom issue prefix basename (alphanumeric, max 10 chars). Gets normalized (lowercased, special chars stripped) and combined with a hash suffix for uniqueness.
|
|
23
|
+
- `--description`, `-d`: Project description
|
|
24
|
+
- `--quiet`, `-q`: Suppress output
|
|
25
|
+
|
|
26
|
+
**Prerequisites:**
|
|
27
|
+
- Arc server must be running (`arc server start`)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: List issues with optional filters
|
|
3
|
+
argument-hint: [--status STATUS] [--type TYPE] [--query SEARCH]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
List arc issues with optional filtering.
|
|
7
|
+
|
|
8
|
+
**Common filters:**
|
|
9
|
+
- `--status open|in_progress|blocked|deferred|closed`
|
|
10
|
+
- `--type bug|feature|task|epic|chore`
|
|
11
|
+
- `--query "search text"`
|
|
12
|
+
- `--limit N`
|
|
13
|
+
|
|
14
|
+
**Examples:**
|
|
15
|
+
```bash
|
|
16
|
+
arc list # All issues
|
|
17
|
+
arc list --status open # Open issues only
|
|
18
|
+
arc list --type bug # Bugs only
|
|
19
|
+
arc list --type epic # Epics only
|
|
20
|
+
arc list --query "auth" # Search for "auth"
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**Working with epics:**
|
|
24
|
+
```bash
|
|
25
|
+
arc list --type epic # Find all epics
|
|
26
|
+
arc show <epic-id> # View epic and its children
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Present results in a clear format showing ID, status, priority, type, and title.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Migrate legacy project configs to server-side workspace paths
|
|
3
|
+
argument-hint: [--dry-run] [--force]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Migrate legacy `~/.arc/projects/` configurations to server-side workspace path registrations.
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
arc migrate-paths # Run migration
|
|
10
|
+
arc migrate-paths --dry-run # Preview without making changes
|
|
11
|
+
arc migrate-paths --force # Re-run even if already migrated
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
This is a one-time migration for users upgrading from older versions of arc that stored project-to-directory mappings only in local config files. After migration, the server handles path resolution, enabling multi-machine and container support.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Get oriented with the current project
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run `arc onboard` at the start of a work session to understand:
|
|
6
|
+
|
|
7
|
+
- Current project and directory context
|
|
8
|
+
- Open issues and their priorities
|
|
9
|
+
- Blocked work and dependencies
|
|
10
|
+
- Recent activity
|
|
11
|
+
|
|
12
|
+
This provides the context needed to decide what to work on.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Manage workspace path registrations for a project
|
|
3
|
+
argument-hint: [list|add|remove] [--all]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Manage filesystem paths associated with the current project. Paths link directories to projects for automatic project resolution.
|
|
7
|
+
|
|
8
|
+
**List paths for current project:**
|
|
9
|
+
```bash
|
|
10
|
+
arc paths
|
|
11
|
+
arc paths list
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
**List paths across all projects:**
|
|
15
|
+
```bash
|
|
16
|
+
arc paths list --all
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Register a path:**
|
|
20
|
+
```bash
|
|
21
|
+
arc paths add <dir>
|
|
22
|
+
arc paths add <dir> --label "my laptop" --hostname myhost
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Unregister a path:**
|
|
26
|
+
```bash
|
|
27
|
+
arc paths remove <path-or-id>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**Flags for `add`:**
|
|
31
|
+
- `--label`: Human-readable label for the path
|
|
32
|
+
- `--hostname`: Override auto-detected hostname
|
|
33
|
+
|
|
34
|
+
Paths are registered automatically by `arc init`. Use `arc paths add` to register additional directories (e.g., worktrees, secondary checkouts).
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Install and configure arc for OpenCode
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# arc docs plugin
|
|
6
|
+
|
|
7
|
+
Install the official OpenCode arc plugin package through `opencode.json`:
|
|
8
|
+
|
|
9
|
+
```json
|
|
10
|
+
{
|
|
11
|
+
"plugin": ["@bfirestone45/opencode-arc"]
|
|
12
|
+
}
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
OpenCode installs npm plugin packages automatically with Bun. This package registers the Arc runtime hook, `/arc-*` commands, `arc-*` agents, and Arc workflow skills from its bundled assets.
|
|
16
|
+
|
|
17
|
+
## After installation
|
|
18
|
+
|
|
19
|
+
Run `arc onboard` in the project root to resolve the active project and load the current work queue.
|
|
20
|
+
|
|
21
|
+
## OpenCode contract
|
|
22
|
+
|
|
23
|
+
- `arc prime` automation is fail-open.
|
|
24
|
+
- OpenCode commands, agents, and skills remain explicitly prefixed.
|
|
25
|
+
- The workflow is sequential and subagent-driven.
|
|
26
|
+
- This plugin does not claim worktree-isolated parallel execution.
|
|
27
|
+
|
|
28
|
+
## Local development fallback
|
|
29
|
+
|
|
30
|
+
The repository's copy-based OpenCode installer can still install files from `opencode-marketplace/plugins/arc/` into `.opencode/` for local development or for environments that are not using npm package plugins yet.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Manage projects
|
|
3
|
+
argument-hint: list|create|delete|rename|merge
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Manage arc projects.
|
|
7
|
+
|
|
8
|
+
**List projects:**
|
|
9
|
+
```bash
|
|
10
|
+
arc project list
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
**Create project:**
|
|
14
|
+
```bash
|
|
15
|
+
arc project create my-project
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
**Delete project:**
|
|
19
|
+
```bash
|
|
20
|
+
arc project delete <id>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**Rename project:**
|
|
24
|
+
```bash
|
|
25
|
+
arc project rename <new-name>
|
|
26
|
+
arc project rename --project <id> <new-name>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**Merge projects:**
|
|
30
|
+
```bash
|
|
31
|
+
arc project merge --into <target> <source> [sources...]
|
|
32
|
+
```
|
|
33
|
+
Merges all issues and plans from source projects into the target, then deletes source projects. Projects can be specified by name or ID.
|
|
34
|
+
|
|
35
|
+
Each directory typically has its own project. Use `arc init` in a project directory to create and configure a project automatically. Use `arc paths add` to register additional directories to an existing project.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Quick start guide for arc
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run `arc quickstart` to display a quick start guide covering:
|
|
6
|
+
|
|
7
|
+
- Core concepts (projects, issues, dependencies)
|
|
8
|
+
- Basic workflow (find work, start, complete, create)
|
|
9
|
+
- Key commands reference
|
|
10
|
+
- Priority levels and issue types
|
|
11
|
+
- Tips for AI agents
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Find ready-to-work tasks with no blockers
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run `arc ready` to find tasks that are ready to work on (no blocking dependencies).
|
|
6
|
+
|
|
7
|
+
Present the results to the user showing:
|
|
8
|
+
- Issue ID
|
|
9
|
+
- Title
|
|
10
|
+
- Priority
|
|
11
|
+
- Issue type
|
|
12
|
+
|
|
13
|
+
If there are ready tasks, ask the user which one they'd like to work on. If they choose one, run `arc update <id> --take` to claim it (sets session ID + in_progress).
|
|
14
|
+
|
|
15
|
+
If there are no ready tasks, suggest checking `arc blocked` or creating a new issue with `arc create`.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Manage the arc CLI itself (update, release channel)
|
|
3
|
+
argument-hint: update|channel
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Self-management commands for the arc CLI.
|
|
7
|
+
|
|
8
|
+
**Check for updates:**
|
|
9
|
+
```bash
|
|
10
|
+
arc self update --check
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
**Update to latest version:**
|
|
14
|
+
```bash
|
|
15
|
+
arc self update
|
|
16
|
+
arc self update --force # Force reinstall even if up-to-date
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**View or switch release channel:**
|
|
20
|
+
```bash
|
|
21
|
+
arc self channel # Show current channel
|
|
22
|
+
arc self channel rc # Switch to release candidates
|
|
23
|
+
arc self channel nightly # Switch to nightly builds
|
|
24
|
+
arc self channel stable # Switch back to stable
|
|
25
|
+
arc self channel nightly -y # Switch without confirmation prompt
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**Channels:**
|
|
29
|
+
- `stable` — Official releases (default)
|
|
30
|
+
- `rc` — Release candidates
|
|
31
|
+
- `nightly` — Daily builds from main branch
|
|
32
|
+
|
|
33
|
+
Major/minor version updates automatically create a database backup before installing.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Manage the arc server daemon
|
|
3
|
+
argument-hint: start|stop|status|logs|restart
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Manage the arc server with `arc server` subcommands.
|
|
7
|
+
|
|
8
|
+
**Start server:**
|
|
9
|
+
```bash
|
|
10
|
+
arc server start # Start as daemon
|
|
11
|
+
arc server start --foreground # Run in foreground
|
|
12
|
+
arc server start --port 8080 # Custom port
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
**Other commands:**
|
|
16
|
+
```bash
|
|
17
|
+
arc server stop # Stop the server
|
|
18
|
+
arc server status # Check if running
|
|
19
|
+
arc server logs # View server logs
|
|
20
|
+
arc server logs -f # Follow logs
|
|
21
|
+
arc server restart # Restart the server
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
**Data location:** `~/.arc/` (data.db, server.log, server.pid, cli-config.json)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Show detailed information about an issue
|
|
3
|
+
argument-hint: <issue-id>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Show details for an arc issue.
|
|
7
|
+
|
|
8
|
+
If the issue ID is missing, ask the user for it or suggest running `arc list` to find issues.
|
|
9
|
+
|
|
10
|
+
Run `arc show <id>` to display:
|
|
11
|
+
- Issue ID, title, status
|
|
12
|
+
- Priority and type
|
|
13
|
+
- Description
|
|
14
|
+
- Dependencies (blocking/blocked by)
|
|
15
|
+
- Labels and comments
|
|
16
|
+
|
|
17
|
+
**For epics:** The show command also displays child issues linked via parent-child dependencies, helping you see the full scope of work in an epic.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Show project statistics
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run `arc stats` to show statistics for the current project:
|
|
6
|
+
|
|
7
|
+
- Total issues
|
|
8
|
+
- Open, in progress, blocked, deferred, closed counts
|
|
9
|
+
- Ready issues (unblocked)
|
|
10
|
+
- Average lead time
|
|
11
|
+
|
|
12
|
+
This gives a quick overview of project health and progress.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Agent team operations
|
|
3
|
+
argument-hint: context [epic-id] [--json]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Manage agent team operations with `arc team`.
|
|
7
|
+
|
|
8
|
+
**Team context:**
|
|
9
|
+
```bash
|
|
10
|
+
arc team context # All teammate-labeled issues
|
|
11
|
+
arc team context <epic-id> # Children of specific epic
|
|
12
|
+
arc team context --json # JSON output for machine consumption
|
|
13
|
+
arc team context <epic-id> --json # JSON for a specific epic
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
**Output:** Issues grouped by their `teammate:*` labels (e.g., `teammate:frontend`, `teammate:backend`).
|
|
17
|
+
|
|
18
|
+
| Column | Description |
|
|
19
|
+
|--------|-------------|
|
|
20
|
+
| ROLE | Teammate role extracted from `teammate:*` label |
|
|
21
|
+
| ISSUES | Count of issues assigned to that role |
|
|
22
|
+
| IDS | Issue IDs for that role |
|
|
23
|
+
|
|
24
|
+
**JSON output** includes full issue details with plans and dependencies for each role group.
|
|
25
|
+
|
|
26
|
+
**Related commands:**
|
|
27
|
+
- `arc prime --role=lead` — Team lead context output
|
|
28
|
+
- `arc prime --role=frontend` — Teammate-specific context (or use `ARC_TEAMMATE_ROLE` env var)
|
|
29
|
+
|
|
30
|
+
`arc-team-deploy` is not part of the OpenCode port.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Update an issue's status, priority, or other fields
|
|
3
|
+
argument-hint: <issue-id> [--status STATUS] [--priority N]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Update an arc issue's fields.
|
|
7
|
+
|
|
8
|
+
Available updates:
|
|
9
|
+
- `--status open|in_progress|blocked|deferred|closed`
|
|
10
|
+
- `--priority 0-4`
|
|
11
|
+
- `--title "new title"`
|
|
12
|
+
- `--description "text"` (use for resumability notes)
|
|
13
|
+
- `--type bug|feature|task|epic|chore`
|
|
14
|
+
|
|
15
|
+
Examples:
|
|
16
|
+
```bash
|
|
17
|
+
arc update <id> --take # Claim work (sets session ID + in_progress)
|
|
18
|
+
arc update <id> --priority 1 # Raise priority
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Update description via stdin (use --stdin flag):**
|
|
22
|
+
```bash
|
|
23
|
+
arc update <id> --stdin <<'EOF'
|
|
24
|
+
COMPLETED: X. IN PROGRESS: Y. NEXT: Z
|
|
25
|
+
EOF
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
If `--description` is also provided, it takes precedence over `--stdin`.
|
|
29
|
+
|
|
30
|
+
If the issue ID is missing, ask for it or suggest `arc list` to find issues.
|