Skip to main content

max / mnw-cli

1.5 KB · 42 lines History Blame Raw
1 # mnw-cli TODO
2
3 ## Status
4 Done: Phases 1-8, Git proxy A-C. Active: None. Next: Deploy.
5
6 ---
7
8 ## Git Proxy — Part D: Server Configuration
9
10 - [ ] D1: Move sshd to port 2200, `ListenAddress 100.120.174.96` (Tailscale only)
11 - [ ] D2: Update mnw-cli .env (`SSH_PORT=22`, `GIT_SUDO_USER=git`)
12 - [ ] D3: Sudoers rule (`/etc/sudoers.d/mnw-cli-git` — git-upload-pack, git-receive-pack, git-upload-archive)
13 - [ ] D4: Firewall — `ufw delete allow 2222/tcp` (port 22 already open)
14 - [ ] D5: DNS — `cli.makenot.work` A record -> `5.78.144.244`, proxy OFF
15 - [ ] D6: Restart sequence (sshd -> verify admin SSH -> mnw-cli -> verify TUI + git clone)
16
17 ## Deploy
18 - [ ] Test on astra (full TUI + SFTP + git push/pull)
19 - [ ] Deploy to hetzner (cross-compile via deploy.sh)
20 - [ ] Add PoM health check for mnw-cli (port 22 SSH banner check)
21
22 ## Remaining Features (from design doc)
23 - [ ] Bulk item operations (select multiple, publish/unpublish/delete)
24 - [ ] Tag management in TUI
25 - [ ] Pipe mode uploads (`cat file | ssh cli.makenot.work upload ...`)
26 - [ ] Blog post scheduling
27 - [ ] Subscription tier management
28 - [ ] Collection management
29 - [ ] Custom domain management screen
30 - [ ] Broadcast to followers
31
32 ## Key Paths
33 ```
34 mnw-cli/src/
35 main.rs, config.rs, api.rs, commands.rs, format.rs, staging.rs
36 ssh/ (mod.rs, handler.rs, terminal.rs, sftp.rs, git.rs)
37 tui/ (mod.rs, input.rs, loading.rs, home.rs, project.rs, upload.rs,
38 item.rs, analytics.rs, blog.rs, promo.rs, keys.rs, settings.rs, widgets.rs)
39 mnw-cli/deploy/ (deploy.sh, mnw-cli.service)
40 docs/mnw/server/cli.md (design doc)
41 ```
42