Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
c726313
Add Cursor Agent variant (maister-cursor) with CLI-first build pipeline.
mateuszrapacz Jun 6, 2026
f5beb76
Document Cursor Agent E2E verification results.
mateuszrapacz Jun 6, 2026
1707a26
Bump version to 2.1.8.
mateuszrapacz Jun 6, 2026
75f67d5
Add symlink option to maister-cursor local install.
mateuszrapacz Jun 6, 2026
dfc5f55
Remove internal Cursor Agent planning docs.
mateuszrapacz Jun 6, 2026
1f627fc
Fix Cursor IDE plugin discovery and simplify local install.
mateuszrapacz Jun 6, 2026
023c7db
Restore Cursor Agent planning and analysis docs.
mateuszrapacz Jun 6, 2026
729acce
Add Kiro CLI platform support for Maister workflows.
mateuszrapacz Jun 7, 2026
4cfa9ad
Install maister-kiro shell aliases during Kiro smoke-install.
mateuszrapacz Jun 8, 2026
56a9528
Document Kiro @prompts to slash-skill mapping in user guide.
mateuszrapacz Jun 8, 2026
b08af9c
Adapt Maister Kiro plugin for Terminal UI instead of classic todo flow.
mateuszrapacz Jun 8, 2026
1204ea1
Add grill-me and thermos review skills from Cursor plugins.
mateuszrapacz Jun 8, 2026
bd5f18f
Rename Kiro @plan prompt to @quick-plan to avoid /plan collision.
mateuszrapacz Jun 8, 2026
fabe8cf
Add full Kiro @prompt set and fix thermos subagent build transform.
mateuszrapacz Jun 8, 2026
8580682
Rebuild Cursor thermos skill after subagent syntax source fix.
mateuszrapacz Jun 8, 2026
c900a3c
fix(kiro): use absolute paths for hooks/skills, remove resources from…
mateuszrapacz Jun 8, 2026
9866695
fix(kiro): wildcard tools, lazy skill resources, allowedTools, includ…
mateuszrapacz Jun 8, 2026
ec4ecc5
fix(kiro-cli): align agent config with Kiro CLI docs
mateuszrapacz Jun 8, 2026
3f8de99
fix(init): consolidate Phase 3 context questions into single smart-de…
mateuszrapacz Jun 8, 2026
b2fe02a
fix(init): use numbered list for Phase 3 context gate
mateuszrapacz Jun 8, 2026
f1a1067
fix(work): add $ARGUMENTS placeholder so /work <text> passes argument…
mateuszrapacz Jun 8, 2026
ee8e45d
fix(kiro): inject $ARGUMENTS into /work skill for Kiro CLI argument p…
mateuszrapacz Jun 8, 2026
d523395
fix(kiro): inject $ARGUMENTS into all 20 user-facing skills
mateuszrapacz Jun 8, 2026
865143f
feat(kiro): add RTK hook for token-optimized shell commands
mateuszrapacz Jun 8, 2026
e0a3b9d
feat(kiro): add --no-rtk flag to smoke-install.sh
mateuszrapacz Jun 8, 2026
8979b48
feat(kiro): replace --no-rtk with --with-rtk, add --full flag
mateuszrapacz Jun 8, 2026
bda6d95
fix(rtk): handle exit code 3 (ask/rewrite available) from rtk rewrite
mateuszrapacz Jun 8, 2026
3a49581
feat(kiro): replace @prompts with /slash shortcut skills
mateuszrapacz Jun 9, 2026
03f9dab
fix(kiro): generate shortcut skills in build.sh step 20
mateuszrapacz Jun 9, 2026
b63dee6
feat(kilo): add Kilo CLI support and fix build script markdown replac…
mateuszrapacz Jun 10, 2026
ab14051
fix(kiro): add project-level .kiro/skills/ to agent resources
mateuszrapacz Jun 12, 2026
607ed5b
Port Wave 1 AJ skills with quick-* commands and build integration (v2…
mateuszrapacz Jun 13, 2026
ea5ab29
chore: regenerate copilot/cursor variants after build-script fix
mateuszrapacz Jun 13, 2026
d3e8298
Complete Wave 1 AJ skills adoption verification (E1).
mateuszrapacz Jun 14, 2026
2af3a99
Integrate upstream v2.1.8 quick-* refactor and Maister rebrand (2.1.8…
mateuszrapacz Jun 14, 2026
a50497e
Fix Cursor quick-plan skill corruption after upstream sync
mateuszrapacz Jun 14, 2026
b1c48a6
fix(kiro): remove redundant skill resource path from maister agent
mateuszrapacz Jun 15, 2026
b43d290
feat(kiro): add use_aws tool to all subagents, inherit default model
mateuszrapacz Jun 15, 2026
98d6795
feat(kiro): add use_aws tool to all subagents, inherit default model
mateuszrapacz Jun 15, 2026
84f3123
fix(kilo): repair docs-operator permissions and subagent references
mateuszrapacz Jun 15, 2026
9deb86a
feat(kiro): add use_aws to all subagents via build sources, project-a…
mateuszrapacz Jun 15, 2026
a0cd1c3
chore(kiro): rebuild skills (chat-gate transforms)
mateuszrapacz Jun 15, 2026
79e3fe4
Adopt AJ Wave 2 skills with init-bundle standard and verification fixes
mateuszrapacz Jun 15, 2026
53a0b4a
Bump version to 2.1.8-fork.2 for Wave 2 AJ skills release
mateuszrapacz Jun 15, 2026
a668479
Add explicit invocation guard to transcript-critic for Wave 1 parity.
mateuszrapacz Jun 15, 2026
8ae0cd3
Sync generated platform variants from make build.
mateuszrapacz Jun 15, 2026
e8e25a0
Use maister-explore subagent on Cursor to inherit parent model.
mateuszrapacz Jun 16, 2026
38fe19f
Add Wave 3 DDD modeling skills and sync platform variants.
mateuszrapacz Jun 16, 2026
b799a69
Add .maister directory to version control
mateuszrapacz Jun 16, 2026
6313091
feat(skills): remove example archetype mappers (accounting + pricing)
mateuszrapacz Jun 16, 2026
c790e51
Mark sync with upstream/master at v2.1.8 (content already integrated …
mateuszrapacz Jun 16, 2026
ad7c02c
fix(kilo): platform consistency — docs, smoke test, orphan cleanup, i…
mateuszrapacz Jun 16, 2026
9f78d52
feat(kiro): add shell and write tools to maister-explore agent
mateuszrapacz Jun 17, 2026
fcf9b79
Merge upstream v2.2.1 (operator visibility layer) as 2.2.1-fork.1
mateuszrapacz Jul 7, 2026
7118c82
fix(kiro): align RTK hook with 0.43 rewrite protocol
mateuszrapacz Jul 7, 2026
f43290e
docs(kiro): replace @prompts with slash shortcut skills
mateuszrapacz Jul 7, 2026
adbbfa8
Fix Cursor platform gaps from review plan (hooks, readonly, CI, rules).
mateuszrapacz Jul 7, 2026
492b67e
Fix cursor-cli-smoke workflow: secrets unavailable in if conditions.
mateuszrapacz Jul 7, 2026
56607a0
Pin Cursor plugin manifest to fork repo URL and harden Copilot CI.
mateuszrapacz Jul 7, 2026
f6e193f
Close Cursor platform review task and mark plan checklist complete.
mateuszrapacz Jul 7, 2026
ce5afbf
fix(kiro): apply platform review fixes for agent config, hooks, and v…
mateuszrapacz Jul 8, 2026
71e5b4d
feat(kiro): grant aws tool to cloud-facing subagents selectively
mateuszrapacz Jul 8, 2026
95dc01d
test(kiro): add validate rule 32 and automated hook/prompt-path coverage
mateuszrapacz Jul 8, 2026
782e83e
feat(kiro): add MCP Playwright opt-in and --v3 to mk alias
mateuszrapacz Jul 8, 2026
d369ebd
fix(kiro): update mk alias to use --agent maister instead of --v3
mateuszrapacz Jul 8, 2026
437b206
chore: add remove-archetype-mappers task artifacts
mateuszrapacz Jul 8, 2026
4ed9304
kiro: fix agent tools, path leak, extract catalog from steering
mateuszrapacz Jul 8, 2026
111c62f
Consolidate Cursor slash palette to maister-* skills-only.
mateuszrapacz Jul 8, 2026
965fc95
Add on-demand skills user documentation hub and guide.
mateuszrapacz Jul 9, 2026
37887b8
Strengthen grill skills with explicit-only modes and grill-with-docs.
mateuszrapacz Jul 10, 2026
3e0386d
feat: add native Codex plugin support
mateuszrapacz Jul 10, 2026
c115706
chore: remove Matt Pocock skills setup
mateuszrapacz Jul 10, 2026
ec5a5dd
chore: commit remaining task artifacts
mateuszrapacz Jul 10, 2026
661ea1a
feat: add session utility skills to Codex and Cursor
mateuszrapacz Jul 11, 2026
b62ff03
Make Playwright MCP opt-in and stop forcing Kiro chat.ui=tui.
mateuszrapacz Jul 11, 2026
bcc242e
Add Codex smoke-install.sh with opt-in Playwright MCP.
mateuszrapacz Jul 11, 2026
39ea15e
fix: add executable fully automatic gate continuation
mateuszrapacz Jul 11, 2026
976a29f
fix: align continuation runner with node stack
mateuszrapacz Jul 11, 2026
9b3ea4e
feat(runner): harden phase-continue JSON and state contract
mateuszrapacz Jul 12, 2026
e55da23
chore: remove archived Maister task leftovers
mateuszrapacz Jul 12, 2026
f619624
Remove Kilo and Copilot platform support
mateuszrapacz Jul 12, 2026
e83f3a3
feat(init): add strict cross-platform Advisor configuration
mateuszrapacz Jul 13, 2026
9259f81
chore(init): reinitialize Maister project documentation
mateuszrapacz Jul 13, 2026
c35a8c5
fix(codex): enable durable fully automatic workflow continuation
mateuszrapacz Jul 13, 2026
382a3a3
fix(kiro): change stop hook from blocking to advisory to prevent infi…
mateuszrapacz Jul 14, 2026
8034fb4
remove obsolete command optimization integration
mateuszrapacz Jul 14, 2026
d782755
feat(distribution): add platform-independent Maister installer
mateuszrapacz Jul 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
24 changes: 0 additions & 24 deletions .claude-plugin/marketplace.json

This file was deleted.

18 changes: 18 additions & 0 deletions .codex/agents/advisor.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name = "advisor"
description = "Read-only Maister gate advisor. Returns a structured recommendation and never edits project files."
model = "gpt-5.6-sol"
model_reasoning_effort = "medium"
sandbox_mode = "read-only"
developer_instructions = """
Analyze one Maister orchestrator gate at a time. Return only valid YAML with
selected_option, rationale, confidence, and escalate_to_user. Never edit files,
write orchestrator-state.yml or reports, invoke user-question tools, inject a
synthetic user answer, or bypass the hard safety denylist. The Codex host
adapter invokes this agent only for the primary recommendation; disagreements
are delegated to the separate read-only arbiter profile.
The user gate is a plain-text user question; state writes and resume reads use
orchestrator-state.yml. For a valid non-denylisted fully_automatic result, the
orchestrator continues through phase_continue(selected_option) after terminal
state and report persistence; it does not synthesize input into a user prompt.
The denylist and implementation-approval gate always remain manual.
"""
14 changes: 14 additions & 0 deletions .codex/agents/arbiter.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name = "arbiter"
description = "Read-only Maister gate arbiter. Resolves one disagreement between recommendations and never edits project files."
model = "gpt-5.6-sol"
model_reasoning_effort = "high"
sandbox_mode = "read-only"
developer_instructions = """
Arbitrate one Maister orchestrator gate disagreement at a time. Return only
valid YAML with selected_option, rationale, confidence, and escalate_to_user.
Choose exactly one of the two supplied competing recommendations or escalate
to the user. Never invent a third option, edit files, write orchestrator-state.yml
or reports, invoke user-question tools, inject a synthetic user answer, bypass
the hard safety denylist, or start another Advisor/Arbiter loop. The denylist
and implementation-approval gate always remain manual.
"""
10 changes: 10 additions & 0 deletions .cursor/rules/maister-docs.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
description: Read Maister project documentation before coding
alwaysApply: true
---

# Maister Documentation

Before starting any task, read `.maister/docs/INDEX.md` first. It indexes coding standards, project vision, tech stack, and architecture decisions.

Follow standards in `.maister/docs/standards/` when writing code. If standards conflict with the task, ask the user.
25 changes: 0 additions & 25 deletions .github/workflows/build-copilot.yml

This file was deleted.

47 changes: 47 additions & 0 deletions .github/workflows/cursor-cli-smoke.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Cursor CLI Evidence (provisional)

on:
schedule:
- cron: "0 6 * * 1"
workflow_dispatch:

concurrency:
group: cursor-cli-evidence
cancel-in-progress: true

jobs:
evidence:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 22
- name: Validate Cursor overlay
run: make test-overlay TARGET=cursor
- name: Probe preinstalled Cursor Agent CLI
run: |
set -euo pipefail
export PATH="$HOME/.cursor/bin:$HOME/.local/bin:$PATH"
node --input-type=module <<'EOF' | tee cursor-evidence.json
import { probeCursor } from './plugins/maister/lib/distribution/host-probes/cursor.mjs';
const result = probeCursor();
process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
EOF
if grep -q '"result": "unavailable"' cursor-evidence.json; then
echo "::notice title=Cursor evidence unavailable::No preinstalled Cursor Agent CLI was found; this run is packaging/provisional evidence only."
else
echo "::notice title=Cursor evidence collected::Native evidence was collected from the preinstalled runtime; review the artifact before making a support claim."
fi
- name: Validate evidence contract
run: make test-evidence
- name: Upload Cursor evidence record
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: cursor-cli-evidence-${{ github.run_id }}
path: cursor-evidence.json
if-no-files-found: warn
69 changes: 62 additions & 7 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,72 @@
name: Release

on:
push:
tags: ['v*']
tags: ["v*"]

jobs:
release:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Build and validate
run: make build && make validate
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 22
- name: Validate source, overlays, evidence, and topology
run: make validate
- name: Run reviewed three-target parity release gate
run: |
mkdir -p dist
make test-parity-release PARITY_REPORT=dist/parity-release.json
- name: Run portable core tests before generating E3
run: make test-core
- name: Generate deterministic portable-core E3 attestation
run: |
make generate-e3-attestation \
E3_OUTPUT=dist/e3-portable-core.json \
E3_RESULT=passed \
E3_TEST_COMMAND="make test-core" \
SOURCE_COMMIT="$GITHUB_SHA" \
SOURCE_VERSION="${GITHUB_REF_NAME#v}" \
SOURCE_DATE_EPOCH="$(git log -1 --format=%ct)"
- name: Package target overlays
run: |
SOURCE_DATE_EPOCH="$(git log -1 --format=%ct)" E3_ATTESTATION=dist/e3-portable-core.json make package TARGET=codex SOURCE_COMMIT="$GITHUB_SHA" SOURCE_VERSION="${GITHUB_REF_NAME#v}"
SOURCE_DATE_EPOCH="$(git log -1 --format=%ct)" E3_ATTESTATION=dist/e3-portable-core.json make package TARGET=cursor SOURCE_COMMIT="$GITHUB_SHA" SOURCE_VERSION="${GITHUB_REF_NAME#v}"
SOURCE_DATE_EPOCH="$(git log -1 --format=%ct)" E3_ATTESTATION=dist/e3-portable-core.json make package TARGET=kiro-cli SOURCE_COMMIT="$GITHUB_SHA" SOURCE_VERSION="${GITHUB_REF_NAME#v}"
- name: Smoke extracted target archives
env:
MAISTER_PACKAGE_DIR: dist
run: node --test tests/platform-independent/release-package.test.mjs
- name: Generate package checksums
run: (cd dist && sha256sum maister-*.tar.gz > SHA256SUMS)
- name: Generate release provenance and SBOM metadata
run: |
node plugins/maister/bin/release-metadata.mjs \
--archive-dir dist \
--output-dir dist \
--source-commit "$GITHUB_SHA" \
--source-version "${GITHUB_REF_NAME#v}" \
--parity-report dist/parity-release.json \
--source-date-epoch "$(git log -1 --format=%ct)"
- name: Verify release metadata
run: node plugins/maister/bin/release-metadata.mjs --archive-dir dist --output-dir dist --check
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: maister-target-packages
path: dist/*

- uses: softprops/action-gh-release@v2
publish:
needs: validate
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
name: maister-target-packages
path: dist
- uses: softprops/action-gh-release@72f2c25fcb47643c292f7107632f7a47c1df5cd8 # v2.3.2
with:
generate_release_notes: true
files: dist/*
39 changes: 39 additions & 0 deletions .github/workflows/validate-generated-variants.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Validate Portable Distribution

on:
push:
branches: [master]
paths:
- "plugins/maister/**"
- "tests/platform-independent/**"
- "Makefile"
- ".github/workflows/**"
pull_request:
branches: [master]
paths:
- "plugins/maister/**"
- "tests/platform-independent/**"
- "Makefile"
- ".github/workflows/**"

jobs:
core:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 22
- name: Validate all overlays
run: |
make test-overlay TARGET=codex
make test-overlay TARGET=cursor
make test-overlay TARGET=kiro-cli
- name: Run portable and distribution tests
run: make test-core test-evidence
- name: Verify repository topology
run: make test-topology
- name: Run reviewed three-target parity release gate
run: make test-parity-release
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
# Claude local settings
.claude/settings.local.json

# Maister task tracking (generated per-project, not part of plugin source)
.maister/

/.worktrees/
/.maister-kiro-build.lock.d/
28 changes: 28 additions & 0 deletions .maister/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Maister project configuration.
# html_output — generate the operator dashboard (dashboard.html + dashboard-data.js,
# auto-opened in your browser) and the HTML companion reports (.html twins of spec,
# implementation plan, verification, and research/design outputs). Set to false for
# markdown-only runs. Markdown artifacts, their TL;DR summary blocks, and
# orchestrator-state.yml are produced regardless. Default: true.
html_output: true

# Advisor gate policy is opt-in. Gate types accept manual, advisor, or
# fully_automatic. The hard safety denylist in orchestrator-patterns.md cannot
# be overridden by this configuration.
advisor:
enabled: true
gate_policies:
phase-exit: fully_automatic
optional-phase: fully_automatic
clarify: fully_automatic
convergence: fully_automatic
verify-matrix: fully_automatic
advisor_agent: advisor
advisor_model: gpt-5.6-sol
arbiter_agent: arbiter
arbiter_model: gpt-5.6-sol
arbiter_enabled_on_disagreement: true
retry:
advisor_attempts: 3
arbiter_attempts: 3
backoff: exponential
Loading