Files
studio/README.md
T

76 lines
1.9 KiB
Markdown

# tinqs-git
**Tinqs' self-hosted Git+LFS hosting for game studios** — a fork of [Gitea](https://github.com/go-gitea/gitea) v1.26.1.
`git.tinqs.com` · Go · SQLite · S3 LFS · OAuth2 SSO with `platform.tinqs.com`
---
## Quick start
```bash
# Prerequisites: Go 1.26.2+, Node.js 22+, pnpm
git clone https://git.arikigame.com/tinqs-ltd/tinqs-git.git
cd tinqs-git
git checkout tinqs/main
# Build
TAGS="bindata sqlite sqlite_unlock_notify" make build
# Run (creates gitea.db automatically)
./tinqs-git web --port 4141
# Open http://localhost:4141
```
## Dev
```bash
make watch-backend # Go hot reload
make watch-frontend # Vite HMR
make watch # both
```
## Test
```bash
make test # everything
make test-backend # Go unit tests
make test-sqlite # SQLite integration tests
make lint # all linters
```
## Build tags
| Tag | Purpose |
|-----|---------|
| `bindata` | Embed frontend assets into binary |
| `sqlite` | Compile SQLite via CGo (required) |
| `sqlite_unlock_notify` | SQLite perf optimization |
## Repo structure
```
tinqs-git/
├── main.go ← entry point
├── Makefile ← build system
├── cmd/ ← CLI (web, migrate, admin, cert)
├── routers/ ← HTTP routes
├── modules/ ← business logic (auth, lfs, git, setting)
├── models/ ← DB models (NEVER modify)
├── services/ ← service layer
├── templates/ ← Go HTML templates
├── web_src/ ← frontend source (TS, Less, Vue)
├── public/ ← static assets
├── .gitea/workflows/ ← CI (Gitea Actions)
└── .cursor/ ← agent infrastructure
```
## Branches
- `main` — tracks upstream releases (quarterly rebase)
- `tinqs/main` — our fork with Tinqs customizations
## License
MIT — same as upstream Gitea.