No description
Find a file
kryptomrx 0eebffe745 test: xUnit test suite and Forgejo CI pipeline
- 43 tests across SlugGuard, ReplContext navigation, NotesCache.TimeAgo
- SlugGuard moved to NozCli.Core.Security (shared between REPL and tests)
- Bug fix: FoldersInView() now returns only actual sub-folders, not note segments
  (previously cd tab-completion suggested note names as navigable folders)
- .forgejo/workflows/ci.yml: build + test on every push/PR
2026-05-16 23:53:40 +02:00
.forgejo/workflows test: xUnit test suite and Forgejo CI pipeline 2026-05-16 23:53:40 +02:00
Noz.PowerShell feat(powershell): Noz PowerShell module with pipeline-native cmdlets 2026-05-16 23:42:27 +02:00
NozCli test: xUnit test suite and Forgejo CI pipeline 2026-05-16 23:53:40 +02:00
NozCli.Core test: xUnit test suite and Forgejo CI pipeline 2026-05-16 23:53:40 +02:00
NozCli.Tests test: xUnit test suite and Forgejo CI pipeline 2026-05-16 23:53:40 +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.