Skip to content

feat(distribution): add platform-independent Maister installer#7

Open
mateuszrapacz wants to merge 87 commits into
SkillPanel:masterfrom
mateuszrapacz:feat/platform-independent-plugin
Open

feat(distribution): add platform-independent Maister installer#7
mateuszrapacz wants to merge 87 commits into
SkillPanel:masterfrom
mateuszrapacz:feat/platform-independent-plugin

Conversation

@mateuszrapacz

Copy link
Copy Markdown

Summary

  • replace separately generated Codex, Cursor, and Kiro plugin trees with one portable common source plus target overlays
  • add transactional install, update, and uninstall flows with immutable source/provenance binding and evidence receipts
  • centralize target ownership in the Node registry and add git-aware repository topology validation
  • remove legacy generated host trees and Claude support, then align CI, release workflows, standards, and user documentation

Verification

  • authoritative platform-independent suite: 114/114 passing
  • focused evidence and topology suite: 20/20 passing
  • make validate: passing
  • package lifecycle matrix: 4/4 passing
  • strict clean-tree parity: 3/3 targets passing with zero unresolved differences
  • final implementation review: zero critical, warning, or informational findings

Release notes

For a production release, rerun the full suite and strict parity checks at the exact clean tag commit. The release job also requires explicit contents: write permission and an empty or allowlisted same-job artifact set before publishing.

Documentation

The workflow record, implementation specification, verification evidence, decision summary, and user guide are included under .maister/tasks/development/2026-07-14-platform-independent-plugin/.

mateuszrapacz and others added 30 commits June 6, 2026 22:33
Generate plugins/maister-cursor from plugins/maister via platforms/cursor/build.sh
with Cursor-specific transforms, hooks, TodoWrite mapping, and quick-plan/bugfix
overrides. Verified with agent CLI: init, quick-plan, quick-bugfix, and Task subagents.

Co-authored-by: Cursor <cursoragent@cursor.com>
Record CLI pass for development, resume, parallel waves, and update
implementation plan status after Phase 3 completion.

Co-authored-by: Cursor <cursoragent@cursor.com>
Release maister-cursor variant after E2E verification on Cursor Agent CLI.

Co-authored-by: Cursor <cursoragent@cursor.com>
Extend smoke-install.sh with --symlink for dev workflows and document
copy vs symlink install paths in README and Cursor docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
Drop cursor-agent-support, implementation plan, and E2E checklist from
docs/ now that maister-cursor is released; install details live in README.

Co-authored-by: Cursor <cursoragent@cursor.com>
Emit explicit skills/commands/agents/hooks paths in plugin.json, drop
symlink install (IDE does not load it reliably), and copy-only smoke-install.

Co-authored-by: Cursor <cursoragent@cursor.com>
Recover cursor-agent-support, implementation plan, and E2E checklist
removed in dfc5f55; align install instructions with copy-only smoke-install.

Co-authored-by: Cursor <cursoragent@cursor.com>
Extends the multi-platform build pipeline with platforms/kiro-cli/ generating plugins/maister-kiro/, including MD→JSON agents, chat-native gates, validate-kiro (28 rules), and isolated KIRO_HOME install.

Co-authored-by: Cursor <cursoragent@cursor.com>
--set-alias now writes idempotent maister-kiro/mk blocks to the shell rc with an interactive prompt when omitted, matching the default-agent flow.

Co-authored-by: Cursor <cursoragent@cursor.com>
Add full @prompt workflow table, slash-only skills list, and pointer to platforms/kiro-cli/prompts as the source of truth.

Co-authored-by: Cursor <cursoragent@cursor.com>
Ship chat.ui=tui by default, remove enableTodoList setup, and document activity tray and crew monitor for phase progress.

Co-authored-by: Cursor <cursoragent@cursor.com>
Vendors grill-me and the thermos thermo-nuclear review workflow into Maister source, rebuilds all platform variants, and updates Kiro validation counts.

Co-authored-by: Cursor <cursoragent@cursor.com>
Kiro's built-in /plan switches to the Plan agent; Maister quick-plan now uses @Quick-Plan or /maister-quick-plan.

Co-authored-by: Cursor <cursoragent@cursor.com>
Expose grill-me, thermos, workflows, reviews, and standards via @prompts so Kiro TUI discovery matches Maister capabilities; document @prompt-first usage and narrow build.sh sed to maister-* agents only.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sync generated maister-cursor output with thermos SKILL.md changes already applied in source and Kiro build.

Co-authored-by: Cursor <cursoragent@cursor.com>
- Remove non-existent 'list' tool from all agents
- Use skill:// instead of file:// for subagent resources (progressive loading)
- Fix timeout → timeout_ms with proper millisecond values
- Add allowedTools to all subagents (prevent fail-fast in non-interactive)
- Add availableAgents lockdown to maister orchestrator
- Update smoke-install.sh to handle skill:// URI rewriting
…faults gate

Instead of asking 5 separate questions, agent now infers values from
codebase analysis and presents them for confirmation in one CHAT GATE.
…assing

