Integration guidelines, IPC command interfaces, and architecture specs for builders and AI agents.
BucketStack is built with Tauri 2.0 (Rust) and React 19 (TypeScript + Vite). Clone and run locally:
# Clone the repository
git clone https://github.com/SaiAkashNeela/bucketstack.git
cd bucketstack
# Install dependencies with Bun or pnpm
bun install
# Start the full desktop app in development mode
bun run tauri:dev
# Or launch only the web frontend
bun run dev
Frontend and automated workflows interact with the Rust backend through Tauri's typed IPC invoke bridge:
import { invoke } from '@tauri-apps/api/core';
// Test S3 credentials connectivity
const testResult = await invoke('test_s3_connection', { account: s3Account });
// List all buckets available to the account
const buckets = await invoke('list_buckets', { account: s3Account });
// Create a new bucket in a specific region
await invoke('create_bucket', { account: s3Account, bucketName: 'my-new-bucket' });
// List objects with folder prefix support
const objects = await invoke('list_objects', {
account: s3Account,
bucketName: 'my-bucket',
prefix: 'photos/2026/',
delimiter: '/'
});
// Direct cloud-to-cloud stream transfer without local disk staging
await invoke('stream_transfer_object', {
srcAccount: awsAccount,
srcBucket: 'source-bucket',
srcKey: 'dataset.tar.gz',
dstAccount: r2Account,
dstBucket: 'destination-r2',
dstKey: 'dataset.tar.gz'
});
// Compress remote objects on the fly
await invoke('compress_objects', {
account: s3Account,
bucketName: 'my-bucket',
keys: ['logs/app1.log', 'logs/app2.log'],
archiveName: 'logs-archive.zip',
format: 'zip'
});
For LLM and AI agent integrations, reference our standardized endpoint files: