Skip to content

Fix repo structure to match what's expected for marketplace - #2

Merged
jodavis merged 2 commits into
mainfrom
dev/jodavis/ADR-265-plugin-portability
Jun 3, 2026
Merged

Fix repo structure to match what's expected for marketplace#2
jodavis merged 2 commits into
mainfrom
dev/jodavis/ADR-265-plugin-portability

Conversation

@jodavis

@jodavis jodavis commented Jun 3, 2026

Copy link
Copy Markdown
Owner

No description provided.

@jodavis
jodavis requested a review from Copilot June 3, 2026 06:24
@jodavis
jodavis merged commit 5bae8a7 into main Jun 3, 2026
1 check passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR restructures the repository into a Claude Code marketplace package layout for the dev-team plugin, including plugin manifests, command/agent content, and the dev-team pipeline orchestrator.

Changes:

  • Added marketplace packaging metadata (.claude-plugin/marketplace.json) and enabled the plugin via .claude/settings.json.
  • Added the dev-team plugin contents under plugins/dev-team/ (agents, commands, scripts, and workflow plans).
  • Added validation wrapper scripts (validate*) and the Python orchestrator (scripts/dev_team.py) to drive the multi-agent pipeline.

Reviewed changes

Copilot reviewed 3 out of 31 changed files in this pull request and generated no comments.

Show a summary per file
File Description
plugins/dev-team/scripts/validate.sh Unix wrapper to run build + test validation scripts.
plugins/dev-team/scripts/validate.cmd Windows wrapper to run build + test validation scripts.
plugins/dev-team/scripts/validate-tests.sh Stub tests validation script (shell).
plugins/dev-team/scripts/validate-tests.cmd Stub tests validation script (cmd).
plugins/dev-team/scripts/validate-build.sh Stub build validation script (shell).
plugins/dev-team/scripts/validate-build.cmd Stub build validation script (cmd).
plugins/dev-team/scripts/implement-task-plan.md Mermaid workflow for “implement task” pipeline.
plugins/dev-team/scripts/fix-issue-plan.md Mermaid workflow for “fix issue” pipeline.
plugins/dev-team/scripts/dev_team.py New pipeline orchestrator (workflow parsing, state machine, agent invocation, validation, review/signoff loop).
plugins/dev-team/commands/spec.md New command skill for drafting _spec_*.md specs iteratively.
plugins/dev-team/commands/reviewer-sign-off.md New reviewer sign-off skill instructions.
plugins/dev-team/commands/reviewer-review.md New first-pass review skill instructions.
plugins/dev-team/commands/reviewer-pr-review.md New skill to respond to human reviewer comments and propose CONTRIBUTING updates.
plugins/dev-team/commands/researcher-validate.md New researcher validation skill (exit-criteria validation).
plugins/dev-team/commands/researcher-spec-review.md New researcher spec readiness review skill.
plugins/dev-team/commands/researcher-plan.md New researcher planning skill (spec-driven task brief).
plugins/dev-team/commands/researcher-issue.md New researcher issue-based brief skill (with optional debug report).
plugins/dev-team/commands/developer-implement.md New developer implementation skill (TDD-first) instructions.
plugins/dev-team/commands/developer-fix.md New developer fix-loop skill instructions.
plugins/dev-team/commands/developer-create-pr.md New developer PR creation skill instructions.
plugins/dev-team/commands/dev-team.md New entry-point command for selecting pipeline and launching orchestrator.
plugins/dev-team/commands/debugger-investigate.md New debugger skill for issue reproduction + root cause reporting.
plugins/dev-team/commands/create-branch.md New shared branch creation skill instructions.
plugins/dev-team/commands/add-to-spec.md New command to append requirements/tasks to an existing spec iteratively.
plugins/dev-team/agents/reviewer.md New reviewer agent definition.
plugins/dev-team/agents/researcher.md New researcher agent definition.
plugins/dev-team/agents/developer.md New developer agent definition.
plugins/dev-team/agents/debugger.md New debugger agent definition.
plugins/dev-team/.claude-plugin/plugin.json Updated plugin manifest content (commands only).
.claude/settings.json Enables the dev-team plugin by name/version reference.
.claude-plugin/marketplace.json Marketplace package manifest describing included plugin(s).
Comments suppressed due to low confidence (1)

plugins/dev-team/.claude-plugin/plugin.json:6

  • The plugin manifest no longer declares an agents directory, but the orchestrator loads agent definitions from <plugin-root>/agents/<name>.md. If the plugin packaging/validation only includes declared directories, this would make the pipeline fail at runtime with Agent definition not found errors.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jodavis
jodavis deleted the dev/jodavis/ADR-265-plugin-portability branch June 3, 2026 18:46
jodavis-claude pushed a commit that referenced this pull request Jul 6, 2026
… agent+turn-skill split

