Files
ForgeBucket/README.md
T
2026-05-06 20:57:42 +00:00

101 lines
3.0 KiB
Markdown

# ForgeBucket 🛡️🪣
**Sovereign Federation meets Enterprise Design.**
ForgeBucket is a production-ready, federated git collaboration platform. It combines the high-performance, lightweight Go engine of **Forgejo** with the sophisticated, high-density UI/UX of **Bitbucket**, optimized for a "Responsive-First, Access Anywhere" experience.
---
## 🚀 The Vision
ForgeBucket aims to provide developers with a world-class code review and project management experience without sacrificing data sovereignty. It bridges the gap between community-driven open-source software and enterprise-grade usability.
- **Engine:** Built on the Forgejo/Gitea ecosystem.
- **Interface:** Powered by Atlassian Design System (ADS) principles.
- **Connectivity:** Full ActivityPub (ForgeFed) integration for a decentralized git world.
---
## 🛠️ Tech Stack
### Backend & Core
- **Language:** Go (Golang) 1.21+
- **Database:** PostgreSQL with XORM
- **Git Engine:** Native System Git Binary execution
- **CI/CD:** Forgejo Actions (gRPC protocol)
### Frontend & UX
- **Framework:** React 18+ (Embedded in Go binary)
- **Styling:** Tailwind CSS + Atlassian Design Tokens
- **Components:** Custom implementation of Atlaskit primitives
- **Real-time:** WebSockets for live logs and notifications
---
## ✨ Key Features
- **Responsive Navigation:** A triple-state sidebar (Expanded, Collapsed, Mobile Bottom-Bar) that adheres to an 8px grid system.
- **Advanced Diff Viewer:** Side-by-side and unified views with "Bottom Sheet" comment overlays for mobile code reviews.
- **Federated Pull Requests:** Interaction across different ForgeBucket/Forgejo instances via ActivityPub.
- **AGit "Quick Edit":** Web-based file editing with automatic `refs/for/` branch creation for instant PRs.
- **Skeleton Loading:** Optimized "Perceived Performance" using pulsate loading states for metadata.
---
## 🔒 Security & Compliance
- **OWASP Top 10 Compliance:** Strict protection against XSS, CSRF, and SQLi.
- **Command Sanitization:** Hardened wrapper for all Git binary executions.
- **Identity:** OIDC and OAuth2 support with Row-Level Security (RLS) mentalities.
- **Auditability:** Full logging of all administrative and git-over-HTTP actions.
---
## 🏁 Getting Started
### Prerequisites
- Go 1.21 or higher
- Node.js 18+ (for frontend development)
- PostgreSQL 14+
- System Git 2.20+
### Installation
1. **Clone the repository:**
```bash
git clone [https://github.com/your-repo/forgebucket.git](https://github.com/your-repo/forgebucket.git)
cd forgebucket
```
2. **Setup Frontend:**
```Bash
cd frontend
npm install
npm run build
```
3. **Build the Binary:**
```Bash
cd ..
go build -o forgebucket main.go
```
4. **Run:**
```Bash
./forgebucket web
```
## 🤝 Contributing
We follow the "Responsive-First" contribution model. Please ensure all UI changes are tested on both Desktop (1440px) and Mobile (375px) breakpoints.
## 📄 License
This project is licensed under the MIT License - see the LICENSE file for details. Portions of the code are derived from Forgejo (GPLv3).