Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
340 commits
Select commit Hold shift + click to select a range
2a1143c
Read prebuilt templates from code directly
akhisud3195 Sep 16, 2025
91501d7
Remove test from prebuilt index
akhisud3195 Sep 16, 2025
adb2f30
-fixed index.ts issue
tusharmagar Sep 16, 2025
596050e
Merge pull request #265 from rowboatlabs/dev
arkml Sep 16, 2025
54b39ed
Revert auth related changes to start.sh
akhisud3195 Sep 16, 2025
c2f3d87
removed generate image tool from customer support prebuilt template
tusharmagar Sep 16, 2025
7c261c6
make copilot aware of the internal image generation tool (#266)
arkml Sep 16, 2025
64a2675
Merge pull request #267 from rowboatlabs/dev
arkml Sep 16, 2025
6935196
Fix copy URL bug
akhisud3195 Sep 16, 2025
b2c809b
Merge pull request #268 from rowboatlabs/dev
arkml Sep 16, 2025
496dd03
Hide community cards behind feature flag
akhisud3195 Sep 17, 2025
109997c
Merge pull request #269 from rowboatlabs/dev
arkml Sep 17, 2025
8b38660
Image upload (#270)
arkml Sep 19, 2025
7f7dfc9
Revert "Image upload (#270)"
arkml Sep 19, 2025
b549099
fix composio zod error
arkml Sep 20, 2025
e988dfa
Merge pull request #272 from rowboatlabs/dev
arkml Sep 20, 2025
cb625a3
Update README.md
arkml Sep 26, 2025
b9e6b14
Merge pull request #275 from rowboatlabs/arkml-patch-1
arkml Sep 26, 2025
910ece1
fix: handle Composio API breaking change from results to main_tools
tusharmagar Sep 30, 2025
b16653d
Merge pull request #276 from rowboatlabs/fix/composio-tool-search-api…
ramnique Oct 1, 2025
96fd8b1
Merge pull request #277 from rowboatlabs/dev
ramnique Oct 1, 2025
b36c339
Update README.md
arkml Oct 1, 2025
5810bcb
Merge pull request #278 from rowboatlabs/arkml-patch-1
arkml Oct 1, 2025
576ec1e
Update README.md
arkml Oct 1, 2025
103a404
Merge pull request #279 from rowboatlabs/arkml-patch-1
arkml Oct 1, 2025
476654a
Feature/copilot trigger creation (#274)
ramnique Oct 16, 2025
6014437
first commit
ramnique Oct 28, 2025
055dda3
arjun: command executor function
Nov 3, 2025
4310b1d
First version copilot:
tusharmagar Oct 30, 2025
0eda81b
Enhance Rowboat Copilot functionality:
tusharmagar Nov 4, 2025
3645f92
Merge pull request #282 from rowboatlabs/cli-copilot
ramnique Nov 5, 2025
776be21
set up npx app
ramnique Nov 5, 2025
7758139
upgrade to 0.3.0
ramnique Nov 5, 2025
c004bc5
set up basic workflow execution
ramnique Nov 7, 2025
38a8700
disable ask human tool
ramnique Nov 8, 2025
9e89a81
support ask-human in sync mode
ramnique Nov 10, 2025
54bdbe7
complete ask-human implementation
ramnique Nov 11, 2025
88fc585
skip ask-human when running workflow as tool
ramnique Nov 11, 2025
80ceba4
fix run-id-gen
ramnique Nov 11, 2025
e914aa2
copilot update:
tusharmagar Nov 13, 2025
432ec0e
fix: base dir in copilot
tusharmagar Nov 13, 2025
62caa0c
feature: added ability to search for MCP tools and prompt to add it t…
tusharmagar Nov 13, 2025
6251c8f
allow provider / model config
ramnique Nov 14, 2025
61924d0
remove test.ts
ramnique Nov 14, 2025
fb355ec
refactor model / provider code
ramnique Nov 14, 2025
d30d551
feat: enhance streaming response handling with new renderer. Process …
tusharmagar Nov 14, 2025
571c69a
Merge branch 'cli' of github.com:rowboatlabs/rowboat into cli
tusharmagar Nov 14, 2025
bfd8b0d
added podcast example
Nov 14, 2025
164eefb
feat: add shell command execution capability to assistant chat. Users…
tusharmagar Nov 14, 2025
2d6a647
Merge branch 'cli' of github.com:rowboatlabs/rowboat into cli
tusharmagar Nov 14, 2025
80dae17
everything is an agent
ramnique Nov 14, 2025
144bbe5
moved assistant to use skills; added agent monitoring
Nov 16, 2025
92b702d
log start event w/ agent data
ramnique Nov 16, 2025
a76cb60
refactor agent execution
ramnique Nov 16, 2025
391a0c9
Revise README to reflect new features and branding
arkml Nov 17, 2025
8490fa2
Update README.md
arkml Nov 17, 2025
83fc9e3
Better Updated Promting
tusharmagar Nov 17, 2025
0258f82
Merge branch 'cli' of github.com:rowboatlabs/rowboat into cli
tusharmagar Nov 17, 2025
39f0f5a
Update README.md
arkml Nov 17, 2025
36530c2
add back ask-human support
ramnique Nov 17, 2025
fb542af
Refactor StreamRenderer for improved output formatting and clarity. E…
tusharmagar Nov 18, 2025
cfaf160
Merge branch 'cli' of github.com:rowboatlabs/rowboat into cli
tusharmagar Nov 18, 2025
570543e
Enhance assistant instructions for clarity and conciseness. Update mo…
tusharmagar Nov 18, 2025
28488d5
Add security allowlist for command execution and update copilot instr…
tusharmagar Nov 18, 2025
7d4484e
structured ask human and permissions refactor
ramnique Nov 18, 2025
f6019a4
add update-state cmd
ramnique Nov 18, 2025
150f23a
wire up bash allowlist
ramnique Nov 18, 2025
d4717c9
update allowed cmds
ramnique Nov 18, 2025
da5f64e
bump version
ramnique Nov 18, 2025
51c7dc3
Merge pull request #286 from rowboatlabs/cli
ramnique Nov 18, 2025
48c57e1
Merge branch 'main' into dev
ramnique Nov 18, 2025
c5bf273
Merge pull request #287 from rowboatlabs/dev
ramnique Nov 18, 2025
01a67e9
Update README.md
ramnique Nov 18, 2025
56a4d0a
add greeting
ramnique Nov 18, 2025
238cdc8
bump v
ramnique Nov 18, 2025
e8382d8
Merge pull request #288 from rowboatlabs/ramnique-patch-1
ramnique Nov 18, 2025
53b82a2
Update README.md
ramnique Nov 18, 2025
468f0dd
Merge pull request #289 from rowboatlabs/ramnique-patch-2
ramnique Nov 18, 2025
d6fd472
Merge pull request #290 from rowboatlabs/dev
ramnique Nov 18, 2025
b09b4b1
fix copilot model
ramnique Nov 18, 2025
58756d1
bump v
ramnique Nov 18, 2025
108fbb2
Merge pull request #291 from rowboatlabs/dev
ramnique Nov 18, 2025
5bf7cd8
Update website link in README.md
arkml Nov 18, 2025
9997b3a
add more providers to config
ramnique Nov 18, 2025
94fa22d
bump v
ramnique Nov 18, 2025
068067f
Update README.md
ramnique Nov 18, 2025
2e0857c
Merge pull request #294 from rowboatlabs/ramnique-patch-3
ramnique Nov 18, 2025
d47b457
Merge pull request #295 from rowboatlabs/dev
ramnique Nov 18, 2025
51e29af
Merge pull request #296 from rowboatlabs/dev
ramnique Nov 18, 2025
13955b6
add ollama support
ramnique Nov 18, 2025
305c90e
bump v
ramnique Nov 18, 2025
06c8e7b
Document model support and configuration in README
arkml Nov 18, 2025
8b1c43f
add a custom openai provider example
ramnique Nov 18, 2025
c23f491
Merge pull request #297 from rowboatlabs/dev
ramnique Nov 18, 2025
94798d4
Merge pull request #292 from rowboatlabs/arkml-patch-1
arkml Nov 18, 2025
add897e
Merge pull request #298 from rowboatlabs/arkml-patch-2
ramnique Nov 18, 2025
690961e
Update README.md
arkml Nov 19, 2025
019ae34
Merge pull request #300 from rowboatlabs/arkml-patch-3
arkml Nov 19, 2025
0d4c5e2
Clarify LLM configuration instructions in README
arkml Nov 19, 2025
18e86ac
Merge pull request #301 from rowboatlabs/arkml-patch-4
arkml Nov 19, 2025
caf3210
add workspace access guidelines to instructions
tusharmagar Nov 19, 2025
ee03c86
updated example
tusharmagar Nov 19, 2025
da9477b
removed incorrect example
tusharmagar Nov 19, 2025
68539a5
Update README.md
arkml Nov 19, 2025
a0c5bc2
Merge pull request #304 from rowboatlabs/arkml-patch-5
arkml Nov 19, 2025
9200403
build model selection
ramnique Nov 20, 2025
ba90cc2
bump v
ramnique Nov 20, 2025
a796a44
fix google base url
ramnique Nov 20, 2025
e15faf6
Merge pull request #306 from rowboatlabs/dev
ramnique Nov 20, 2025
b23ea56
Update README.md
ramnique Nov 20, 2025
e5cadde
Merge pull request #307 from rowboatlabs/ramnique-patch-5
ramnique Nov 20, 2025
f0c3e7c
update model-config flow
ramnique Nov 20, 2025
38efeb2
bump v
ramnique Nov 20, 2025
cd8fd4f
add --example to add the examples from rowboat
tusharmagar Nov 20, 2025
4f2eb79
update readme
ramnique Nov 20, 2025
f2255d2
changed --example to --sync-example
tusharmagar Nov 20, 2025
5885773
Merge cli branch into cli-to-dev for PR to dev
tusharmagar Nov 20, 2025
55d9f80
rename sync-examples option to sync-example in CLI
tusharmagar Nov 20, 2025
4bba560
refactor model config flow
ramnique Nov 20, 2025
51e8666
bump v
ramnique Nov 20, 2025
428faea
Merge pull request #308 from rowboatlabs/dev
ramnique Nov 20, 2025
532065d
fix: sync-example implementation
tusharmagar Nov 21, 2025
ea4159a
Merge main into cli-to-dev
tusharmagar Nov 21, 2025
97e47fa
refactor example import
ramnique Nov 21, 2025
014c8a5
fix yargs
ramnique Nov 21, 2025
5509781
fix: - remove changes to package-lock
tusharmagar Nov 21, 2025
7425e07
fix: restore package-lock.json to match main (remove diff)
tusharmagar Nov 21, 2025
64a284c
fix: naming of the commands
tusharmagar Nov 21, 2025
58fa1b9
update: made import-example into import and it can import example wor…
tusharmagar Nov 21, 2025
c562248
update: added export capability
tusharmagar Nov 21, 2025
61c2f8a
delete: remove misplaced podcast.json file
tusharmagar Nov 21, 2025
5a8bc0b
removed incomplete gemini3-test example json
tusharmagar Nov 21, 2025
e3bc26d
remove: eliminate gemini3-test example from exports
tusharmagar Nov 21, 2025
83c54c1
Fix: better prompting around MCP config
tusharmagar Nov 24, 2025
d0eb8d6
clean up prompt
tusharmagar Nov 25, 2025
5be3b5c
add rowboatx npm publish flow
ramnique Nov 25, 2025
4e98934
Merge pull request #316 from rowboatlabs/action
ramnique Nov 25, 2025
ce8dfc7
add rowboat gateway
ramnique Nov 21, 2025
255bc9c
bump v
ramnique Nov 21, 2025
e47518b
Cli to dev (#309)
tusharmagar Nov 25, 2025
fafcdd1
bump v
ramnique Nov 25, 2025
5c4ec8e
fix build name
ramnique Nov 25, 2025
720deca
fix rowboatx publish action
ramnique Nov 25, 2025
0c29d63
Merge pull request #313 from rowboatlabs/dev
ramnique Nov 25, 2025
11939a3
remove ci action
ramnique Nov 25, 2025
8feb4f1
use latest npm in rowboatx publish action
ramnique Nov 25, 2025
5ac673d
Merge pull request #317 from rowboatlabs/dev
ramnique Nov 25, 2025
6de61b0
Readme update
arkml Nov 26, 2025
ba88acf
Merge pull request #318 from rowboatlabs/arkml-patch-6
arkml Nov 26, 2025
5b529f5
Update README.md
arkml Nov 26, 2025
3c3cba0
Merge pull request #319 from rowboatlabs/arkml-patch-7
arkml Nov 26, 2025
0b63c1d
Change banner image
arkml Nov 27, 2025
d4db64f
Merge pull request #320 from rowboatlabs/arkml-patch-8
arkml Nov 27, 2025
ab617e6
fix rb ai gateway integration
ramnique Dec 1, 2025
aa36f99
bump v
ramnique Dec 1, 2025
829b831
Merge dev into cli-to-dev
tusharmagar Dec 2, 2025
294f166
Feat: add MCP execute tool to copilot and prompting around using it
tusharmagar Dec 2, 2025
6d21d79
Enhance CopilotInstructions to include general capabilities for user …
tusharmagar Dec 2, 2025
e2832ed
Update README
arkml Dec 2, 2025
dba1efb
Merge pull request #324 from rowboatlabs/arkml-patch-10
arkml Dec 2, 2025
3185772
Merge pull request #322 from rowboatlabs/feature/copilot-mcp-tool-exe…
ramnique Dec 4, 2025
d56df55
Fix/composio saml auth scheme (#325)
tusharmagar Dec 15, 2025
77c9e89
fix react2shell
ramnique Dec 16, 2025
ae877e7
Merge pull request #321 from rowboatlabs/dev
tusharmagar Dec 16, 2025
9ad6331
server for rowboatx
ramnique Dec 2, 2025
1822dea
add describe for /stream
ramnique Dec 8, 2025
338cc3d
add list runs endpoint
ramnique Dec 9, 2025
f21558e
first init of next.js proj
tusharmagar Dec 10, 2025
5e31c63
UI setup
tusharmagar Dec 11, 2025
b1f6e64
connecting the copilot to the UI
tusharmagar Dec 11, 2025
023a65d
Add agent selection and artifact management to RowboatX UI
tusharmagar Dec 15, 2025
ebe3b49
Update .gitignore for RowboatX to streamline dependency management
tusharmagar Dec 15, 2025
62540c3
added scripts to sync gmail and calendar
arkml Dec 11, 2025
89a2fc5
added google meeting notes to calendar
arkml Dec 15, 2025
d0d0a36
initial version of tui
ramnique Dec 16, 2025
f1219db
fix sync script errs
ramnique Dec 17, 2025
2290689
add processing start / end events
ramnique Dec 17, 2025
8c68602
enable cors
ramnique Dec 17, 2025
e40c767
markdown agent files
ramnique Dec 18, 2025
da20e28
add migrate agents script
ramnique Dec 18, 2025
c637cb4
Refactor RowboatX configuration and enhance editor features
tusharmagar Dec 22, 2025
2491bac
wip-electron
ramnique Dec 23, 2025
505e3ea
bootstrap new electron app
ramnique Dec 29, 2025
47ab50b
UI improvements
tusharmagar Jan 5, 2026
dfe940d
add connected accounts (oauth) feature
ramnique Jan 6, 2026
41eef3c
integrate knowledge sync with oauth
ramnique Jan 6, 2026
ac82eed
ignore renderer eslint
ramnique Jan 6, 2026
01fd938
add test agent script
ramnique Jan 6, 2026
a58c3a9
fix id gen
ramnique Jan 6, 2026
c303096
added v1 of linked notes
arkml Jan 6, 2026
47ac822
better named entity recognition in notes
arkml Jan 6, 2026
642dd7a
refactor oauth for discovery and dcr
ramnique Jan 7, 2026
13f2b7c
use openid-client lib
ramnique Jan 7, 2026
c7a6b06
fix lint errs
ramnique Jan 7, 2026
e4685b4
add fireflies ai provider
ramnique Jan 7, 2026
361be9a
codestyle changes
ramnique Jan 7, 2026
6eb918f
add fireflies sync
ramnique Jan 7, 2026
85024dd
added batching and buildgraph for fireflies
arkml Jan 7, 2026
6a0e598
process only added / changed files when building graph
arkml Jan 7, 2026
949d36c
add granola sync
ramnique Jan 8, 2026
1ce2b32
add granola sync toggle
ramnique Jan 8, 2026
83f426b
refactor sidebar structure and components; replace AppSidebar with Si…
tusharmagar Jan 9, 2026
7ab811f
moved note_creation to a speacial agent added directory traversal for…
arkml Jan 8, 2026
8834238
added right click content menu to knowledge
tusharmagar Jan 9, 2026
23ae0d8
Tiptap integrated
tusharmagar Jan 11, 2026
31e6eed
TipTap improvements
tusharmagar Jan 12, 2026
df93066
graph is a separate service; fireflies rate limit handling; better no…
arkml Jan 10, 2026
6d70282
Made headers and toolbars sticky
tusharmagar Jan 12, 2026
8b02daa
fixed tool names for assistant
arkml Jan 12, 2026
d10a27c
fix assistant to use md for agents
arkml Jan 12, 2026
0c82064
added general assitant instructions to copilot
arkml Jan 12, 2026
174dcaf
adding backlinks
tusharmagar Jan 13, 2026
102a9e5
graph view
tusharmagar Jan 13, 2026
b293d83
untitled file naming
tusharmagar Jan 13, 2026
73ba7fe
adding sidebar
tusharmagar Jan 14, 2026
9c1ddf6
tiptap improvements + removing ask AI button
tusharmagar Jan 14, 2026
120fdc1
changed notes to add the folder prefix
arkml Jan 13, 2026
80c3bcd
moved notes/ to knowledge/
arkml Jan 13, 2026
1ae6511
added prebuilt agents
arkml Jan 13, 2026
b3b0793
moved graph view to curved arcs and new colors
arkml Jan 14, 2026
e51d0aa
added search box for nodes
arkml Jan 14, 2026
6dcd082
highlight the searchnode but show its connections too
arkml Jan 14, 2026
a74b07d
made the legends clickable in the graph view
arkml Jan 14, 2026
665fb67
prebuilt config is autocreated on load
arkml Jan 14, 2026
9fbb7d3
add connector view
tusharmagar Jan 15, 2026
74477c7
- remove trash
tusharmagar Jan 15, 2026
35c99cb
chat-sidebar resizing
tusharmagar Jan 15, 2026
c60d6d1
replace ChatButton with ChatInputBar
tusharmagar Jan 16, 2026
8c4bb7a
fixed Granola sync
arkml Jan 14, 2026
3257281
expose list and fetch runs ipc
ramnique Jan 16, 2026
da4acdf
Update message formatting to render markdown
tusharmagar Jan 16, 2026
2cf3f9c
Add auto-focus to input field when sidebar opens
tusharmagar Jan 16, 2026
8029877
Refactor chat submission to include files array and improve heading t…
tusharmagar Jan 16, 2026
de6e9d8
added edit tool make precise edits
arkml Jan 16, 2026
274a351
added glob tool
arkml Jan 16, 2026
6abb3af
added the grep tool
arkml Jan 16, 2026
f72dee7
integrate electron forge
ramnique Jan 17, 2026
0aa6f99
add electron gh actions workflow
ramnique Jan 17, 2026
0478207
fix gh action
ramnique Jan 17, 2026
09719d3
fix gh action
ramnique Jan 17, 2026
8840c81
fix electron forge build order
ramnique Jan 17, 2026
afa1a4a
debug forge build
ramnique Jan 17, 2026
00a3c21
fix forge build
ramnique Jan 17, 2026
16327a4
fix forge build
ramnique Jan 17, 2026
7387d3c
fix forge build
ramnique Jan 17, 2026
fe77a7a
add codesigning to gh action
ramnique Jan 19, 2026
2fdef8c
fix electron dev cmd
ramnique Jan 19, 2026
49e0a94
ensure runs dir exists
ramnique Jan 19, 2026
c21f976
fix default rowboat llm config
ramnique Jan 19, 2026
76e3a2d
make strictness of note creation inferred from the data
arkml Jan 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
33 changes: 0 additions & 33 deletions .github/workflows/ci.yml

This file was deleted.

153 changes: 153 additions & 0 deletions .github/workflows/electron-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
name: Build Electron App

on:
release:
types: [published]

permissions:
contents: write # Required to upload release assets

jobs:
build:
runs-on: macos-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 24
cache: 'pnpm'
cache-dependency-path: 'apps/x/pnpm-lock.yaml'

- name: Extract version from tag
id: version
run: |
VERSION="${GITHUB_REF#refs/tags/v}"
echo "version=${VERSION}" >> $GITHUB_OUTPUT
echo "Extracted version: ${VERSION}"

- name: Update package.json versions
run: |
node -e "
const fs = require('fs');
const version = '${{ steps.version.outputs.version }}';

// Update apps/x/package.json
const rootPackage = JSON.parse(fs.readFileSync('apps/x/package.json', 'utf8'));
rootPackage.version = version;
fs.writeFileSync('apps/x/package.json', JSON.stringify(rootPackage, null, 2) + '\n');

// Update apps/x/apps/main/package.json
const mainPackage = JSON.parse(fs.readFileSync('apps/x/apps/main/package.json', 'utf8'));
mainPackage.version = version;
fs.writeFileSync('apps/x/apps/main/package.json', JSON.stringify(mainPackage, null, 2) + '\n');

console.log('Updated version to:', version);
"

- name: Import Code Signing Certificate
env:
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
run: |
# Create a temporary keychain
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
KEYCHAIN_PASSWORD=$(openssl rand -base64 32)

# Create keychain
security create-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH"
security set-keychain-settings -lut 21600 "$KEYCHAIN_PATH"
security unlock-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH"

# Decode and import certificate
echo "$APPLE_CERTIFICATE" | base64 --decode > $RUNNER_TEMP/certificate.p12
security import $RUNNER_TEMP/certificate.p12 -P "$APPLE_CERTIFICATE_PASSWORD" -A -t cert -f pkcs12 -k "$KEYCHAIN_PATH"

# Allow codesign to access the keychain
security set-key-partition-list -S apple-tool:,apple: -s -k "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH"

# Add keychain to search list
security list-keychain -d user -s "$KEYCHAIN_PATH" login.keychain

# Verify certificate was imported
security find-identity -v "$KEYCHAIN_PATH"

# Clean up certificate file
rm -f $RUNNER_TEMP/certificate.p12

- name: Install dependencies
run: pnpm install --frozen-lockfile
working-directory: apps/x

- name: Build distributables
env:
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
run: npm run make
working-directory: apps/x/apps/main

- name: Diagnose built app
run: |
echo "=== Architecture Check ==="
APP_PATH=$(find apps/x/apps/main/out -name "Rowboat.app" -type d | head -1)
if [ -n "$APP_PATH" ]; then
EXECUTABLE="$APP_PATH/Contents/MacOS/rowboat"
if [ -f "$EXECUTABLE" ]; then
echo "App executable found at: $EXECUTABLE"
echo "Architecture:"
lipo -info "$EXECUTABLE" || file "$EXECUTABLE"
echo ""
echo "=== Code Signing Check ==="
codesign --verify --deep --strict --verbose=2 "$APP_PATH" || echo "App is not signed (this is OK if code signing secrets are not configured)"
echo ""
echo "=== _CodeSignature Check ==="
if [ -d "$APP_PATH/Contents/_CodeSignature" ]; then
echo "WARNING: _CodeSignature directory still exists!"
ls -la "$APP_PATH/Contents/_CodeSignature" || true
else
echo "✓ No _CodeSignature directory (expected for unsigned app)"
fi
echo ""
echo "=== Extended Attributes Check ==="
xattr -l "$APP_PATH" | head -5 || echo "No extended attributes (or not on macOS)"
echo ""
echo "=== Gatekeeper Check ==="
spctl --assess --type execute --verbose "$APP_PATH" || echo "Gatekeeper assessment failed (expected for unsigned apps)"
else
echo "Executable not found at: $EXECUTABLE"
fi
else
echo "App bundle not found"
fi
continue-on-error: true

- name: Upload workflow artifacts
uses: actions/upload-artifact@v4
with:
name: distributables
path: apps/x/apps/main/out/make/*
retention-days: 30

- name: Attach files to GitHub Release
uses: softprops/action-gh-release@v2
with:
files: apps/x/apps/main/out/make/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Cleanup keychain
if: always()
run: |
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
if [ -f "$KEYCHAIN_PATH" ]; then
security delete-keychain "$KEYCHAIN_PATH" || true
fi
25 changes: 23 additions & 2 deletions .github/workflows/rowboat-build.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Rowboat Next.js Build
name: Rowboat Build

on:
pull_request:
Expand All @@ -23,4 +23,25 @@ jobs:

- name: Build Rowboat
run: npm run build
working-directory: apps/rowboat
working-directory: apps/rowboat

build-rowboatx:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
cache-dependency-path: 'apps/rowboat/package-lock.json'
node-version: '24'
cache: 'npm'

- name: Install dependencies
run: npm ci
working-directory: apps/cli

- name: Build Rowboat
run: npm run build
working-directory: apps/cli
46 changes: 46 additions & 0 deletions .github/workflows/x-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Publish to npm

on:
push:
branches:
- main

permissions:
id-token: write # Required for OIDC
contents: read

jobs:
publish:
runs-on: ubuntu-latest

steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: 24
registry-url: https://registry.npmjs.org/

- name: Update npm
run: npm install -g npm@latest

- name: Install deps
run: npm ci
working-directory: apps/cli

# optional: run tests
# - run: npm test

- name: Build
run: npm run build
working-directory: apps/cli

- name: Pack
run: npm pack
working-directory: apps/cli

- name: Publish to npm
run: npm publish --access public
working-directory: apps/cli
Loading