# 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).