@yumat_512/wingman
v2.1.0
Published
Decision-driven issue-based AI development assistant
Downloads
895
Readme
wingman
README: English | 日本語
wingman is a CLI package for decision-driven, issue-based AI development with local agents.
The package helps engineers use AI for implementation support without giving up the human parts of engineering: specification, decision-making, and review.
Current roles:
mentorcoder
Current runtime:
codex
Install
npm install -g @yumat_512/wingmanor:
npx @yumat_512/wingman mentorUsage
Start with Mentor:
wingman mentor
wingman mentor --newMentor helps turn a feature idea into a GitHub Issue-ready specification with explicit decisions. When used without an issue number, Wingman manages a pre-issue mentor spec artifact and reuses its saved Codex session when available.
Create a GitHub Issue from the reviewed spec file:
wingman issue create --file ./issue-spec.md
wingman issue create --file ./wingman-notes/mentor/spec-01.md
wingman issue create --title "Add login validation" --file ./issue-spec.md
wingman issue create --file ./issue-spec.md --yesThen run Coder against an issue:
wingman coder --issue 123Short issue syntax:
wingman coder 123Generation-only mode:
wingman mentor --no-launch
wingman coder --issue 123 --no-launchPass Codex options after --:
wingman coder --issue 123 -- --model gpt-5Issue comment workflow:
wingman coder 123
wingman coder 123 --new
wingman coder 123 --post
wingman mentor 123
wingman mentor 123 --new
wingman mentor 123 --post
wingman mentor 123 --post --file ./wingman-notes/mentor/issue-123-comment-02.md
wingman artifact create --role mentor --issue 123
wingman artifact create --role coder --issue 123 --newIssue Spec
Wingman treats GitHub Issues as implementation specifications.
Expected sections:
BackgroundGoalNon-GoalDecision LogAcceptance CriteriaReview PointsOpen Questions
coder --issue loads the issue and issue comments with gh issue view and includes them in the generated instruction.
issue create uses gh issue create. If --title is omitted, Wingman uses the first top-level # Title heading in the markdown file.
Issue creation is blocked when Open Questions contains unresolved items.
Before creating the issue, Wingman shows the target repository and asks for confirmation. Use --yes to skip the prompt.
Issue comment posting uses local markdown note files with YAML frontmatter. Wingman manages these files through .wingman/artifacts.json.
wingman mentorselects the current pre-issue mentor spec artifact.wingman mentor --newcreates the next pre-issue mentor spec artifact and marks it current.wingman <role> <issue>selects the current managed artifact for that issue and role.wingman <role> <issue> --newcreates the next managed artifact file and marks it current.wingman <role> <issue> --postposts the current artifact by default.--fileoverrides the current artifact and posts an explicit markdown file.
Managed artifact naming:
- mentor pre-issue spec:
wingman-notes/mentor/spec-<sequence>.md - mentor:
wingman-notes/mentor/issue-<issue>-comment-<sequence>.md - coder:
wingman-notes/coder/issue-<issue>-note-<sequence>.md
Manifest behavior:
.wingman/artifacts.jsontracks pre-issue mentor specs, issue artifacts, and saved Codex session ids.currentmeans "the default artifact to continue editing or posting next".issue createparses the created issue URL, extracts the issue number, and binds it back to a managed mentor spec artifact when the body file matches.- When a saved Codex session id exists, Wingman prefers
codex resume <sessionId>. wingman mentor <issue>falls back to the bound pre-issue mentor session when the issue comment artifact has no saved session yet.<role> <issue>reusescurrentwhen it exists.<role> <issue> --newcreates the next sequence file and switchescurrentto it.artifact createperforms the same selection or creation logic without launching the runtime.
Behavior
- Prompt composition order is fixed:
core -> role -> templates -> issue context. - Generated instruction files are written to
.wingman/generated/by default. - Runtime launch is enabled by default. Use
--no-launchfor generation-only mode. mentoruses the issue spec template and asks for user decisions before finalizing a spec.issue createcreates a GitHub Issue only when the user explicitly runs the command.issue createshows the target repository and asks for confirmation before writing to GitHub.issue createstops before GitHub access whenOpen Questionsis not empty.wingmantracks managed artifacts in.wingman/artifacts.json.wingman mentorreuses the current pre-issue spec artifact by default andwingman mentor --newadvances to the next spec artifact.<role> <issue>reuses the current artifact by default.<role> <issue> --newcreates the next artifact file and switches current to it.issue createbinds a managed mentor spec artifact back to the created issue number when possible.- Wingman stores Codex session ids in the manifest and resumes them when the matching artifact is launched again.
coder <issue> --postandmentor <issue> --postpost a matching local note file as a GitHub Issue comment.--filecan be used with--postto select an exact note file when multiple candidates exist.artifact createcan be used to prepare or advance managed artifacts without launching the runtime, including pre-issue mentor specs.coderchecks issue readiness before implementation and stops when required information is missing.teacheris intentionally not included.
Development
npm install
npm run typecheck
npm run buildRun built CLI:
node dist/cli/index.js mentorRepository Structure
src/ # TypeScript source
wingman-prompts/ # Wingman prompt assets
dist/ # Build output