Developer Documentation
Welcome to the Guts developer documentation! This guide will help you integrate with and build on the Guts decentralized code collaboration platform.
Overview
Guts is a decentralized, censorship-resistant code collaboration platform that provides:
- Git Compatibility - Works with standard Git clients
- GitHub-Compatible API - Easy migration from GitHub
- Decentralized Storage - Content-addressed, replicated across nodes
- BFT Consensus - Simplex BFT for total ordering of state changes
- Real-time Updates - WebSocket subscriptions for live data
Quick Links
| Resource | Description |
|---|---|
| Quickstart | Get started in 5 minutes |
| API Reference | Complete REST API documentation |
| SDKs | Official client libraries |
| Guides | Step-by-step tutorials |
Getting Started
For Developers
- Create an Identity - Generate your Ed25519 keypair
- Get a Token - Create a personal access token
- Install an SDK - Choose TypeScript or Python
For Tool Authors
- API Overview - Understand the API structure
- Authentication - Implement auth flows
- Webhooks - Subscribe to events
SDKs
| Language | Package | Status |
|---|---|---|
| TypeScript | @guts/sdk | Stable |
| Python | guts-sdk | Stable |
| Rust | guts-client | Planned |
| Go | github.com/AbdelStark/guts/go | Planned |
API Endpoints
The Guts API is organized into these main areas:
- Repositories -
/api/repos/* - Issues -
/api/repos/{owner}/{repo}/issues/* - Pull Requests -
/api/repos/{owner}/{repo}/pulls/* - Releases -
/api/repos/{owner}/{repo}/releases/* - Organizations -
/api/orgs/* - Users -
/api/users/* - Consensus -
/api/consensus/*
Authentication
Guts supports multiple authentication methods:
bash
# Bearer token (recommended)
curl -H "Authorization: Bearer guts_xxx" https://api.guts.network/api/user
# Token header (GitHub-style)
curl -H "Authorization: token guts_xxx" https://api.guts.network/api/user
# Basic auth (username:token)
curl -u "alice:guts_xxx" https://api.guts.network/api/userRate Limiting
API responses include rate limit headers:
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4999
X-RateLimit-Reset: 1234567890- Authenticated requests: 5000/hour
- Unauthenticated requests: 60/hour
Getting Help
- GitHub Issues - Report bugs
- API Reference - Detailed API docs
- Operator Documentation - Deployment guides