BucketStack Developer Portal

Integration guidelines, IPC command interfaces, and architecture specs for builders and AI agents.

Quickstart & Local Setup

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

Rust Backend IPC Command Reference

Frontend and automated workflows interact with the Rust backend through Tauri's typed IPC invoke bridge:

S3 Bucket & Connection Handlers

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' });

Object Operations & Streaming

// 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'
});

Agent & Automation Resources

For LLM and AI agent integrations, reference our standardized endpoint files: