Skip to content

Commit

Permalink
rewrite root README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
dskvr committed Jan 8, 2025
1 parent 2dda392 commit 32894e6
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 30 deletions.
55 changes: 25 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,29 @@
> @nostrwatch is in heavy development. Legacy nostr.watch is **in maintenance mode**.
# @nostrwatch
nostr.watch discovers, monitors and indexes nostr relays, and then publishes the results in the form of NIP-66. There are many shared packages between agents and clients. The ones that are useful external to nostr.watch are in `./libraries` and purpose built packages are in `./internal`.
A Typescript stack for monitoring, auditing, describing and validating anything related to nostr relays. `@nostrwatch` is an [OpenSats](http://opensats.org) grant recipient.

# packages
| package | type | description | status | web | server | cli | notes |
|-----------------------------|----------|------------------------------------------------------------------------------------------------------------------|--------|-----|--------|-----|-------------------------------------------------------|
| @nostrwatch/gui | webapp | NIP-66 nostr client. | alpha || | | |
| @nostrwatch/trawler | agent | Scraps all of the known nostr-verse for relays, sanitizes and dedupes them. | alpha | || | rewrite imminent |
| @nostrwatch/nocapd | agent | Persistently checks relays on a regular interval with many configuration options. | alpha | || | rewrite imminent |
| @nostrwatch/nip66 | library | Library that manages NIP-66 aggregation control flow and provides utilities that help conform to NIP-66 | alpha ||| | |
| @nostrwatch/auditor | library | Checks relays against their advertised supported nips and runs a variety of passive validations along the way. | alpha |||| |
| @nostrwatch/nocap | library | Extensible library for checking relay liveness via websocket and optionally fetches geodata, SSL, NIP-11 and DNS | alpha ||| | |
| @nostrwatch/schemata | library | JSON-Schemas for low-level protocol JSON, note kinds, protocol messages and NIP-11 information documents. | alpha ||| | |
| @nostrwatch/schemata-js-ajv | library | Library that wraps ajv and @nostrwatch/schemata to simplify validation of nostr json payloads. | alpha ||| | |
| @nostrwatch/websocket | internal | Isomorphic Websocket wrapper | beta ||| | |
| @nostrwatch/utils | internal | Variety of utilities that are shared between many packages. | beta ||| | |
| @nostwatch/announce | internal | Basic library for monitor 10166 announcement. | alpha ||| | rewrite imminent |
| @nostrwatch/nwcache | internal | LMDB wrapper for agent data | beta | || | needs attention |
| @nostrwatch/publisher | internal | Handles publishing of nostr events | alpha | | | | |
| @nostrwatch/logger | internal | Logger library used throughout all packages | beta | || | will be replaced with logger from @nostrwatch/auditor |
| @nostrwatch/controlflow | internal | Manages backoff and BullMQ queues | beta | || | will be nuked after @nostrwatch/nocapd rewrite. |
| @nostrwatch/seed | internal | Manages seeding of relays from a variety of different sources. | | | | | |

# development

`@nostrwatch` will be open to contributions after the agents have been rewritten, contribution guidelines have been established and documents are in place for all apps, agents and libraries

# Stack

## agents
- **trawler** - finds new relays to monitor
- **nocapd** - monitors relays and publishes NIP-66 events

## gui
- **nostr.watch** - early stages

## libraries
- **nocap** - Runs basic checks on relays.
- **kit** - Attempts to simplify the process of aggregating NIP-66 events (overkill for general use!)
- **idb** - Purpose built IDB for more advanced NIP-66 usage (overkill for general use!)

### Development
a `CONTRIBUTE.md` will exist somewhere down the road. Since it's early stage, many details are not yet established, but here some details that are:

1. Primary branch for development @nostrwatch:next is `next`. Legacy is on `main` and the workflows are still functional for patches and legacy maintenance headaches.
2. Branching model: TBD (Trunk Based Development), trunk branch is `next` for early stage. Early alpha there will be long-standing branches for packages that are not yet in next. Once `@nostrwatch:next` reaches beta `next` will become `main` and there will be `trunk` branch.
3. GH Actions will be used for CI/CD
4. Issues will be reserved for actionable items, such as bugs. Anything requiring discussion lives in discussion until it's promoted to an issue.
5. PRs should be opened as a draft. When the PR is ready to be published commits should be squashed.

```
git clone https://github.com/sandwichfarm/nostr-watch.git
cd ./nostr-watch
yarn bootstrap
yarn install
```
Empty file removed internal/status/.gitkeep
Empty file.

0 comments on commit 32894e6

Please sign in to comment.