Napseer CLI
Source import for the nap operator CLI.
This repository is intended to become the canonical source for:
napinstaller and update UX.- Project bootstrap and status commands.
- Local authenticated MCP wrapper launch/update behavior.
- Gateway lifecycle commands such as
nap gateway setup,repair,start,status,logs,terminal,schedule, andvault.
Current state:
resources/scripts/nap_install.pyowns the versioned, verified, atomic runtime bundle installer.resources/scripts/contains the public runtime source embedded by the backend without behavioral rewrites.resources/scripts/napseer_mcp_supervisor.pyis the recommended Codex stdio entrypoint. It keeps the client transport alive while restarting or reloading the generatednapseer_mcp_server.pyworker between requests.- Gateway service compatibility remains in the worker while the standalone gateway image is built from the public gateway repository.
nap mcp statusandnap doctorrun a fresh stdio initialization,tools/list, and authenticated read probe. They deliberately report an existing client connection asnot_observable; a successful fresh probe does not claim that a previously opened Codex transport is connected.- Operator OAuth credentials remain in
.napseer/auth.json. A repaired local gateway uses a separate.napseer/gateway-auth.jsonworker identity, so relay token renewal cannot rotate or overwrite the operator/MCP session. - CLI terminal and schedule operations call the running gateway's loopback-only, CSRF-protected control API. PTYs therefore live in the daemon instead of disappearing when a CLI subprocess exits.
Backend discovery publishes the release manifest and exact public source revision used for each bundle.
Configure Codex and other long-lived stdio clients to launch:
python3 ~/.local/share/napseer/napseer_mcp_supervisor.py
For repositories that may be resumed after Codex opened a different working
directory, add a trusted project .codex/config.toml override with both
cwd and NAPSEER_PROJECT_ROOT. MCP processes inherit their launch directory;
they cannot infer a later client workspace switch over stdio.
The public operator surface is intentionally small:
nap init | status | doctor | auth | project | mcp | gateway | update | version | help
Authentication has one recovery verb: nap auth repair. Normal refresh is
automatic. nap gateway repair creates the separate worker identity once;
--replace is required to replace an existing identity.
The direct wrapper remains the nap CLI implementation and an isolated
protocol-debugging entrypoint.