noz-cli/README.md
2026-05-16 23:21:21 +02:00

111 lines
2.5 KiB
Markdown

# 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).