@bniladridas/cursor 0.1.14 → 0.1.16

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 "brand-cursor[bot]"
60
+ git config user.email "4087321+brand-cursor[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"
@@ -130,6 +130,14 @@ jobs:
130
130
  client-id: ${{ secrets.CURSOR_BOT_CLIENT_ID }}
131
131
  private-key: ${{ secrets.CURSOR_BOT_PRIVATE_KEY }}
132
132
 
133
+ - uses: actions/create-github-app-token@v3
134
+ id: tap-token
135
+ with:
136
+ client-id: ${{ secrets.CURSOR_BOT_CLIENT_ID }}
137
+ private-key: ${{ secrets.CURSOR_BOT_PRIVATE_KEY }}
138
+ owner: palmshed
139
+ repositories: homebrew-cursor
140
+
133
141
  - name: Download artifacts
134
142
  uses: actions/download-artifact@v6
135
143
  with:
@@ -166,15 +174,37 @@ jobs:
166
174
  --title "$GITHUB_REF_NAME" \
167
175
  --generate-notes
168
176
 
169
- - name: Update Homebrew formula
177
+ - name: Update Homebrew tap formula
178
+ env:
179
+ GH_TOKEN: ${{ steps.tap-token.outputs.token }}
170
180
  run: |
171
181
  version="${GITHUB_REF_NAME#v}"
182
+ TAPDIR=$(mktemp -d)
183
+ git clone https://github.com/palmshed/homebrew-cursor "$TAPDIR"
184
+ cd "$TAPDIR"
172
185
  sed -i "s|url \".*\"|url \"https://github.com/bniladridas/cursor/archive/refs/tags/${GITHUB_REF_NAME}.tar.gz\"|" Formula/cursor.rb
173
186
  sed -i "s|sha256 \".*\"|sha256 \"${SOURCE_SHA}\"|" Formula/cursor.rb
174
187
  sed -i "s|root_url \".*\"|root_url \"https://github.com/bniladridas/cursor/releases/download/${GITHUB_REF_NAME}\"|" Formula/cursor.rb
175
188
  if [ -n "${BOTTLE_SHA}" ]; then
176
189
  sed -i "s|sha256 arm64_sequoia: \".*\"|sha256 arm64_sequoia: \"${BOTTLE_SHA}\"|" Formula/cursor.rb
177
190
  fi
191
+ git config user.name "brand-cursor[bot]"
192
+ git config user.email "4087321+brand-cursor[bot]@users.noreply.github.com"
193
+ git remote set-url origin https://x-access-token:${GH_TOKEN}@github.com/palmshed/homebrew-cursor
194
+ branch="release/${GITHUB_REF_NAME}"
195
+ git checkout -b "$branch"
196
+ git add Formula/cursor.rb
197
+ git commit -m "chore: update formula for ${GITHUB_REF_NAME}"
198
+ git push origin "$branch"
199
+ gh pr create \
200
+ --repo palmshed/homebrew-cursor \
201
+ --base main \
202
+ --head "$branch" \
203
+ --title "chore: update formula for ${GITHUB_REF_NAME}" \
204
+ --body "Automated formula update for ${GITHUB_REF_NAME}." \
205
+ --fill
206
+ gh pr merge --squash --delete-branch --repo palmshed/homebrew-cursor || \
207
+ echo "merge failed (race or conflict), PR is open for manual merge"
178
208
 
179
209
  - name: Update package version
180
210
  run: |
@@ -194,6 +224,7 @@ jobs:
194
224
  token: ${{ steps.app-token.outputs.token }}
195
225
  base: main
196
226
  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
227
+ title: "chore: bump package version for ${{ github.ref_name }}"
228
+ body: "Bumps package.json version for ${{ github.ref_name }}."
229
+ add-paths: package.json
230
+ commit-message: "chore: bump package version to ${{ github.ref_name }}"
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.16",
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
+ b3b000bb7c246f2f7c2ef259a9953f7608d5df26f3cc50c475bbc756fb3c9dc4 release/cursor-macos/cursor-0.1.16.arm64_sequoia.bottle.tar.gz
2
+ baf6a6e79276f784ac738842ef4d4a7e2c92824b6c19daa4c0aa4d7ec13bba60 release/cursor-macos/cursor_v0.1.16_darwin_arm64.tar.gz
3
+ d4caf8a82698fec9486fd9ee6e279c3c102d0a910fc6029a4593aacc496affaa release/cursor-linux/cursor_v0.1.16_linux_amd64.tar.gz
4
+ 5ec19d44d38ba5db60c2612796c1ce0851a2c7e22f5f2b18417d25449d1e52cb 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