Skip to content

[FEATURE] Modes, contexts & persona system — composable UX layers (Serena-inspired) #65

Description

@Wolfvin

Summary

Add 3 composable UX layers from Serena: Modes (9 composable YAML fragments affecting command availability + system prompt), Contexts (14 per-AI-client configs auto-detected from env vars), Persona (junior-dev / PM / power-user adaptive output).

Worker consensus (2 reports)

Worker Source Contribution
Serena update!/CodeLens_vs_Serena_Upgrade_Analysis.md S7 Modes system — 9 modes: onboarding, editing, planning, interactive, one-shot, no-memories, no-onboarding, query-projects, mode.template. Composable: codelens mode onboarding,interactive. Affects command availability + system prompt. Custom mode at .codelens/modes/custom.yml.
Serena same file S8 Contexts system — 14 contexts: claude-code, codex, cursor, vscode, ide, copilot-cli, chatgpt, antigravity, jb-ai-assistant, jb-copilot-plugin, junie, agent, oaicompat-agent, desktop-app. Auto-detect from env vars (CLAUDE_CODE=true, CURSOR=true, etc.). Custom context at .codelens/contexts/custom.yml.
UnderstandAnything update!/CodeLens_vs_UnderstandAnything_Upgrade_Analysis.md U11 Persona-adaptive output — 3 personas: junior-dev (verbose, more context, simpler language, include languageLesson), PM (high-level summary, business impact, less technical detail, include domain mapping), power-user (concise, technical, complexity/edge count/blast radius). `--persona <junior-dev

Proposed scope (P3, 3-5 weeks total — all optional)

Phase 1 — Modes system (P3, 1-2 weeks, depends on config system issue)

  • 9 built-in modes at scripts/modes/*.yml
  • Each mode has: description, prompt, excluded_commands, included_optional_commands
  • Commands: codelens mode <name>, codelens mode list, codelens mode show <name>
  • Composable: codelens mode onboarding,interactive
  • Custom mode at .codelens/modes/custom.yml
  • MCP tools: set_mode, list_modes, get_mode

Phase 2 — Contexts system (P3, 2 weeks, depends on config system issue)

  • 14 built-in contexts at scripts/contexts/*.yml
  • Auto-detect from env vars
  • Commands: codelens context <name>, codelens context list
  • MCP tools: set_context, list_contexts, get_context
  • Custom context at .codelens/contexts/custom.yml

Phase 3 — Persona-adaptive output (P3, 1 week)

  • --persona <junior-dev|pm|power-user> flag for summary, handbook, tour, explain
  • Config field persona for default
  • MCP tool exposes persona parameter
  • Persona-specific prompt templates at scripts/prompts/
  • Update summary_engine.py, handbook command, tour_generator.py

Acceptance criteria

  • Modes affect command availability (e.g. no-memories mode hides memory commands)
  • Contexts auto-detect from env vars (Claude Code, Cursor, VS Code)
  • Persona affects output verbosity and focus
  • Custom modes/contexts can be loaded from .codelens/

Related

  • All 3 phases depend on the configuration system overhaul issue (multi-layer YAML)
  • Phase 3 (persona) depends on tour_generator from UA U6 (guided tour generation) — if not shipped, persona just affects summary and handbook

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions