Skip to content

starpak/spak

Repository files navigation

Spak

A secure, plugin-driven runtime framework — Go core orchestrates Python plugins via signed & encrypted .pak packages.

Go Python License Status

Quick Start · Plugin Development · Documentation · Changelog · Contributing


Spak does only two things: load plugins and orchestrate plugins.


Features

Feature Description
Pure Go Core Single binary, zero dependency, cross-compilation friendly
🐍 Python Plugins Write plugins in Python, no new language to learn
🔌 Auto Python Setup Automatically detects and installs Python on first run
📦 .pak Package Format Signed and encrypted plugin distribution
🌐 Plugin Registry Install plugins from remote repositories
🧩 Dependency Management Automatic dependency resolution and installation
🗑️ Auto Cleanup autoremove removes orphaned dependencies

Quick Start

Installation

# Download from GitHub Releases, or build from source:
git clone https://github.com/starpak/spak.git
cd spak
go build -o spak ./cmd/spak/

Start the Server

./spak serve

Python will be automatically installed on first run if not present.

Install Plugins

# From remote registry
spak pkg install http

# From local .pak file
spak pkg install -p plugin.pak

# Search available plugins
spak pkg search

Manage Plugins

# List installed plugins
spak plugin list

# Remove a plugin
spak pkg remove http

# Clean up orphaned dependencies
spak pkg autoremove

Plugin Development

Create a Plugin

spak pkg init my-plugin

This creates:

my-plugin/
  manifest.json   -- Plugin manifest
  main.py         -- Plugin entry point

Build & Install

spak pkg build my-plugin/
spak pkg install my-plugin.pak

See the Plugin Development Guide for detailed documentation.


Documentation

Full documentation is available in the docs directory:

Document Description
Architecture Overall architecture, module responsibilities, data flow
CLI Guide All CLI commands and usage
Plugin Guide .pak format, manifest, packaging and signing
API Docs HTTP REST API and WebSocket interface
Security Model Encryption, signing, audit logging
Configuration User config and version config
Release Process CI/CD, release management, tag-based releases
Internationalization Multi-language support
SDK Go SDK development guide

License

Spak Core — MIT License © 2026 Starpak Team

Spak Plugins — Default to MIT License unless a different license is declared in the plugin manifest.

See the LICENSE file for details.

About

Spak — A lightweight plugin runtime framework with Go core & Python plugins

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors