@bniladridas/cursor 0.1.14 → 0.1.15

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.
@@ -10,32 +10,35 @@ on:
10
10
 
11
11
  permissions:
12
12
  contents: write
13
- pull-requests: write
14
13
 
15
14
  jobs:
16
15
  update:
17
16
  runs-on: ubuntu-latest
18
17
 
19
18
  steps:
20
- - uses: actions/checkout@v4
21
- with:
22
- fetch-depth: 0
23
-
24
19
  - uses: actions/create-github-app-token@v3
25
- id: app-token
20
+ id: tap-token
26
21
  with:
27
22
  client-id: ${{ secrets.CURSOR_BOT_CLIENT_ID }}
28
23
  private-key: ${{ secrets.CURSOR_BOT_PRIVATE_KEY }}
24
+ owner: palmshed
25
+ repositories: homebrew-cursor
29
26
 
30
27
  - name: Resolve tag
31
28
  id: tag
32
29
  run: printf 'tag=%s\n' "${{ inputs.tag }}" >> "$GITHUB_OUTPUT"
33
30
 
34
31
  - name: Apply sha
32
+ env:
33
+ GH_TOKEN: ${{ steps.tap-token.outputs.token }}
35
34
  run: |
36
35
  tag="${{ steps.tag.outputs.tag }}"
37
36
  version="${tag#v}"
38
37
 
38
+ TAPDIR=$(mktemp -d)
39
+ git clone https://github.com/palmshed/homebrew-cursor "$TAPDIR"
40
+ cd "$TAPDIR"
41
+
39
42
  url="https://github.com/bniladridas/cursor/archive/refs/tags/${tag}.tar.gz"
40
43
  curl -fsSL "$url" -o source.tar.gz
41
44
  sha="$(sha256sum source.tar.gz | awk '{print $1}')"
@@ -53,13 +56,20 @@ jobs:
53
56
  rm bottle.tar.gz
54
57
  fi
55
58
 
56
- - name: Open pull request
57
- uses: peter-evans/create-pull-request@v8
58
- with:
59
- token: ${{ steps.app-token.outputs.token }}
60
- base: main
61
- branch: formula-sha-${{ steps.tag.outputs.tag }}
62
- delete-branch: true
63
- title: "chore: formula sha"
64
- commit-message: "chore: formula sha"
65
- body: ""
59
+ git config user.name "${{ steps.tap-token.outputs.app-slug }}[bot]"
60
+ git config user.email "${{ steps.tap-token.outputs.app-id }}+${{ steps.tap-token.outputs.app-slug }}[bot]@users.noreply.github.com"
61
+ git remote set-url origin https://x-access-token:${GH_TOKEN}@github.com/palmshed/homebrew-cursor
62
+ branch="formula-sha-${tag}"
63
+ git checkout -b "$branch"
64
+ git add Formula/cursor.rb
65
+ git commit -m "chore: update formula for ${tag}"
66
+ git push origin "$branch"
67
+ gh pr create \
68
+ --repo palmshed/homebrew-cursor \
69
+ --base main \
70
+ --head "$branch" \
71
+ --title "chore: update formula for ${tag}" \
72
+ --body "Manual formula update for ${tag}." \
73
+ --fill
74
+ gh pr merge --squash --delete-branch --repo palmshed/homebrew-cursor || \
75
+ echo "merge failed (race or conflict), PR is open for manual merge"
@@ -7,7 +7,6 @@ on:
7
7
 
8
8
  permissions:
9
9
  contents: write
10
- pull-requests: write
11
10
  id-token: write
12
11
 
13
12
  jobs:
@@ -130,6 +129,14 @@ jobs:
130
129
  client-id: ${{ secrets.CURSOR_BOT_CLIENT_ID }}
131
130
  private-key: ${{ secrets.CURSOR_BOT_PRIVATE_KEY }}
132
131
 
132
+ - uses: actions/create-github-app-token@v3
133
+ id: tap-token
134
+ with:
135
+ client-id: ${{ secrets.CURSOR_BOT_CLIENT_ID }}
136
+ private-key: ${{ secrets.CURSOR_BOT_PRIVATE_KEY }}
137
+ owner: palmshed
138
+ repositories: homebrew-cursor
139
+
133
140
  - name: Download artifacts
134
141
  uses: actions/download-artifact@v6
135
142
  with:
@@ -166,15 +173,37 @@ jobs:
166
173
  --title "$GITHUB_REF_NAME" \
167
174
  --generate-notes
168
175
 
169
- - name: Update Homebrew formula
176
+ - name: Update Homebrew tap formula
177
+ env:
178
+ GH_TOKEN: ${{ steps.tap-token.outputs.token }}
170
179
  run: |
171
180
  version="${GITHUB_REF_NAME#v}"
181
+ TAPDIR=$(mktemp -d)
182
+ git clone https://github.com/palmshed/homebrew-cursor "$TAPDIR"
183
+ cd "$TAPDIR"
172
184
  sed -i "s|url \".*\"|url \"https://github.com/bniladridas/cursor/archive/refs/tags/${GITHUB_REF_NAME}.tar.gz\"|" Formula/cursor.rb
173
185
  sed -i "s|sha256 \".*\"|sha256 \"${SOURCE_SHA}\"|" Formula/cursor.rb
174
186
  sed -i "s|root_url \".*\"|root_url \"https://github.com/bniladridas/cursor/releases/download/${GITHUB_REF_NAME}\"|" Formula/cursor.rb
175
187
  if [ -n "${BOTTLE_SHA}" ]; then
176
188
  sed -i "s|sha256 arm64_sequoia: \".*\"|sha256 arm64_sequoia: \"${BOTTLE_SHA}\"|" Formula/cursor.rb
177
189
  fi
190
+ git config user.name "${{ steps.tap-token.outputs.app-slug }}[bot]"
191
+ git config user.email "${{ steps.tap-token.outputs.app-id }}+${{ steps.tap-token.outputs.app-slug }}[bot]@users.noreply.github.com"
192
+ git remote set-url origin https://x-access-token:${GH_TOKEN}@github.com/palmshed/homebrew-cursor
193
+ branch="release/${GITHUB_REF_NAME}"
194
+ git checkout -b "$branch"
195
+ git add Formula/cursor.rb
196
+ git commit -m "chore: update formula for ${GITHUB_REF_NAME}"
197
+ git push origin "$branch"
198
+ gh pr create \
199
+ --repo palmshed/homebrew-cursor \
200
+ --base main \
201
+ --head "$branch" \
202
+ --title "chore: update formula for ${GITHUB_REF_NAME}" \
203
+ --body "Automated formula update for ${GITHUB_REF_NAME}." \
204
+ --fill
205
+ gh pr merge --squash --delete-branch --repo palmshed/homebrew-cursor || \
206
+ echo "merge failed (race or conflict), PR is open for manual merge"
178
207
 
179
208
  - name: Update package version
180
209
  run: |
@@ -187,13 +216,3 @@ jobs:
187
216
  run: |
188
217
  echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
189
218
  npm publish --access public --provenance 2>&1 || echo "already published"
190
-
191
- - name: Create version update PR
192
- uses: peter-evans/create-pull-request@v8
193
- with:
194
- token: ${{ steps.app-token.outputs.token }}
195
- base: main
196
- branch: release/${{ github.ref_name }}
197
- title: "chore: update formula and package for ${{ github.ref_name }}"
198
- body: Updates formula and package for ${{ github.ref_name }}.
199
- add-paths: Formula/cursor.rb, package.json
package/README.md CHANGED
@@ -16,10 +16,15 @@ npm i -g @bniladridas/cursor
16
16
 
17
17
  **Homebrew** (binary: `cursor-agent`):
18
18
  ```bash
19
- brew tap bniladridas/cursor https://github.com/bniladridas/cursor
19
+ brew tap palmshed/cursor
20
20
  brew install cursor
21
21
  ```
22
22
 
23
+ **Curl** (binary: `cursor-agent`):
24
+ ```bash
25
+ curl -fsSL https://github.com/bniladridas/cursor/raw/main/install.sh | sh
26
+ ```
27
+
23
28
  **From source** (binary: `cursor`):
24
29
  ```bash
25
30
  cmake -S . -B build && cmake --build build
package/install.sh ADDED
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ REPO="bniladridas/cursor"
5
+ INSTALL_DIR="${INSTALL_DIR:-/usr/local/bin}"
6
+ VERSION="${VERSION:-}"
7
+
8
+ if [ -z "$VERSION" ]; then
9
+ VERSION=$(curl -fsSL "https://api.github.com/repos/$REPO/releases/latest" | grep '"tag_name"' | cut -d'"' -f4)
10
+ fi
11
+ VERSION="${VERSION#v}"
12
+
13
+ case "$(uname -s)" in
14
+ Darwin) OS="darwin" ;;
15
+ Linux) OS="linux" ;;
16
+ *) echo "unsupported OS: $(uname -s)"; exit 1 ;;
17
+ esac
18
+
19
+ case "$(uname -m)" in
20
+ arm64|aarch64) ARCH="arm64" ;;
21
+ x86_64|amd64) ARCH="amd64" ;;
22
+ *) echo "unsupported arch: $(uname -m) (only amd64 and arm64 are supported)"; exit 1 ;;
23
+ esac
24
+
25
+ if [ "$OS" = "darwin" ] && [ "$ARCH" = "arm64" ]; then
26
+ ARCHIVE="cursor_v${VERSION}_darwin_arm64.tar.gz"
27
+ BINARY="cursor-macos"
28
+ elif [ "$OS" = "darwin" ] && [ "$ARCH" = "amd64" ]; then
29
+ ARCHIVE="cursor_v${VERSION}_darwin_amd64.tar.gz"
30
+ BINARY="cursor-macos"
31
+ elif [ "$OS" = "linux" ]; then
32
+ ARCHIVE="cursor_v${VERSION}_linux_amd64.tar.gz"
33
+ BINARY="cursor-linux"
34
+ fi
35
+
36
+ URL="https://github.com/$REPO/releases/download/v${VERSION}/$ARCHIVE"
37
+ TMPDIR=$(mktemp -d)
38
+ trap 'rm -rf "$TMPDIR"' EXIT
39
+
40
+ echo "downloading cursor v${VERSION} for ${OS}/${ARCH}..."
41
+ curl -fsSL "$URL" -o "$TMPDIR/$ARCHIVE" || { echo "download failed: $URL"; exit 1; }
42
+
43
+ echo "extracting..."
44
+ tar -xzf "$TMPDIR/$ARCHIVE" -C "$TMPDIR"
45
+
46
+ mkdir -p "$INSTALL_DIR"
47
+ cp "$TMPDIR/$BINARY" "$INSTALL_DIR/cursor-agent"
48
+ chmod +x "$INSTALL_DIR/cursor-agent"
49
+
50
+ echo "installed cursor-agent to $INSTALL_DIR/cursor-agent"
51
+ echo "run: cursor-agent --help"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bniladridas/cursor",
3
- "version": "0.1.14",
3
+ "version": "0.1.15",
4
4
  "description": "Cross-platform AI coding agent",
5
5
  "bin": {
6
6
  "cursor": "cli.js"
@@ -1,4 +1,4 @@
1
- 5b0e27c981ba711dbaa88c1409ce80145343106d725eb8cbb711d85b3fc40154 release/cursor-macos/cursor-0.1.14.arm64_sequoia.bottle.tar.gz
2
- 3b5ef1209208058ead569f4061e1379361b8437f76212d976ac2adec3f9685ee release/cursor-macos/cursor_v0.1.14_darwin_arm64.tar.gz
3
- f846e206c45f740ef96ef5bcabb5696aa27f1bbc03bb7acc8b6c0cddf1a32597 release/cursor-linux/cursor_v0.1.14_linux_amd64.tar.gz
4
- 848e52f6c50ae296fadc357763d7cad7e92fe59a90e2e1b7610e4de01d1292ba release/cursor-windows/cursor__windows_amd64.zip
1
+ 84fd2272ff374dbb02a6f76e5f280b722daeb50363661b8cdee876db09978567 release/cursor-macos/cursor_v0.1.15_darwin_arm64.tar.gz
2
+ def0dc5a0326e9a1583547607a43c4676ebbe65ef37fc3629fa1e333f27443ed release/cursor-macos/cursor-0.1.15.arm64_sequoia.bottle.tar.gz
3
+ d180ad0e8851d510378faaad8c1739439419fb0e7c91896c263ed22ba3144d4f release/cursor-linux/cursor_v0.1.15_linux_amd64.tar.gz
4
+ 8598ddaf4e8471a4fb003e99a2f478047135c6ad26908ce0d0998728e343ead3 release/cursor-windows/cursor__windows_amd64.zip
package/Formula/cursor.rb DELETED
@@ -1,50 +0,0 @@
1
- class Cursor < Formula
2
- desc "Professional AI agent with command execution and file operations"
3
- homepage "https://github.com/bniladridas/cursor"
4
- url "https://github.com/bniladridas/cursor/archive/refs/tags/v0.1.14.tar.gz"
5
- sha256 "676c6dcaeefa4dc048793cd2baca0c36c3ae34c6122045ad97040df6d27354c5"
6
- license "Apache-2.0"
7
-
8
- bottle do
9
- root_url "https://github.com/bniladridas/cursor/releases/download/v0.1.14"
10
- sha256 arm64_sequoia: "5b0e27c981ba711dbaa88c1409ce80145343106d725eb8cbb711d85b3fc40154"
11
- end
12
-
13
- depends_on "cmake" => :build
14
- depends_on "cpr"
15
- depends_on "nlohmann-json"
16
-
17
- def install
18
- system "cmake", "-S", ".", "-B", "build", "-DCURSOR_BUILD_TESTS:BOOL=OFF", *std_cmake_args
19
- system "cmake", "--build", "build"
20
- bin.install "build/bin/cursor-agent"
21
-
22
- (etc/"cursor-agent").install ".env.example" => "config.env"
23
- end
24
-
25
- def post_install
26
- (var/"cursor-agent").mkpath
27
- unless (etc/"cursor-agent/.env").exist?
28
- cp etc/"cursor-agent/config.env", etc/"cursor-agent/.env"
29
- end
30
- end
31
-
32
- test do
33
- system "#{bin}/cursor-agent", "--version"
34
- end
35
-
36
- def caveats
37
- <<~EOS
38
- Configuration file is located at:
39
- #{etc}/cursor-agent/.env
40
-
41
- Edit this file with your API keys:
42
- - TOGETHER_API_KEY (for online mode)
43
- - CEREBRAS_API_KEY (for Cerebras mode)
44
- - SERPAPI_KEY (for web search)
45
-
46
- Data directory:
47
- #{var}/cursor-agent/
48
- EOS
49
- end
50
- end