mirror of
https://github.com/garrytan/gstack.git
synced 2026-05-06 21:46:40 +02:00
1ed8f8b2b2
Add generateDesignSetup() and generateDesignMockup() to the existing design.ts resolver file. Add designDir to HostPaths (claude + codex). Register DESIGN_SETUP and DESIGN_MOCKUP in the resolver index. DESIGN_SETUP: $D binary discovery (mirrors $B browse setup pattern). Falls back to DESIGN_SKETCH if binary not available. DESIGN_MOCKUP: full visual exploration workflow template — construct brief from DESIGN.md context, generate 3 variants, open comparison board in Chrome, poll for user feedback, save approved mockup to docs/designs/, generate HTML wireframe for implementation. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
50 lines
2.7 KiB
TypeScript
50 lines
2.7 KiB
TypeScript
/**
|
|
* RESOLVERS record — maps {{PLACEHOLDER}} names to generator functions.
|
|
* Each resolver takes a TemplateContext and returns the replacement string.
|
|
*/
|
|
|
|
import type { TemplateContext } from './types';
|
|
|
|
// Domain modules
|
|
import { generatePreamble } from './preamble';
|
|
import { generateTestFailureTriage } from './preamble';
|
|
import { generateCommandReference, generateSnapshotFlags, generateBrowseSetup } from './browse';
|
|
import { generateDesignMethodology, generateDesignHardRules, generateDesignOutsideVoices, generateDesignReviewLite, generateDesignSketch, generateDesignSetup, generateDesignMockup } from './design';
|
|
import { generateTestBootstrap, generateTestCoverageAuditPlan, generateTestCoverageAuditShip, generateTestCoverageAuditReview } from './testing';
|
|
import { generateReviewDashboard, generatePlanFileReviewReport, generateSpecReviewLoop, generateBenefitsFrom, generateCodexSecondOpinion, generateAdversarialStep, generateCodexPlanReview, generatePlanCompletionAuditShip, generatePlanCompletionAuditReview, generatePlanVerificationExec } from './review';
|
|
import { generateSlugEval, generateSlugSetup, generateBaseBranchDetect, generateDeployBootstrap, generateQAMethodology } from './utility';
|
|
|
|
export const RESOLVERS: Record<string, (ctx: TemplateContext) => string> = {
|
|
SLUG_EVAL: generateSlugEval,
|
|
SLUG_SETUP: generateSlugSetup,
|
|
COMMAND_REFERENCE: generateCommandReference,
|
|
SNAPSHOT_FLAGS: generateSnapshotFlags,
|
|
PREAMBLE: generatePreamble,
|
|
BROWSE_SETUP: generateBrowseSetup,
|
|
BASE_BRANCH_DETECT: generateBaseBranchDetect,
|
|
QA_METHODOLOGY: generateQAMethodology,
|
|
DESIGN_METHODOLOGY: generateDesignMethodology,
|
|
DESIGN_HARD_RULES: generateDesignHardRules,
|
|
DESIGN_OUTSIDE_VOICES: generateDesignOutsideVoices,
|
|
DESIGN_REVIEW_LITE: generateDesignReviewLite,
|
|
REVIEW_DASHBOARD: generateReviewDashboard,
|
|
PLAN_FILE_REVIEW_REPORT: generatePlanFileReviewReport,
|
|
TEST_BOOTSTRAP: generateTestBootstrap,
|
|
TEST_COVERAGE_AUDIT_PLAN: generateTestCoverageAuditPlan,
|
|
TEST_COVERAGE_AUDIT_SHIP: generateTestCoverageAuditShip,
|
|
TEST_COVERAGE_AUDIT_REVIEW: generateTestCoverageAuditReview,
|
|
TEST_FAILURE_TRIAGE: generateTestFailureTriage,
|
|
SPEC_REVIEW_LOOP: generateSpecReviewLoop,
|
|
DESIGN_SKETCH: generateDesignSketch,
|
|
DESIGN_SETUP: generateDesignSetup,
|
|
DESIGN_MOCKUP: generateDesignMockup,
|
|
BENEFITS_FROM: generateBenefitsFrom,
|
|
CODEX_SECOND_OPINION: generateCodexSecondOpinion,
|
|
ADVERSARIAL_STEP: generateAdversarialStep,
|
|
DEPLOY_BOOTSTRAP: generateDeployBootstrap,
|
|
CODEX_PLAN_REVIEW: generateCodexPlanReview,
|
|
PLAN_COMPLETION_AUDIT_SHIP: generatePlanCompletionAuditShip,
|
|
PLAN_COMPLETION_AUDIT_REVIEW: generatePlanCompletionAuditReview,
|
|
PLAN_VERIFICATION_EXEC: generatePlanVerificationExec,
|
|
};
|