// Shipped starter pack "coding" (#1873 SP2). Design: starter-packs-design section 7. // Every definition is a whole V2 template pinned by its templateHash, so a template edit refuses // this pack (starter-pack-template-changed) until it is re-pinned. expected-lines.json beside this // file holds the lines each proposed hire carries against the chief; the shipped-pack test checks it. export const interfaceVersion = 1; export function starterPack() { return { packVersion: 1, id: "coding", version: "1.0.0", label: "Coding", description: "A small software team: a pm writes the task, a coder builds it, a reviewer reviews it, and you approve the merge.", scope: "org", definitions: { coder: { template: "coder", sha256: "8d2564179a6322983aff460302e96e735181bb0ed98d8439a0b04df66eb2dbf5" }, reviewer: { template: "reviewer", sha256: "07dd6d84bbc26acdfe7d62c545ee9373dd1faa0bc98c763eb52e616746a4be51" }, "security-reviewer": { template: "security-reviewer", sha256: "a17088a4e7b0ef6d310a023c9a83826d32719bfebfcff436260ed07ade3a588f" }, pm: { template: "pm", sha256: "d0dad787802fdced716b002edb2f7cc395e2ed2f3b5bac8711d7190b07699192" }, "merge-gate": { template: "merge-gate", sha256: "019667e8f15b6b58c349c4bad439658eae026fa4185828b7cc02da771f25f453" }, cto: { template: "cto", sha256: "df3777ee1eeddb1df6805b56e56d85cd0d45292493bf61115af912119b1111f6" }, }, hires: [ { name: "pm-1", definition: "pm", reason: "writes and assigns the tasks" }, { name: "coder-1", definition: "coder", reason: "implements each change" }, { name: "reviewer-1", definition: "reviewer", reason: "reviews each change before merge" }, ], board: { columns: [ { state: "todo", label: "Backlog" }, { state: "in-progress", label: "Building" }, { state: "in-review", label: "Review" }, { state: "blocked", label: "Blocked" }, { state: "done", label: "Merged" }, ], layout: "kanban", }, workflows: { change: { description: "One change from task to merge.", steps: [ { id: "plan", title: "Write the task", roles: ["pm"], state: "todo" }, { id: "build", title: "Implement the change", roles: ["coder"], state: "in-progress" }, { id: "review", title: "Review the change", roles: ["reviewer"], state: "in-review" }, { id: "merge", title: "Approve the merge", roles: ["human", "merge-gate"], state: "done" }, ], }, }, skills: ["ms-sdlc", "ms-unslop", "ms-file-read", "ms-file-write", "ms-goal", "ms-communications"], }; }