Tech Stack
Understanding the technology behind Shiro's performance and capabilities.
Why GoLang?
Go's compiled nature enables Shiro to process complex DAG workflows in under 100ms.
Blazing Fast
Compiled binary executes workflows in milliseconds. Zero interpreter overhead, no JVM, no startup delay.
Single Binary
Compile to a static binary with zero dependencies. Drop it anywhere — CI runner, container, or bare metal.
Built-in Concurrency
Goroutines and channels enable efficient parallel DAG execution without complex threading primitives.
Cross-Platform
One codebase compiles for Linux, macOS, Windows — AMD64 and ARM64. No environment-specific builds.
Module System Architecture
Four module types give you zero-dependency built-ins and unlimited extensibility.
Built-in Modules
Core functionality compiled into the binary: print, slack.notify, git.diff, ai.generate — always available.
Subprocess Modules
External programs communicating via JSON over stdin/stdout. Binary mode or go-run mode.
HTTP Modules
RESTful API endpoints with load balancing, health checks, and circuit breakers.
GitHub Integration
Auto-discover and install modules from GitHub repositories tagged shiro-automation-module.
AI Provider Support
First-class support for multiple AI providers — local or cloud.
Ollama
Run Llama, Mistral, and more on your own hardware. Full privacy, zero cloud dependency.
OpenAI
Production-grade AI with enterprise reliability. GPT-4 and latest OpenAI models supported.
Gemini
Google's Gemini models via Google AI Studio or Vertex AI integration.
Custom Endpoint
Any OpenAI-compatible API: vLLM, LM Studio, custom deployments — same config syntax.
{env.API_KEY} syntax — API keys never hardcoded in workflow files.CI Platform Integration
Runs inside your existing runners — no new infrastructure required.
GitLab CI
Native artifact state storage, human-in-loop approvals via manual jobs, and pipeline resumption.
GitHub Actions
Full integration for PR reviews, push notifications, and workflow automation.
Jenkins
Compatible as a build step or shell command in any Jenkinsfile pipeline.
Kubernetes Jobs
Run as K8s Jobs for cloud-native CI/CD with container isolation and horizontal scalability.
State Storage Backends
Pluggable state backends — from CI-native artifacts to in-memory ephemeral storage.
GitLab Artifacts
Automatically uploads workflow state to GitLab CI artifacts. Downloaded between stages — no external infra.
Filesystem
Stores state in the local filesystem. Simple and reliable for local development and testing.
Memory
In-memory storage for ephemeral workflows. Maximum speed, zero persistence.