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