Kiro skills need explicit $ARGUMENTS placeholder to receive text after
slash command. CC handles this natively. Added as build-time injection
in apply_kiro_overrides() without modifying source.
Kiro requires explicit $ARGUMENTS placeholder for slash command text
to appear inline in skill body. Without it, agent treats input as
missing and prompts unnecessarily.
When rtk binary is in PATH, preToolUse hook blocks raw shell commands
and suggests rtk-prefixed alternative for 60-90% token savings.
No-op when rtk is not installed.
RTK hook is installed by default. Use --no-rtk to exclude it.
Removes hook file and its preToolUse entry from maister.json.
--full = --set-alias --set-default --with-rtk (all-in-one)
RTK is now opt-in (--with-rtk) instead of opt-out (--no-rtk).
File-based @prompts in Kiro CLI do not support arguments, causing
user text after @dev to be silently dropped. Replace all 25 prompt
files with user-invocable shortcut skills that properly resolve
$ARGUMENTS via Kiro's skill system.

- Add 25 shortcut skills in plugins/maister-kiro/skills/ (dev, work,
  quick-dev, quick-plan, quick-bugfix, research, design, migration,
  performance, init, grill-me, thermos, thermo-review, thermo-quality,
  reviews-*, standards-*, resume, status, next, bye)
- Remove platforms/kiro-cli/prompts/ and plugins/maister-kiro/prompts/
- Update build.sh step 20 (no longer copies prompts)
- Update tests to validate skills/ instead of prompts/
- Update platform README

Usage: /dev dodaj wsparcie dla windsurf (instead of @dev ...)
Previous commit added skills to plugins/maister-kiro/ directly, but
build.sh wipes output before regenerating. Move shortcut skill
generation into build.sh step 20 so they survive rebuild cycles.
…ement

- Add platforms/kilo-cli/ build and smoke-install scripts for Kilo variant generation
- Generate plugins/maister-kilo/ with Kilo-specific structure (.kilo/ instead of .maister/, AGENTS.md, kilo.json)
- Fix build.sh to replace AskUserQuestion in .sh and .json files, not just .md
- Fix malformed nested bolding/backticks in MANDATORY GATE markdown across core orchestrator skills
mateuszrapacz and others added 30 commits July 8, 2026 00:52
Check CURSOR_API_KEY inside the run step shell instead of step if expressions.

Co-authored-by: Cursor <cursoragent@cursor.com>
Use a fixed mateuszrapacz/maister repository URL in build.sh so generated plugin.json is identical locally and on CI. Grant contents:write to the Copilot rebuild workflow and skip push gracefully when the token cannot write.

Co-authored-by: Cursor <cursoragent@cursor.com>
Document resolved decisions, acceptance verification, and known limitations in orchestrator state and work-log.

Co-authored-by: Cursor <cursoragent@cursor.com>
…alidation

Emit valid Kiro agent JSON at build time, add subagent prompt path workaround,
plain-text hooks, stop-state reminder, stricter validate-kiro rules, and remove
blanket use_aws grants.

Co-authored-by: Cursor <cursoragent@cursor.com>
Restore aws on maister-explore and Tier-1 agents (implementer, test-runner,
reality/production checkers, e2e verifier, spec-auditor) to avoid random
tool-denial failures on AWS workflows without blanket use_aws on all subagents.

Co-authored-by: Cursor <cursoragent@cursor.com>
Extend validate-kiro with a hooks.stop assertion and negative tests for schema rules 29–32, plus smoke tests for fix_prompt_paths and Kiro hook output contracts.

Co-authored-by: Cursor <cursoragent@cursor.com>
- Add web_fetch, web_search, shell to information-gatherer and task-classifier
- Fix code-quality-pragmatist: replace write with shell (read-only agent)
- Fix .claude/AGENTS.md → .kiro/steering in docs-extractor-prompt (build order)
- Extract Available Skills/Commands/Subagents from steering to lazy-loaded
  catalog.md (steering 822→623 lines, saves ~8K tokens per session)
- Add post-compact reminder to maister.md agent instructions
Merge commands into skills at build time, relocate orchestrator-framework
and internal engines to lib/, enforce maister-* prefix, and add inventory
validation. Reduces palette from ~44 to 29 entries.

Co-authored-by: Cursor <cursoragent@cursor.com>
Give users a single navigable path to discover Wave 1–3 on-demand skills, when to invoke them manually vs orchestrators, and Bundle A–D chaining.

Co-authored-by: Cursor <cursoragent@cursor.com>
Rewrite grill-me as read-only stress-testing with convergence gates.
Add grill-with-docs for vocabulary/ADR maintenance during grilling.
Bump Kiro inventory to 69 skills, update build pipeline and user docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
Default installs for Cursor, Kiro, and Codex no longer bundle Playwright MCP; use explicit install flags when E2E workflows need it. Kiro profiles also rely on the CLI's default Terminal UI instead of shipping settings/cli.json.

Co-authored-by: Cursor <cursoragent@cursor.com>
Mirrors Cursor and Kiro install scripts: default install stays MCP-free, while --with-mcp-playwright patches the Codex plugin cache after marketplace install.

Co-authored-by: Cursor <cursoragent@cursor.com>
…nite loop at CHAT GATEs

The stop hook was using {"decision":"block"} which prevented the agent from
ending its turn during in-progress workflows. This caused an infinite loop when
the agent reached a CHAT GATE (waiting for user input): the hook blocked the
stop, the LLM responded "state correct", tried to stop again, got blocked
again — cycling every ~1s. User input via Enter was queued but never processed
until Escape interrupted the generation.

Changed to {"additional_context":...} (advisory mode, matching the Cursor
variant) so the LLM still sees the state reminder but the turn is allowed to
end naturally at CHAT GATEs.
Consolidate portable behavior into one common source with target overlays, add immutable provenance and transactional lifecycle management, remove legacy generated host trees and Claude support, and update tests, CI, release workflows, standards, and documentation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant