Anvil/README.md

96 lines
2.1 KiB
Markdown
Raw Normal View History

<!--
SPDX-FileCopyrightText: 2023 Pere Lev
SPDX-License-Identifier: AGPL-3.0-or-later
-->
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
2023-05-03 16:48:40 +02:00
convenient outreach, but anyone can host on their server)
3. Hosted app served by federated forge servers as their default UI, supporting
both multi-page mode with pre-rendered pages and regular single-page mode
2023-05-03 16:37:18 +02:00
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).