1
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Fossilrepo
2
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
**Self-hosted Fossil forge with a modern web interface.**
4
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!

6
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
7
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Fossilrepo wraps [Fossil SCM](https://fossil-scm.org) with a Django + HTMX management layer, replacing Fossil's built-in web UI with a GitHub/GitLab-caliber experience while preserving everything that makes Fossil unique: single-file repos, built-in wiki, tickets, forum, and technotes.
8
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
9
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
**Live instance:** [fossilrepo.io](https://fossilrepo.io) | **Docs:** [fossilrepo.dev](https://fossilrepo.dev) | **Powered by [BoilerWorks](https://boilerworks.ai)**
10
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
11
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Why Fossilrepo?
12
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
13
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Fossil is the most underrated version control system. Every repository is a single SQLite file containing your code, wiki, tickets, forum, and technotes. No external services, no complex setup. But its web UI hasn't changed since 1998.
14
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
15
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Fossilrepo fixes that. You get:
16
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
17
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- A modern dark/light UI built with Django, HTMX, Alpine.js, and Tailwind CSS
18
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- GitHub-style code browser with line numbers, blame, history, and syntax highlighting
19
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Timeline with DAG graph showing fork/merge connectors and color-coded branches
20
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Full ticket CRUD with filters, comments, and CSV export
21
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Wiki with Markdown + Fossil markup + Pikchr diagram rendering
22
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Forum with threaded discussions
23
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Releases with file attachments and markdown changelogs
24
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Git mirror sync to GitHub/GitLab via OAuth
25
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Clone/push/pull over HTTP and SSH through Django's auth layer
26
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Webhook dispatch with HMAC signing and delivery logs
27
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Omnibus Docker image with Fossil compiled from source
28
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
29
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
All while Fossil remains the source of truth. Fossilrepo reads `.fossil` files directly via SQLite for speed, and uses the `fossil` CLI for writes to preserve artifact integrity.
30
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
31
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Stack
32
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
33
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Layer | Technology |
34
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|-------|-----------|
35
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Backend | Django 5 (Python 3.12+) |
36
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Frontend | HTMX 2.0 + Alpine.js 3 + Tailwind CSS (CDN) |
37
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Database | PostgreSQL 16 (app data) + SQLite (Fossil repos) |
38
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Cache/Broker | Redis 7 |
39
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Jobs | Celery + Redis |
40
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Auth | Session-based (httpOnly cookies) |
41
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| SCM | Fossil 2.24 (compiled from source in Docker) |
42
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Linter | Ruff |
43
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
44
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Quick Start
45
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
46
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
47
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
git clone https://github.com/ConflictHQ/fossilrepo.git
48
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
cd fossilrepo
49
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
docker compose up -d --build
50
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
51
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Run migrations and seed sample data
52
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
docker compose exec backend python manage.py migrate
53
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
docker compose exec backend python manage.py seed
54
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
55
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Open the app
56
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
open http://localhost:8000
57
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
58
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
59
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
**Default users:** `admin` / `admin` (superuser) and `viewer` / `viewer` (read-only).
60
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
61
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Features
62
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
63
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Code Browser
64
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Directory navigation with breadcrumbs
65
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Syntax-highlighted source view with line numbers and permalinks
66
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Blame with age-based coloring (newest = brand red, oldest = gray)
67
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- File history, raw download, rendered preview for Markdown/HTML
68
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
69
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Timeline
70
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- DAG graph with fork/merge connectors, color-coded branches
71
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Merge commit diamonds, leaf indicators
72
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Keyboard navigation (j/k/Enter), HTMX infinite scroll
73
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- RSS feed
74
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
75
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Diffs
76
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Unified and side-by-side view (toggle with localStorage preference)
77
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Syntax highlighting via highlight.js
78
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Line-level permalinks
79
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Compare any two checkins
80
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
81
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Tickets
82
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Filter by status, type, priority, severity
83
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Full CRUD: create, edit, close/reopen, comment
84
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- CSV export
85
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Pagination with configurable page size
86
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
87
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Wiki
88
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Markdown + Fossil wiki markup + raw HTML
89
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Pikchr diagram rendering
90
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Right-sidebar table of contents
91
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Create and edit pages
92
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
93
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Forum
94
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Threaded discussions (Fossil-native + Django-backed posts)
95
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Create threads, post replies
96
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Markdown body with preview
97
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
98
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Releases
99
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Versioned releases with tag names and markdown changelogs
100
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- File attachments with download counts
101
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Draft and prerelease support
102
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
103
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Sync
104
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Pull from upstream Fossil remotes
105
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Git mirror to GitHub/GitLab (OAuth or SSH key auth)
106
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Clone/push/pull over HTTP via `fossil http` CGI proxy
107
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- SSH push via restricted sshd (port 2222)
108
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Configurable sync modes: on-change, scheduled, both
109
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
110
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Webhooks
111
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Outbound webhooks on checkin, ticket, wiki, and release events
112
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- HMAC-SHA256 signed payloads
113
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Exponential backoff retry (3 attempts)
114
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Delivery log with response status and timing
115
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
116
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Organization
117
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Single-org model with teams and members
118
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- User CRUD: create, edit, deactivate, change password
119
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Team management with member assignment
120
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Project-level team roles: read, write, admin
121
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Project visibility: public, internal, private
122
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
123
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Infrastructure
124
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Omnibus Docker image (Fossil compiled from source)
125
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Caddy for SSL termination and subdomain routing
126
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Litestream for continuous SQLite-to-S3 replication
127
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Celery Beat for scheduled metadata sync and upstream checks
128
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Encrypted credential storage (Fernet/AES-128-CBC at rest)
129
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
130
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Architecture
131
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
132
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
133
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Browser
134
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|
135
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
v
136
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Django 5 + HTMX + Alpine.js + Tailwind CSS
137
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|
138
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|-- FossilReader (direct SQLite reads from .fossil files)
139
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|-- FossilCLI (subprocess wrapper for write operations)
140
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|-- fossil http (CGI proxy for clone/push/pull)
141
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|
142
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|-- PostgreSQL 16 (orgs, users, teams, projects, settings)
143
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|-- Redis 7 (Celery broker, cache)
144
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|-- Celery (background sync, webhooks, notifications)
145
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|
146
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
v
147
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
.fossil files (SQLite — code + wiki + tickets + forum + technotes)
148
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|
149
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
v
150
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Litestream --> S3 (continuous backup)
151
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
152
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
153
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
No separate frontend service. Django serves everything: templates, static files, and HTMX partials.
154
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
155
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Configuration
156
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
157
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
All runtime settings are configurable via Django admin (Constance):
158
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
159
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Setting | Default | Description |
160
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---------|---------|-------------|
161
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `SITE_NAME` | Fossilrepo | Display name |
162
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `FOSSIL_DATA_DIR` | /data/repos | Where .fossil files live |
163
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `FOSSIL_BINARY_PATH` | fossil | Path to the fossil binary |
164
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `FOSSIL_STORE_IN_DB` | false | Store .fossil snapshots via Django file storage |
165
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `FOSSIL_S3_TRACKING` | false | Track S3/Litestream replication |
166
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `GIT_SYNC_MODE` | disabled | Default sync mode for new mirrors |
167
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `GIT_SYNC_SCHEDULE` | */15 * * * * | Default cron for scheduled sync |
168
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
169
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
See [`.env.example`](.env.example) for all environment variables and [`.env.production.example`](.env.production.example) for production configuration.
170
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
171
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Development
172
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
173
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
174
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Local development (without Docker)
175
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
uv sync --all-extras
176
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
DJANGO_DEBUG=true POSTGRES_HOST=localhost uv run python manage.py runserver
177
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
178
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Run tests
179
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
DJANGO_DEBUG=true uv run pytest
180
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
181
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Lint
182
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ruff check . && ruff format --check .
183
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
184
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
185
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
See [`CONTRIBUTING.md`](CONTRIBUTING.md) for the full development guide and [`bootstrap.md`](bootstrap.md) for codebase conventions.
186
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
187
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## License
188
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
189
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
MIT License. See [LICENSE](LICENSE) for details.
190
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
191
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
192
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
193
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Built by [CONFLICT](https://weareconflict.com). Fossilrepo is open source under the MIT license.
194
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!