Skip to content

Commit 012f70c

Browse files
committed
docs: update README.md
1 parent a0780e4 commit 012f70c

File tree

2 files changed

+51
-25
lines changed

2 files changed

+51
-25
lines changed

README.md

+41-25
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,58 @@
11
# Lophus
22

3-
> **Warning**\
4-
> Still under development and not ready for use.
3+
> :construction: Still under development and not ready for use.
54
65
[![CI](https://github.com/hasundue/lophus/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/hasundue/lophus/actions/workflows/ci.yml)
76
[![codecov](https://codecov.io/github/hasundue/lophus/branch/main/graph/badge.svg?token=s01IMg4nI8)](https://codecov.io/github/hasundue/lophus)
87

9-
Lophus is a TypeScript library for development of [Nostr][nostr] clients and
10-
relays, oriented to web standards and edge environments.
8+
Lophus is an experimental TypeScript library for development of [Nostr][nostr]
9+
clients and relays, oriented to web standards and edge environments.
1110

12-
## Concept
11+
## Features
1312

1413
- **Modular** 🔌 - NIPs and high-level interfaces are implemented as optional
15-
TypeScript modules, which enables you to keep an app as small as possible.
16-
- **Portable** 📦 - The core modules are build upon
17-
[Web Standard APIs][web-standard-api], which makes it possible to run on
18-
various environment.
19-
- **Productive** 🌊 - Declarative interfaces let you focus on the data flow
20-
rather than underlying logic, and strict type checking helps you to avoid
21-
runtime errors.
14+
TypeScript modules, which makes your apps as small as possible.
15+
- **Fast** ⚡ - Carefully designed to be performant. Fully asynchronous and
16+
non-blocking. Use native code of a runtime via [Web APIs][web-apis].
17+
- **Portable** 📦 - No runtime-specific code or external dependencies in the
18+
core modules so that it can work on various platforms.
19+
- **Type-safe** 🛡️ - Thoroughly typed with insanity.
2220
- **Compatible** 🤝 - Shares the same data structure for events as
2321
[nostr-tools][nostr-tools].
2422

25-
## Documentation
23+
## Project Structure
2624

27-
- [API Reference](https://deno.land/x/lophus/mod.ts) (WIP)
28-
- [Lophus by Example](https://github.com/hasundue/lophus-by-example)
25+
### [@lophus/nips](https://github.com/hasundue/lophus/tree/main/nips)
2926

30-
## Supported NIPs
27+
Provides a set of modules that implement the Nostr protocol and its extensions.
28+
Supposed to be the entry point for most developers who want to use Lophus.
3129

32-
- [x] [NIP-01](https://github.com/nostr-protocol/nips/blob/master/01.md): Basic
33-
protocol
34-
- [x] [NIP-02](https://github.com/nostr-protocol/nips/blob/master/02.md):
35-
Contact list
36-
- [ ] [NIP-07](https://github.com/nostr-protocol/nips/blob/master/07.md):
37-
`window.nostr` capability for web browsers
38-
- [ ] [NIP-42](https://github.com/nostr-protocol/nips/blob/master/42.md): Client
39-
authentication
30+
### [@lophus/std](https://github.com/hasundue/lophus/tree/main/std)
31+
32+
Provides high-level interfaces and utilities, and functionalities that depends
33+
on third-party libraries.
34+
35+
### [@lophus/core](https://github.com/hasundue/lophus/tree/main/core)
36+
37+
Contains the core modules that implement the basic architecture of Lophus. Used
38+
for implementation of NIPs, or possibly your own Nostr-like protocols.
39+
40+
### [@lophus/lib](https://github.com/hasundue/lophus/tree/main/lib)
41+
42+
General-purpose modules that are developed for Lophus, but not directly related
43+
to the Nostr protocol. You may use them in any TypeScript project.
44+
45+
### [Benchmarks](https://github.com/hasundue/lophus/tree/main/bench)
46+
47+
Performance tests for Lophus and other Nostr libraries. Highly experimental.
48+
49+
## Sponsors
50+
51+
### [Soapbox](https://soapbox.pub)
52+
53+
Software for the next generation of social media.
54+
55+
![Soapbox](https://avatars.githubusercontent.com/u/99939943?s=200&v=4)
4056

4157
## References
4258

@@ -50,7 +66,7 @@ Development of Lophus is inspired by the following projects:
5066

5167
<!-- Links -->
5268

53-
[web-standard-api]: https://developer.mozilla.org/docs/Web/API
69+
[web-apis]: https://developer.mozilla.org/docs/Web/API
5470
[nostr]: https://nostr.com
5571
[nostr-nips]: https://github.com/nostr-protocol/nips
5672
[modules]: https://github.com/hasundue/lophus/tree/main/lib

nips/README.md

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
## Available NIPs
2+
3+
- [x] [NIP-01](https://github.com/nostr-protocol/nips/blob/master/01.md): Basic
4+
protocol
5+
- [x] [NIP-02](https://github.com/nostr-protocol/nips/blob/master/02.md):
6+
Contact list
7+
- [ ] [NIP-07](https://github.com/nostr-protocol/nips/blob/master/07.md):
8+
`window.nostr` capability for web browsers
9+
- [ ] [NIP-42](https://github.com/nostr-protocol/nips/blob/master/42.md): Client
10+
authentication

0 commit comments

Comments
 (0)