← Journey PHASE 3 — CLI layer

CLI Layer Closes — Vault, Projects, and iOS Clip Route All Live

Photo by Jonny Rothwell on Unsplash

The zsh function layer is verified end-to-end. Notes land in inbox, projects scaffold correctly, and an iOS shortcut now routes clips to n8n without touching a laptop.

The CLI layer is closed. Every function init-vault.sh wrote has been exercised against a real vault and a real n8n instance.

note "test" "content" drops a markdown file into 00-inbox/ with no friction. newproject test-x builds the full folder scaffold, writes CLAUDE.md, and creates the symlink — confirmed clean, then torn down. Both are now considered stable interfaces.

~/vault
├─ 00-inbox/ note() target — all quick captures land here
├─ projects/test-x/ new newproject() scaffold output — removed after verification
└─ projects/test-x/CLAUDE.md new auto-generated project context file

The n8n stubs were the other half of this phase. Real workflows come in Phase 4, but the CLI needs live endpoints to test against now. Two stubs are in place: one for brief, one for the iOS clip route.

n8n.[domain]
webhook/brief staged
:443
Stub endpoint for brief() CLI function
n8n
webhook/clip live
:443
iOS Shortcut Share Sheet POST target
n8n

brief test "button" hits the stub and gets a 200 back. The iOS Shortcut on the Share Sheet posts a Safari URL to n8n.[domain]/webhook/clip — same result. The mobile capture path requires no app, no sync delay, just a share tap.

Removed
Added
  • init-vault.sh (verified)
  • zsh: note()
  • zsh: newproject()
  • zsh: brief()
  • n8n stub: webhook/brief
  • n8n stub: webhook/clip
  • iOS Shortcut: clip-to-n8n

What this unblocks: Phase 4A and 4B can now build against named, reachable endpoints with real callers. The brief workflow has a CLI caller and a stub to replace. The clip webhook has iOS traffic hitting it today.