No description
Find a file
kryptomrx e9217ecb77 feat: mkdir command creates folders via _index.md
Uses a dedicated /api/cli/folders endpoint (separate from notes because
_index slugs contain underscores which the notes slug validator rejects).
Derives a readable title from the slug, navigates into the new folder
immediately even before any notes exist.
2026-05-17 00:28:01 +02:00
.forgejo/workflows test: xUnit test suite and Forgejo CI pipeline 2026-05-16 23:53:40 +02:00
Noz.PowerShell feat: mv command with atomic note renaming and link rewriting 2026-05-17 00:27:53 +02:00
NozCli feat: mkdir command creates folders via _index.md 2026-05-17 00:28:01 +02:00
NozCli.Core feat: mv command with atomic note renaming and link rewriting 2026-05-17 00:27:53 +02:00
NozCli.Tests feat: mv command with atomic note renaming and link rewriting 2026-05-17 00:27:53 +02:00
.gitignore Initial commit: noz-cli REPL skeleton 2026-05-16 19:25:39 +02:00
CHANGELOG.md docs: README and CHANGELOG for v0.1.0 2026-05-16 23:21:21 +02:00
noz-cli.slnx test: xUnit test suite and Forgejo CI pipeline 2026-05-16 23:53:40 +02:00
README.md docs: README and CHANGELOG for v0.1.0 2026-05-16 23:21:21 +02:00

noz-cli

A terminal REPL for 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 and place it on your PATH:

# 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

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:

{
  "server_url": "https://your-noz-instance.com",
  "token": "...",
  "editor": "nano",
  "code_editor": "code"
}

Building from source

Requires .NET 10 SDK and clang.

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:

brew install openssl

License

Polyform Noncommercial 1.0.0 — free for personal and non-commercial use.
For commercial licensing, contact Bruno Deanoz.