opencode-pilot 0.20.5 → 0.21.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.
@@ -44,13 +44,11 @@ jobs:
44
44
  needs: test
45
45
  if: github.event_name == 'push' && github.ref == 'refs/heads/main'
46
46
  runs-on: ubuntu-latest
47
- outputs:
48
- new_release_published: ${{ steps.semantic.outputs.new_release_published }}
49
- new_release_version: ${{ steps.semantic.outputs.new_release_version }}
50
47
  steps:
51
48
  - uses: actions/checkout@v4
52
49
  with:
53
50
  fetch-depth: 0
51
+ persist-credentials: false
54
52
 
55
53
  - name: Setup Node.js
56
54
  uses: actions/setup-node@v4
@@ -67,8 +65,11 @@ jobs:
67
65
  run: npm install
68
66
 
69
67
  - name: Run semantic-release
70
- id: semantic
71
68
  run: npx semantic-release
72
69
  env:
73
70
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
74
71
  NPM_CONFIG_PROVENANCE: true
72
+ GIT_AUTHOR_NAME: github-actions[bot]
73
+ GIT_AUTHOR_EMAIL: github-actions[bot]@users.noreply.github.com
74
+ GIT_COMMITTER_NAME: github-actions[bot]
75
+ GIT_COMMITTER_EMAIL: github-actions[bot]@users.noreply.github.com
package/.releaserc.cjs CHANGED
@@ -19,19 +19,24 @@ module.exports = {
19
19
  // Generate release notes
20
20
  '@semantic-release/release-notes-generator',
21
21
 
22
- // Update version in package.json and publish to npm with provenance
22
+ // Publish to npm with provenance
23
23
  ['@semantic-release/npm', { provenance: true }],
24
24
 
25
- // Commit the version changes
26
- [
27
- '@semantic-release/git',
28
- {
29
- assets: ['package.json', 'package-lock.json'],
30
- message: 'chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}'
31
- }
32
- ],
25
+ // Create GitHub release (creates the tag/tarball)
26
+ '@semantic-release/github',
33
27
 
34
- // Create GitHub release
35
- '@semantic-release/github'
28
+ // Update Homebrew formula with new version and SHA (runs after release is created)
29
+ ['@semantic-release/exec', {
30
+ successCmd: `
31
+ VERSION="\${nextRelease.version}"
32
+ TARBALL_URL="https://github.com/athal7/opencode-pilot/archive/refs/tags/v$VERSION.tar.gz"
33
+ SHA256=$(curl -sL "$TARBALL_URL" | shasum -a 256 | cut -d' ' -f1)
34
+ sed -i "s|url \\"https://github.com/athal7/opencode-pilot/archive/refs/tags/v.*\\.tar\\.gz\\"|url \\"$TARBALL_URL\\"|" Formula/opencode-pilot.rb
35
+ sed -i "s|sha256 \\".*\\"|sha256 \\"$SHA256\\"|" Formula/opencode-pilot.rb
36
+ git add Formula/opencode-pilot.rb
37
+ git commit -m "chore(brew): update formula to v$VERSION [skip ci]"
38
+ git push
39
+ `
40
+ }]
36
41
  ]
37
42
  };
@@ -0,0 +1,40 @@
1
+ class OpencodePilot < Formula
2
+ desc "Automation daemon for OpenCode - polls GitHub/Linear issues and spawns sessions"
3
+ homepage "https://github.com/athal7/opencode-pilot"
4
+ url "https://github.com/athal7/opencode-pilot/archive/refs/tags/v0.20.5.tar.gz"
5
+ sha256 "454bdead3efab2278c1b25e31d8e3d9dcb0c1895f4723a8e7757e01812605a84"
6
+ license "MIT"
7
+
8
+ depends_on "node"
9
+
10
+ def install
11
+ system "npm", "install", *std_npm_args
12
+ bin.install_symlink Dir["#{libexec}/bin/*"]
13
+ end
14
+
15
+ service do
16
+ run [opt_bin/"opencode-pilot", "start"]
17
+ keep_alive true
18
+ log_path var/"log/opencode-pilot.log"
19
+ error_log_path var/"log/opencode-pilot.error.log"
20
+ working_dir Dir.home
21
+ end
22
+
23
+ def caveats
24
+ <<~EOS
25
+ Configuration file: ~/.config/opencode/pilot/config.yaml
26
+
27
+ To start the service:
28
+ brew services start opencode-pilot
29
+
30
+ To check status:
31
+ opencode-pilot status
32
+
33
+ Note: Requires OpenCode to be running for session creation.
34
+ EOS
35
+ end
36
+
37
+ test do
38
+ assert_match "Usage:", shell_output("#{bin}/opencode-pilot help")
39
+ end
40
+ end
package/README.md CHANGED
@@ -13,8 +13,23 @@ Automation daemon for [OpenCode](https://github.com/sst/opencode) - polls for wo
13
13
 
14
14
  ## Installation
15
15
 
16
+ ### Homebrew (recommended)
17
+
18
+ ```bash
19
+ brew tap athal7/opencode-pilot
20
+ brew install opencode-pilot
21
+
22
+ # Start the service (runs at login)
23
+ brew services start opencode-pilot
24
+ ```
25
+
26
+ Upgrade with `brew upgrade opencode-pilot`.
27
+
28
+ ### npm (alternative)
29
+
16
30
  ```bash
17
31
  npm install -g opencode-pilot
32
+ opencode-pilot start
18
33
  ```
19
34
 
20
35
  ## Quick Start
@@ -23,19 +38,13 @@ npm install -g opencode-pilot
23
38
 
24
39
  2. **Create templates** - Add prompt templates to `~/.config/opencode/pilot/templates/`
25
40
 
26
- 3. **Enable the plugin** - Add to your `opencode.json`:
27
-
28
- ```json
29
- {
30
- "plugin": ["opencode-pilot"]
31
- }
32
- ```
33
-
34
- The daemon will auto-start when OpenCode launches. If a newer version of the plugin is installed, the daemon will automatically restart to pick up the new version.
35
-
36
- Or start manually:
41
+ 3. **Start the service**:
37
42
 
38
43
  ```bash
44
+ # If installed via Homebrew:
45
+ brew services start opencode-pilot
46
+
47
+ # If installed via npm:
39
48
  opencode-pilot start
40
49
  ```
41
50
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-pilot",
3
- "version": "0.20.5",
3
+ "version": "0.21.1",
4
4
  "type": "module",
5
5
  "main": "plugin/index.js",
6
6
  "description": "Automation daemon for OpenCode - polls for work and spawns sessions",
@@ -30,7 +30,7 @@
30
30
  "test:all": "node --test test/unit/*.test.js test/integration/*.test.js"
31
31
  },
32
32
  "devDependencies": {
33
- "@semantic-release/git": "^10.0.1",
33
+ "@semantic-release/exec": "^7.1.0",
34
34
  "@semantic-release/github": "^9.2.6",
35
35
  "@semantic-release/npm": "^13.1.0",
36
36
  "semantic-release": "^25.0.2"