Follow-up to commit 2b38859, per explicit user decision to fold the
sign-off reviewer's Priority 4 recommendation into this same PR rather
than deferring it: _spec_TddForImplementation.md still described the old
once-at-the-end tdd-refactorer cadence and the "second, separate commit"
rule that no longer applies, and described tdd-tester/tdd-implementer as
monolithic agent files (predating ADR-301's merged agent+turn-skill split)
and tdd-refactorer.md as single self-contained file (predating this PR's
own tdd-refactor-turn split).

- "TDD ping-pong protocol" section: tdd-refactorer's role description, "The
  loop"'s numbered steps, the resolve_directly escalation text, the
  "Refactor, after done" subsection (renamed "Refactor, interleaved after
  every green"), and the "Commits" section all now describe a tdd-refactorer
  turn after every real green (never after structural-green), staged
  mid-loop like every other turn, with a single real commit per component
  rather than a second separate one.
- "Key Classes / Files": tdd-tester.md/tdd-implementer.md/tdd-refactorer.md
  bullets rewritten to describe the actual thin-agent + turn-mechanics-skill
  split (tdd-red-turn / tdd-green-turn / tdd-refactor-turn), matching what's
  merged on disk instead of describing the protocol as embedded directly in
  the agent files. implement-tdd/SKILL.md bullet updated to describe
  spawning the trio together and a single commit.
- Data Flow diagram updated to match (trio spawned together, refactor turn
  after every real green, single commit-changes).
- ADR-302's own Tasks-section entry (title, description, and exit criterion
  #2) reworded to match the interleaved behavior instead of "one turn after
  a component reaches done".

No code changes in this commit — spec/documentation only.
jodavis pushed a commit that referenced this pull request Jul 21, 2026
…lver (#70)

* ADR-308: implement Task readiness checker via TDD (dependency_status covers no-context-file (not_started), state=done, state=failed, pr_url-implies-ready with non-terminal state, and the in_progress fallback; is_task_eligible covers empty dependency_ids, single-dependency ready/in_progress/not_started, all-done (2+), all-but-one-done with ready-branch substitution, 2+ short of done (waiting), and a failed dependency short-circuiting to blocked — all 13 tests green, every branch of both functions exercised)

* ADR-308: extend ensure-working-branch with dependency-aware base-branch resolution and worktree-freshness check

- ensure-working-branch gains a new first action (before all other steps): the worktree-freshness
  hard-stop check (git stash list / git status --short both must be empty), guarding against the
  confirmed upstream isolation:"worktree" collision bug.
- New sub-step 4b (after the existing spec-file lookup) reads this task's own Depends on: entries
  via task_dependencies.py and calls task_readiness.py's is_task_eligible via a new CLI wrapper;
  uses the returned base_branch when eligible with a real branch, falls through to the unchanged
  feature-branch lookup when eligible with no override or no dependencies, and hard-stops with a
  clear error for waiting/blocked (resolving the brief's ambiguity #2 conservatively: never
  silently start a working branch without its actual dependency).
- Adds task_readiness.py's missing main() CLI wrapper (JSON on stdout, Error: ... on stderr) so
  the prose skill can invoke it via Bash, plus one narrow integration test for the primary
  happy-path CLI scenario.
- All existing steps renumbered (3a-3e -> 4a,4c-4f) with only additive content otherwise.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TzenM31PAQmpj6ERNZjpTY

* ADR-308: add missing python prefix to task_dependencies.py invocation in ensure-working-branch/SKILL.md 4b.1

Sub-step 4b.1 invoked task_dependencies.py as a bare path via Bash; since the
script is not chmod +x, this fails with Permission denied (exit 126). Adding
the python interpreter prefix, matching every other SKILL.md's invocation
convention, fixes this (verified: python3 <path> succeeds against a
non-executable file). Addresses PR #70 review thread 3590232708.

* ADR-308: add missing python prefix to task_readiness.py invocation in ensure-working-branch/SKILL.md 4b.3

Sub-step 4b.3 invoked task_readiness.py as a bare path via Bash; since the
script is not chmod +x, this fails with Permission denied (exit 126). Adding
the python interpreter prefix, matching every other SKILL.md's invocation
convention, fixes this (verified: python3 <path> succeeds against a
non-executable file, printing the expected JSON). Addresses PR #70 review
thread 3590232714.

* ADR-308: document non-zero-exit error path for 4b's script invocations

Sub-step 4b.1/4b.3 described only the success path (JSON on stdout) and never
said what to do if task_dependencies.py or task_readiness.py exits non-zero
(both print a clear 'Error: ...' message to stderr on failure, per their
main() implementations). Added the 'surface the error and stop' instruction
to both sub-steps, matching the existing convention elsewhere in the repo.
Addresses PR #70 review thread 3590232713.

* ADR-308: extract _dependency_status_and_context() to dedupe is_task_eligible's repeated dependency lookup

is_task_eligible's single-still-open-dependency branch re-derived get_repo_slug()
and reloaded the winning dependency's context file that dependency_status()
(via the new shared helper) had already loaded moments earlier in the same
call. Extracted _dependency_status_and_context() so the PipelineContext is
loaded once per dependency and reused for the working_branch lookup;
dependency_status() now delegates to it and discards the context. No public
signature or behavior changed — this is a pure extract-method refactor.

Verification note: the existing 14 tests in test_task_readiness.py were
manually traced case-by-case against this refactor (all return the same
tuples for the same inputs); an automated pytest run could not be completed
in this session due to a Bash-tool-classifier outage that also blocked
'python3 -c ...'/'python3 -m ...' invocations throughout this session (git/gh
commands were unaffected). This should be re-run before merge to confirm.
Addresses PR #70 review thread 3590232718 (P4/non-blocking).

---------

Co-authored-by: Claude on behlaf of jodavis <ElwoodMoves@hotmail.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
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.

3 participants