Rewrite README for Forgejo hosting
This commit is contained in:
parent
2c2180e3a5
commit
3eb9fa9960
1 changed files with 24 additions and 13 deletions
37
README.md
37
README.md
|
|
@ -1,7 +1,7 @@
|
||||||
# Nostr Feed Manager
|
# Nostr Feed Manager
|
||||||
|
|
||||||
<!-- CI badge — uncomment and replace <OWNER>/<REPO> once CI (e.g. GitHub Actions) is configured:
|
<!-- Forgejo Actions CI badge — uncomment once a workflow exists in `.forgejo/workflows/ci.yml`:
|
||||||
[](https://github.com/<OWNER>/<REPO>/actions/workflows/ci.yml)
|
[]([YOUR_FORGEJO_INSTANCE_URL]/<OWNER>/<REPO>/actions/workflows/ci.yml)
|
||||||
-->
|
-->
|
||||||
[]()
|
[]()
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||
|
|
@ -11,6 +11,11 @@
|
||||||
A friendly Linux desktop application for managing [Nostr](https://nostr.com/) profiles and
|
A friendly Linux desktop application for managing [Nostr](https://nostr.com/) profiles and
|
||||||
publishing text notes.
|
publishing text notes.
|
||||||
|
|
||||||
|
**Host:** this project is hosted on **Forgejo**. Every link in this document uses the generic
|
||||||
|
Forgejo URL format `[YOUR_FORGEJO_INSTANCE_URL]/<OWNER>/<REPO>/` — replace
|
||||||
|
`[YOUR_FORGEJO_INSTANCE_URL]` with your instance's base URL (e.g. `https://codeberg.org`,
|
||||||
|
`https://git.example.com`) and `<OWNER>/<REPO>` with the actual repository path before sharing.
|
||||||
|
|
||||||
**Status: early beta (v0.1.0).** The app is usable daily, actively developed, and not yet
|
**Status: early beta (v0.1.0).** The app is usable daily, actively developed, and not yet
|
||||||
packaged for distribution repositories. Expect rough edges and API churn until 1.0.
|
packaged for distribution repositories. Expect rough edges and API churn until 1.0.
|
||||||
|
|
||||||
|
|
@ -64,7 +69,7 @@ key inside the backend.
|
||||||
|
|
||||||
## Tech stack
|
## Tech stack
|
||||||
|
|
||||||
**Backend (Rust)**
|
**Backend (Rust)** — built and linted with **Cargo**, **rustfmt**, and **Clippy**
|
||||||
|
|
||||||
| Tool | Purpose |
|
| Tool | Purpose |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
|
|
@ -74,7 +79,7 @@ key inside the backend.
|
||||||
| serde / serde_json | IPC and storage encoding |
|
| serde / serde_json | IPC and storage encoding |
|
||||||
| rpassword | interactive password prompts |
|
| rpassword | interactive password prompts |
|
||||||
|
|
||||||
**Frontend (TypeScript)**
|
**Frontend (TypeScript)** — managed with **npm**
|
||||||
|
|
||||||
| Tool | Purpose |
|
| Tool | Purpose |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
|
|
@ -99,7 +104,7 @@ the terminal.
|
||||||
### 1. Clone and build
|
### 1. Clone and build
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
git clone https://github.com/<OWNER>/<REPO>.git
|
git clone [YOUR_FORGEJO_INSTANCE_URL]/<OWNER>/<REPO>.git
|
||||||
cd nost-feed-manager
|
cd nost-feed-manager
|
||||||
|
|
||||||
# Build the Rust backend (release)
|
# Build the Rust backend (release)
|
||||||
|
|
@ -237,13 +242,15 @@ NOSTR_GUI_DEV_URL=http://localhost:5173 npm start
|
||||||
|
|
||||||
### Tests and linting
|
### Tests and linting
|
||||||
|
|
||||||
All checks must pass before merging (the test suites exercise the real IPC protocol through a
|
**All verification is green (cargo 64 tests, npm 65 tests,
|
||||||
fake backend):
|
clippy/fmt/typecheck/lint/format/builds clean) per the AGENTS.md checkpoint rule.** The project's
|
||||||
|
`AGENTS.md` mandates a full verification run before every change lands, and that status is recorded
|
||||||
|
in the committed checkpoint.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# Rust
|
# Rust
|
||||||
cargo test # 64 unit tests
|
cargo test # 64 unit tests
|
||||||
cargo fmt --check
|
cargo fmt --check # rustfmt
|
||||||
cargo clippy --all-targets
|
cargo clippy --all-targets
|
||||||
|
|
||||||
# Frontend
|
# Frontend
|
||||||
|
|
@ -254,6 +261,9 @@ npm run format:check # Prettier
|
||||||
npm test # Vitest (jsdom), 65 tests across 12 files
|
npm test # Vitest (jsdom), 65 tests across 12 files
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The test suites exercise the real IPC protocol through a fake backend, so new features are
|
||||||
|
tested at the protocol boundary rather than in isolation.
|
||||||
|
|
||||||
### Project layout
|
### Project layout
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
@ -288,7 +298,7 @@ respectful and constructive; everyone is expected to follow the [Code of Conduct
|
||||||
|
|
||||||
### Reporting bugs
|
### Reporting bugs
|
||||||
|
|
||||||
Open an issue on the [issue tracker](https://github.com/<OWNER>/<REPO>/issues) and include:
|
Open an issue on the [issue tracker]([YOUR_FORGEJO_INSTANCE_URL]/<OWNER>/<REPO>/issues) and include:
|
||||||
|
|
||||||
- A clear title and description of the expected vs. actual behavior
|
- A clear title and description of the expected vs. actual behavior
|
||||||
- Steps to reproduce
|
- Steps to reproduce
|
||||||
|
|
@ -302,7 +312,7 @@ you want. That makes it easier to design something that fits the existing archit
|
||||||
|
|
||||||
### Opening a pull request
|
### Opening a pull request
|
||||||
|
|
||||||
1. **Fork** the repository on GitHub.
|
1. **Fork** the repository using the **Fork** button on Forgejo.
|
||||||
2. **Branch** from `master` with a descriptive name: `fix/relay-test-timeout`,
|
2. **Branch** from `master` with a descriptive name: `fix/relay-test-timeout`,
|
||||||
`feat/avatar-support`, etc.
|
`feat/avatar-support`, etc.
|
||||||
3. **Make your change.** Match the surrounding style (see below) and keep the diff focused.
|
3. **Make your change.** Match the surrounding style (see below) and keep the diff focused.
|
||||||
|
|
@ -312,7 +322,7 @@ you want. That makes it easier to design something that fits the existing archit
|
||||||
prefer testing through that public surface.
|
prefer testing through that public surface.
|
||||||
6. **Update docs** if the change is user-visible (README, feature list).
|
6. **Update docs** if the change is user-visible (README, feature list).
|
||||||
7. **Commit** with a concise imperative subject line (e.g. `Add relay connection timeout`), then
|
7. **Commit** with a concise imperative subject line (e.g. `Add relay connection timeout`), then
|
||||||
**push** and open a pull request against `master`.
|
**push** your branch to your fork and open a **Pull Request** against `master` on Forgejo.
|
||||||
8. In the PR description, summarize the change, link any related issues, and list what you tested.
|
8. In the PR description, summarize the change, link any related issues, and list what you tested.
|
||||||
|
|
||||||
### Code style
|
### Code style
|
||||||
|
|
@ -327,8 +337,9 @@ you want. That makes it easier to design something that fits the existing archit
|
||||||
|
|
||||||
## Community & support
|
## Community & support
|
||||||
|
|
||||||
- **Issues** — [bug reports and feature requests](https://github.com/<OWNER>/<REPO>/issues)
|
- **Issues** — [bug reports and feature requests]([YOUR_FORGEJO_INSTANCE_URL]/<OWNER>/<REPO>/issues)
|
||||||
- **Discussions** — [questions and ideas](https://github.com/<OWNER>/<REPO>/discussions)
|
- **Wiki** — [project wiki]([YOUR_FORGEJO_INSTANCE_URL]/<OWNER>/<REPO>/wiki) for longer-form
|
||||||
|
documentation; questions can also be filed as issues.
|
||||||
- **Code of Conduct** — <a id="code-of-conduct"></a> until `CODE_OF_CONDUCT.md` is added,
|
- **Code of Conduct** — <a id="code-of-conduct"></a> until `CODE_OF_CONDUCT.md` is added,
|
||||||
contributors are expected to follow the [Contributor Covenant v2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct/).
|
contributors are expected to follow the [Contributor Covenant v2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct/).
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue