.
D 2026-10-13T01:50:24.841
L new-repo
N text/x-markdown
P 31c1df08167b481f354ef427d89c8edc773c163fe15c2d3aa808447e69896dc3
U dmestas
W 2519
# Creating a New Repository
Everything needed to add a repo to fossil.craftdesign.group.
## 1. Initialize the repo
```bash
fossil init /var/fossil/repos/<name>.fossil
```
## 2. Set the admin password
```bash
fossil user password dmestas <password> -R /var/fossil/repos/<name>.fossil
```
## 3. Create the meta sidecar
Controls the icon and description shown on the landing page. Two lines — emoji icon, then description:
```bash
printf '🚀\nShort description of the project' > /var/fossil/repos/<name>.meta
```
If no `.meta` file exists, the repo will appear with a `📦` icon and no description.
Optional lines 3 and 4 set the public access policy: line 3 is the Fossil capability string for `nobody` (not logged in), line 4 for `anonymous` (defaults to line 3). The default is `jh` (wiki read only). Example for a repo with a public, moderated forum:
```
🪨
Fossil's formats and sync protocol, reimplemented in Zig
ghoj2
ghoj23
```
`2` lets visitors read the forum, `3` lets anonymous users post with their posts held for moderation. The `.meta` files are versioned in the fossil-skin repo under `repos/`; edit them there and deploy, rather than only on the server.
## 4. Run apply.py
Skins the repo, sets public access policy (wiki-only), and regenerates the landing page:
```bash
python3 /var/fossil/skin/apply.py
```
## 5. Add to the login group
Allows single sign-on across all repos — log in once, authenticated everywhere:
```bash
fossil login-group join /var/fossil/repos/edgesync.fossil \
-R /var/fossil/repos/<name>.fossil
```
Verify it joined:
```bash
fossil login-group -R /var/fossil/repos/<name>.fossil
```
## 6. Create the wiki home page
Sets what visitors see when they land on the repo:
```bash
fossil wiki create index -mimetype text/x-markdown \
-R /var/fossil/repos/<name>.fossil << 'WIKI'
# <name>
Description of the project.
## Clone
```
fossil clone https://[email protected]/<name>/ <name>.fossil
```
WIKI
```
## 7. Done
The repo is live at `https://fossil.craftdesign.group/<name>/` and appears on the landing page automatically.
---
## Full one-liner checklist
```bash
NAME=myrepo
PASS=changeme
DESC="What this repo does"
ICON="📦"
fossil init /var/fossil/repos/$NAME.fossil
fossil user password dmestas $PASS -R /var/fossil/repos/$NAME.fossil
printf "$ICON\n$DESC" > /var/fossil/repos/$NAME.meta
python3 /var/fossil/skin/apply.py
fossil login-group join /var/fossil/repos/edgesync.fossil \
-R /var/fossil/repos/$NAME.fossil
```
Z 50c06f0311213309e0d79945407492db