docs: README and CHANGELOG for v0.1.0

This commit is contained in:
kryptomrx 2026-05-16 23:21:21 +02:00
parent 74bc28bce4
commit 979f5bd767
2 changed files with 137 additions and 0 deletions

26
CHANGELOG.md Normal file
View file

@ -0,0 +1,26 @@
# Changelog
All notable changes to noz-cli are documented here.
Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) — versioning follows [Semantic Versioning](https://semver.org/).
---
## [Unreleased]
## [0.1.0] — 2026-05-16
### Added
- Interactive REPL with topic-based navigation (`cd`, `ls`, `ls -la`, `tree`)
- `cat` — print raw markdown of a note
- `edit` — open note in terminal editor (nano/vim) or VS Code (`-c` flag)
- `new` — create a new note from a template
- `rm` — delete a note
- `sync` — pull notes from server to local directory (parallel, hash-diffed)
- `push` — push local markdown files to server
- `search` — full-text search via Meilisearch
- `config` — view and set editor preferences
- `version` — show version and git hash
- JSON note cache (`~/.cache/noz/notes.json`) for instant startup + background refresh
- Cache timestamp displayed in startup stats line
- Native AOT binary for macOS arm64 (~7.6 MB, no runtime required)
- Tab completion for commands, slugs and folder segments

111
README.md Normal file
View file

@ -0,0 +1,111 @@
# noz-cli
A terminal REPL for [noz](https://github.com/kryptomrx/noz) — a self-hosted digital garden built with Next.js.
Navigate, read, and edit your notes from the command line. Native AOT binary, no .NET runtime required.
---
## Install
Download the latest binary from [Releases](../../releases) and place it on your PATH:
```bash
# macOS (Apple Silicon)
curl -L https://github.com/kryptomrx/noz-cli/releases/latest/download/noz-osx-arm64 -o /usr/local/bin/noz
chmod +x /usr/local/bin/noz
```
## Setup
```bash
noz init https://your-noz-instance.com your-api-token
```
This writes `~/.config/noz/config.json`.
## Usage
```
noz
```
Starts the interactive REPL. Type `help` for a list of commands.
### Navigation
```
~ » ls # list topics
~ » cd psychologie # enter a topic
~/psychologie » ls -la # detailed view with status, date, title
~/psychologie » tree # full hierarchy as a tree
~/psychologie » cd .. # go up
```
### Notes
```
~ » cat psychologie/flow-theorie # print raw markdown
~ » edit flow-theorie # open in terminal editor
~ » edit -c flow-theorie # open in VS Code
~ » new meine-neue-notiz # create note from template
~ » rm alte-notiz # delete a note
```
### Sync
```
~ » sync ~/vault # pull changed notes to local folder
~ » sync ~/vault --all # pull everything (ignore local hashes)
~ » sync ~/vault --dry-run # preview what would be downloaded
~ » push ~/vault # push local .md files to server
```
### Other
```
~ » version # show version + git hash
~ » config # show editor settings
~ » config editor nano # set terminal editor
~ » config code-editor code # set GUI editor
~ » exit
```
## Configuration
Editor preferences are stored in `~/.config/noz/config.json`:
```json
{
"server_url": "https://your-noz-instance.com",
"token": "...",
"editor": "nano",
"code_editor": "code"
}
```
## Building from source
Requires [.NET 10 SDK](https://dotnet.microsoft.com/download) and `clang`.
```bash
git clone https://github.com/kryptomrx/noz-cli
cd noz-cli
# Run (no AOT)
dotnet run --project NozCli
# Native AOT binary (macOS arm64)
dotnet publish NozCli/NozCli.csproj -r osx-arm64 -c Release
```
On macOS, AOT linking requires OpenSSL via Homebrew:
```bash
brew install openssl
```
## License
[Polyform Noncommercial 1.0.0](LICENSE) — free for personal and non-commercial use.
For commercial licensing, contact [Bruno Deanoz](mailto:bruno.deanoz1@gmail.com).