feat(mcp): distinguish uninitialized vs unfilled soul
Old getProjectSoul lumped 'no .axis/ directory' and 'placeholder content' into the same 'soul is not yet filled' message. Customers who'd never heard of axis-init saw a confusing instruction to call update_project_soul without context for where the .axis/ files even live. Now: - uninit (no .axis/instructions/): tell the agent to run `npx @virsanghavi/axis-init` for the one-command bootstrap, or populate the soul manually as a fallback. - placeholder (.axis/ exists, content is the template): existing instruction to fill via update_project_soul. - filled: no nag. Drops a fresh customer's time-to-first-real-soul from 'I have no idea what this means' to one command. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
V
Vir Sanghavi committed
8eb6c3db0f30b9425998853c9c8d6d72cf4f5af7
Parent: f42ff36