Skip to content

Latest commit

 

History

History
136 lines (104 loc) · 6.42 KB

README.md

File metadata and controls

136 lines (104 loc) · 6.42 KB

nostr-java documentation

A Java implementation of the Nostr protocol: events, signing, relays, encrypted messaging, and an MCP server that puts all of it in reach of an LLM agent.

Start here

If you want to Read
Add the library to a build and send your first note Getting started
See worked examples of the common tasks API examples
Understand how the modules fit together Architecture
Look up a class or method API reference
Work out why something is failing Troubleshooting

The pages below are grouped by what they are for, following Diátaxis: tutorials teach, how-to guides solve a problem, reference describes the machinery, and explanation gives the reasoning.

Tutorials

Learning-oriented, for a first encounter with the library.

  • Getting started — install via Maven or Gradle, generate an identity, publish a note.

How-to guides

Task-oriented, for someone who knows what they want to achieve.

Using the library

Operating and diagnosing

Releasing and contributing

Reference

Information-oriented, for looking things up.

Explanation

Understanding-oriented, for the reasoning behind the design.

Specifications

Proposals and history

These describe work that is proposed, in progress, or finished. They are kept because the reasoning outlives the change.

Decisions

Architecture decision records: what was decided, and what was given up.

How this documentation is kept honest

DocumentationAccuracyTest in nostr-java-api runs with the ordinary build and fails when the documentation drifts from the code: a guide naming a type or method that does not exist, a link pointing at nothing, an install snippet quoting a version that is not the one being built, or a page nobody links to from this index.

It found real problems when it was written, including a reference page teaching BaseMessage.read(json), a method that has never existed. Documentation rots quietly because nothing fails when it does, which is exactly why it is worth a test.