Update README and add .node-version

This commit is contained in:
Pere Lev 2023-05-03 17:37:18 +03:00
parent e21c2309d6
commit 1d008c4ad0
No known key found for this signature in database
GPG key ID: 5252C5C863E5E57D
2 changed files with 66 additions and 14 deletions

1
.node-version Normal file
View file

@ -0,0 +1 @@
v18.15.0

View file

@ -1,22 +1,56 @@
# create-svelte
# Anvil
Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte).
/!\ work in progress!
## Creating a project
[Kanban](https://tree.taiga.io/project/perelev-anvil) |
[Chat](https://matrix.to/#/#general-forgefed:matrix.batsense.net)
If you're seeing this, you've probably already done this step. Congrats!
Anvil is a web client app for interacting with federated forges. It's meant to
allow you to:
```bash
# create a new project in the current directory
npm create svelte@latest
- 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.
# create a new project in my-app
npm create svelte@latest my-app
```
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
Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
Install NodeJS. Recommended method: [FNM](https://github.com/Schniz/fnm).
Install dependencies:
```bash
npm install
```
Launch development server:
```bash
npm run dev
@ -25,14 +59,31 @@ npm run dev
npm run dev -- --open
```
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
To create a production version of your app:
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
```
You can preview the production build with `npm run preview`.
To preview the production build:
> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment.
```bash
npm run preview
```
## Software freedoms (a.k.a license)
GNU AGPL v3 or later.