BorgFormat
Identifies and validates file formats.
Configuration
Copy .env.example
to .env
and make changes as required:
cp .env.example .env
$EDITOR .env
Run
Build or rebuild images as required and start backend and frontend services:
docker compose up --build
Embedding
Borg can be embedded in other Angular applications. See README.md.
Development
Start a Frontend Development Server
In the directory gui
run
pnpm install
pnpm start
Go Workspaces
We use Go workspaces so any tooling (e.g., IDE integration) knows about directories that contain Go modules.
To add a new directory, run for example
go work use ./tools/new-tool
Releasing a new version
- Choose a version tag based on semantic versioning. In most cases, this means incrementing the minor version when there are new features and otherwise, incrementing the patch version.
- Update
CHANGELOG.md
with the chosen version tag and any changes. - Update the
version
constant in server/cmd/server.go. - Push any changes to
main
. - Draft a new release on GitHub.
- Include the release's section of
CHANGELOG.md
as description.
Documentation
The documentation is generated with MkDocs. To change it, edit the markdown files under docs.
Build
To build and server the documentation use
mkdocs serve
Prerequisites (Arch Linux)
- mkdocs
- python-pymdown-extensions
- mkdocs-glightbox (AUR)
Deploy
To deploy the documentation to GitHub Pages use
mkdocs gh-deploy