darkplex-core/cortex/cli.py
Claudia cbd3556a09
All checks were successful
Tests / test (push) Successful in 2s
feat: cortex init + schedule — self-managed jobs via systemd/launchd
- cortex init: creates workspace, smoke tests, optional job setup
- cortex schedule list|status|enable|disable|logs
- Linux: systemd user timers
- macOS: launchd plists
- Jobs: feedback (6h), hygiene (daily), health (30min)
- --interval flag for custom intervals
- Replaces external OpenClaw cron jobs
- 169/169 tests green
2026-02-09 12:19:15 +01:00

84 lines
2.3 KiB
Python

#!/usr/bin/env python3
"""Cortex CLI — unified entry point for all intelligence modules.
Usage:
cortex init [--enable-all] [--non-interactive]
cortex schedule list|status|enable|disable|logs <job>
cortex triage score "task description"
cortex health [--json]
cortex feedback --since 6h [--dry-run]
cortex hygiene stats|stale|duplicates|orphans|archive
cortex roadmap list|add|update|overdue|upcoming|report
cortex validate --transcript <path> --task "description"
cortex search "query" [--memory-dir ~/.cortex/memory]
cortex handoff --from <session> --to <agent> --task "description"
cortex version
"""
import sys
def main():
if len(sys.argv) < 2:
print(__doc__.strip())
sys.exit(1)
cmd = sys.argv[1]
# Strip the command from argv so sub-modules see clean args
sys.argv = [f"cortex {cmd}"] + sys.argv[2:]
if cmd == "init":
from cortex.init import main as init_main
init_main()
elif cmd == "schedule":
from cortex.scheduler import main as schedule_main
schedule_main()
elif cmd == "version":
from cortex import __version__
print(f"cortex {__version__}")
elif cmd == "triage":
from cortex.triage import main as triage_main
triage_main()
elif cmd == "health":
from cortex.health_scanner import main as health_main
health_main()
elif cmd == "feedback":
from cortex.feedback_loop import main as feedback_main
feedback_main()
elif cmd == "hygiene":
from cortex.memory_hygiene import main as hygiene_main
hygiene_main()
elif cmd == "roadmap":
from cortex.roadmap import main as roadmap_main
roadmap_main()
elif cmd == "validate":
from cortex.validate_output import main as validate_main
validate_main()
elif cmd == "search":
from cortex.enhanced_search import main as search_main
search_main()
elif cmd == "handoff":
from cortex.auto_handoff import main as handoff_main
handoff_main()
elif cmd in ("-h", "--help", "help"):
print(__doc__.strip())
else:
print(f"Unknown command: {cmd}")
print(__doc__.strip())
sys.exit(1)
if __name__ == "__main__":
main()