Skip to content

Commit 874c60a

Browse files
rathbomaclaude
andcommitted
Add comprehensive Electron packaging documentation
Add detailed guide for bundling libssh with Electron applications: - Platform-specific instructions (Linux, macOS, Windows) - electron-builder configuration examples - Library path setup and runtime configuration - Post-build scripts for macOS library fixing - Complete testing procedures - Troubleshooting guide for common issues - CI/CD integration examples - Best practices and security considerations Also update README: - Add Documentation section with all guides - Link to Electron packaging guide in installation section - Clarify development vs distribution setup This ensures Beekeeper Studio and other Electron apps can properly bundle libssh for distribution without requiring end users to install it separately. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent 034374a commit 874c60a

File tree

2 files changed

+643
-2
lines changed

2 files changed

+643
-2
lines changed

README.md

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ npm install libssh-node
4343

4444
### For Electron
4545

46+
#### Development
47+
4648
Rebuild for your Electron version:
4749

4850
```bash
@@ -51,6 +53,14 @@ yarn rebuild --runtime=electron --target=31.0.0
5153
npm run rebuild -- --runtime=electron --target=31.0.0
5254
```
5355

56+
#### Distribution
57+
58+
When packaging your Electron app for distribution, you need to bundle libssh with your application. See the complete guide:
59+
60+
📦 **[Electron Packaging Guide](docs/electron-packaging.md)** - How to bundle libssh with your Electron app
61+
62+
This ensures end users don't need to install libssh separately.
63+
5464
## Quick Start
5565

5666
### Basic Connection with Password
@@ -203,9 +213,18 @@ console.log(config.hostname, config.port, config.user);
203213
- `parse(configPath?: string): SSHConfigHost[]` - Parse SSH config file
204214
- `findHostConfig(hostname: string, configPath?: string): SSHConfigHost | null` - Find host config
205215

206-
## Examples
216+
## Documentation
217+
218+
### Guides
219+
220+
- **[Tunneling Guide](docs/tunneling.md)** - Complete guide to SSH tunneling for database connections
221+
- **[SSH Agents Guide](docs/agents.md)** - Setting up 1Password, YubiKey, and system SSH agents
222+
- **[Building Guide](docs/building.md)** - Platform-specific build instructions
223+
- **[Electron Packaging Guide](docs/electron-packaging.md)** - Bundle libssh with your Electron app
224+
225+
### Examples
207226

208-
See the [examples/](examples/) directory for more examples:
227+
See the [examples/](examples/) directory for code examples:
209228

210229
- [basic-connection.ts](examples/basic-connection.ts) - Simple connection
211230
- [ssh-tunnel.ts](examples/ssh-tunnel.ts) - Database tunnel setup

0 commit comments

Comments
 (0)