Anvil/README.md

90 lines
2 KiB
Markdown
Raw Normal View History

2023-05-03 16:37:18 +02:00
# Anvil
2023-05-03 16:37:18 +02:00
/!\ work in progress!
2023-05-03 16:37:18 +02:00
[Kanban](https://tree.taiga.io/project/perelev-anvil) |
[Chat](https://matrix.to/#/#general-forgefed:matrix.batsense.net)
2023-05-03 16:37:18 +02:00
Anvil is a web client app for interacting with federated forges. It's meant to
allow you to:
2023-05-03 16:37:18 +02:00
- Create an account of a federated forge
- Browse software projects
- Create and manage your software projects
- Create and manage teams and organizations
- Participate and interact with software projects: Repo, issues, PRs, CI, etc.
etc.
2023-05-03 16:37:18 +02:00
It's meant to be deployed in 3 ways:
1. [Tauri](https://tauri.app) app, packaged with Flatpak, that you can install
on your desktop
2. Independent fully-client-side hosted app you can access using a web browser
and connect to any forge (we will probably host one on Anvil's website for
convenient reachout, but anyone can host on their server)
3. Hosted app served by federated forge servers as their default UI, in
multi-page mode and pre-rendered pages
Status (May 2023): Implementation is in very early initial stages.
Tech stack:
- SvelteKit
- TypeScript
- Tailwind
- Skeleton.dev
Soon also:
- Tauri
- ActivityPub
- ForgeFed
## Developing
2023-05-03 16:37:18 +02:00
Install NodeJS. Recommended method: [FNM](https://github.com/Schniz/fnm).
Install dependencies:
```bash
npm install
```
Launch development server:
```bash
npm run dev
# or start the server and open the app in a new browser tab
npm run dev -- --open
```
2023-05-03 16:37:18 +02:00
Quick overview of the structure of the codebase:
This repo was started via `npm create skeleton-app@latest` with the "Welcome"
template.
More components can be added using
[`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte).
## Building
2023-05-03 16:37:18 +02:00
We haven't yet installed [adapters](https://kit.svelte.dev/docs/adapters) for
the target environments. Coming soon.
To create a production version of the app:
```bash
npm run build
```
2023-05-03 16:37:18 +02:00
To preview the production build:
```bash
npm run preview
```
## Software freedoms (a.k.a license)
2023-05-03 16:41:33 +02:00
GNU AGPL v3 or later. For the legal detail, see [`COPYING`](COPYING).