Add Claude Code AI memory files

AI context/memory from Claude Code sessions covering all
infrastructure: JARVIS, NovaCPX, DO sites, Proxmox, FusionPBX,
MediaStack, and project feedback/preferences.
This commit is contained in:
2026-06-26 03:06:26 +00:00
parent acadc57958
commit 52f6073593
33 changed files with 2039 additions and 0 deletions
+72
View File
@@ -0,0 +1,72 @@
---
name: project-novacpx-tools
description: NovaCPX development tools and session-start checklist — load at start of every NovaCPX session
metadata:
node_type: memory
type: project
originSessionId: c454fc50-f93d-4ddd-b9f3-f3f442e89fb9
---
## Session-start checklist (run at start of every NovaCPX session)
1. **Verify working directory**: `ls /tmp/novacpx/` — if missing, repo needs re-cloning
2. **Test VM reachability** (direct — PVE1 hop NOT needed):
```bash
sshpass -p 'Joker1974!!!' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=8 root@10.48.200.110 'echo vm-ok'
```
> PVE1 (orbisne.fortiddns.com) SSH is currently broken (permission denied). Direct to 10.48.200.110 works fine.
3. **Load TODO**: read `/root/.claude/projects/-home-myron/memory/project_novacpx_todo.md`
4. **Check panel live**: `curl -sk -o /dev/null -w "%{http_code}" https://10.48.200.110:8882/`
## Direct SSH / SCP (preferred method)
```bash
# Run command on VM
sshpass -p 'Joker1974!!!' ssh -o StrictHostKeyChecking=no root@10.48.200.110 'command here'
# Copy file to VM
sshpass -p 'Joker1974!!!' scp -o StrictHostKeyChecking=no /tmp/novacpx/panel/api/endpoints/foo.php \
root@10.48.200.110:/srv/novacpx/public/api/endpoints/foo.php
```
## API auth pattern (session cookie)
```bash
# Login and get token
TOKEN=$(curl -sk -X POST "https://10.48.200.110:8882/api/auth/login" \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"Admin2026!"}' | python3 -c "import sys,json; print(json.load(sys.stdin)['data']['token'])")
# Use token as ncpx_session cookie
curl -sk "https://10.48.200.110:8882/api/system/version" -H "Cookie: ncpx_session=$TOKEN"
```
## Tools in /tmp/novacpx/tools/
| Script | Purpose | Usage |
|--------|---------|-------|
| `nova-ssh.sh` | SSH into VM (double-hop via PVE1 — currently broken) | Use direct SSH instead |
| `nova-push.sh` | Push single file via base64/double-hop (broken) | Use direct scp instead |
| `nova-deploy.sh` | Full panel rsync (PVE1 hop — broken) | Use direct scp or git push |
| `nova-status.sh` | Check SSH + port health | `bash tools/nova-status.sh [--full]` |
| `nova-logs.sh` | Stream VM logs | `bash tools/nova-logs.sh [apache\|access\|install\|fail2ban\|all]` |
| `nova-db.sh` | Run queries on VM DB | `bash tools/nova-db.sh [--tables\|--users\|--reset-admin pw\|"SQL"]` |
## Key VM paths
- Panel web root: `/srv/novacpx/public/`
- Git repo (source): `/opt/novacpx-src/` (what gets pulled by webhook/deploy-runner.sh)
- Config: `/etc/novacpx/config.ini` (root:www-data 640)
- DB: `/var/lib/novacpx/panel.db` (SQLite)
- Deploy runner: `/opt/novacpx-src/deploy/deploy-runner.sh` (cron runs every min)
- Webhook: `/opt/novacpx-src/deploy/webhook.php` (linked at /srv/novacpx/public/deploy/webhook.php)
- Logs: `/var/log/apache2/error.log`, `/var/log/novacpx/access.log`, `/var/log/novacpx/deploy.log`
- JARVIS agent: `/opt/jarvis-agent/`
- Cron scripts: `/srv/novacpx/public/bin/` (cache-update-check.php, collect-stats.php, notify-checks.php)
## VM credentials
- VM IP: 10.48.200.110 (PVE1 VM 120)
- Root: `root / Joker1974!!!`
- Admin panel: `admin / Admin2026!`
- MySQL (customer sites): `novacpx_user / 6fyWj6vYnJDKEQvNANzj`
- Ports: 8880 (user), 8881 (reseller), 8882 (admin), 8883 (webmail)
**Why:** [[project-novacpx-todo]]
**How to apply:** Start every NovaCPX session by running the session-start checklist so you know immediately if the VM is reachable before writing code.