ganbatte-os 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/AGENTS.md +46 -0
  2. package/CLAUDE.md +31 -0
  3. package/GEMINI.md +17 -0
  4. package/LICENSE +21 -0
  5. package/README.md +141 -0
  6. package/agents/profiles/architect.md +13 -0
  7. package/agents/profiles/dev.md +13 -0
  8. package/agents/profiles/devops.md +12 -0
  9. package/agents/profiles/ganbatte-os-master.md +444 -0
  10. package/agents/profiles/index.json +14 -0
  11. package/agents/profiles/po.md +7 -0
  12. package/agents/profiles/qa.md +456 -0
  13. package/agents/profiles/sm.md +7 -0
  14. package/agents/profiles/squad-creator.md +7 -0
  15. package/agents/profiles/ux-design-expert.md +14 -0
  16. package/config.json +15 -0
  17. package/docs/curation.md +60 -0
  18. package/docs/gos_installation_guide.md +114 -0
  19. package/docs/ide-compatibility.md +20 -0
  20. package/docs/plan/plan-git-operations.md +51 -0
  21. package/docs/plan-distribuicao-publica.md +360 -0
  22. package/docs/stacks/stack-git-operations.md +154 -0
  23. package/docs/toolchain-map.md +18 -0
  24. package/integrations/README.md +42 -0
  25. package/integrations/antigravity/README.md +29 -0
  26. package/integrations/antigravity/command-map.json +29 -0
  27. package/integrations/claude/README.md +35 -0
  28. package/integrations/claude/agent-map.json +46 -0
  29. package/integrations/claude/command-map.json +32 -0
  30. package/integrations/claude/litellm-proxy.md +93 -0
  31. package/integrations/claude/mcp-specifics.md +121 -0
  32. package/integrations/codex/README.md +29 -0
  33. package/integrations/codex/command-map.json +29 -0
  34. package/integrations/cursor/README.md +8 -0
  35. package/integrations/cursor/command-map.json +11 -0
  36. package/integrations/gemini/README.md +13 -0
  37. package/integrations/gemini/command-map.json +11 -0
  38. package/integrations/kilo-code/README.md +7 -0
  39. package/integrations/kilo-code/command-map.json +11 -0
  40. package/integrations/opencode/README.md +91 -0
  41. package/integrations/opencode/command-map.json +46 -0
  42. package/integrations/registry.json +20 -0
  43. package/manifests/g-os-runtime-manifest.json +39 -0
  44. package/manifests/gos-install-manifest.json +46 -0
  45. package/opencode.json +7 -0
  46. package/package.json +51 -0
  47. package/playbooks/feature-development-playbook.md +239 -0
  48. package/playbooks/sprint-planner-playbook.md +127 -0
  49. package/playbooks/squad-pipeline-runner.md +196 -0
  50. package/playbooks/ssh-multi-account-setup.md +185 -0
  51. package/prompts/01-search.md +18 -0
  52. package/prompts/02-spec.md +19 -0
  53. package/prompts/03-tasks.md +15 -0
  54. package/prompts/04-code.md +10 -0
  55. package/prompts/05-reviews.md +11 -0
  56. package/rules/plan-mode.md +60 -0
  57. package/scripts/cli/gos-cli.js +679 -0
  58. package/scripts/hooks/pre-commit-validate.js +201 -0
  59. package/scripts/integrations/check-ide-compat.js +44 -0
  60. package/scripts/integrations/setup-ide-adapters.js +87 -0
  61. package/scripts/tools/clickup-preprocess.js +218 -0
  62. package/scripts/tools/clickup.js +1058 -0
  63. package/skills/agent-teams/SKILL.md +78 -0
  64. package/skills/agent-teams/presets/team-all.yaml +14 -0
  65. package/skills/agent-teams/presets/team-fullstack.yaml +17 -0
  66. package/skills/agent-teams/presets/team-ide-minimal.yaml +9 -0
  67. package/skills/agent-teams/presets/team-no-ui.yaml +12 -0
  68. package/skills/agent-teams/presets/team-qa-focused.yaml +83 -0
  69. package/skills/clickup/SKILL.md +151 -0
  70. package/skills/component-dedup/SKILL.md +101 -0
  71. package/skills/design-to-code/SKILL.md +255 -0
  72. package/skills/figma-implement-design/SKILL.md +227 -0
  73. package/skills/figma-make-analyzer/SKILL.md +140 -0
  74. package/skills/frontend-dev/SKILL.md +271 -0
  75. package/skills/git-ssh-setup/SKILL.md +164 -0
  76. package/skills/interface-design/SKILL.md +350 -0
  77. package/skills/interface-design/references/audit.md +76 -0
  78. package/skills/interface-design/references/craft-examples.md +134 -0
  79. package/skills/interface-design/references/critique.md +92 -0
  80. package/skills/interface-design/references/extract.md +92 -0
  81. package/skills/interface-design/references/principles.md +348 -0
  82. package/skills/interface-design/references/templates/system-precision.md +73 -0
  83. package/skills/interface-design/references/templates/system-warmth.md +67 -0
  84. package/skills/interface-design/references/validation.md +137 -0
  85. package/skills/make-code-triage/SKILL.md +135 -0
  86. package/skills/make-version-diff/SKILL.md +87 -0
  87. package/skills/plan-to-tasks/SKILL.md +136 -0
  88. package/skills/react-best-practices/AGENTS.md +2975 -0
  89. package/skills/react-best-practices/SKILL.md +151 -0
  90. package/skills/react-best-practices/metadata.json +15 -0
  91. package/skills/react-best-practices/rules/_sections.md +46 -0
  92. package/skills/react-best-practices/rules/_template.md +28 -0
  93. package/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  94. package/skills/react-best-practices/rules/advanced-init-once.md +42 -0
  95. package/skills/react-best-practices/rules/advanced-use-latest.md +39 -0
  96. package/skills/react-best-practices/rules/async-api-routes.md +38 -0
  97. package/skills/react-best-practices/rules/async-defer-await.md +80 -0
  98. package/skills/react-best-practices/rules/async-dependencies.md +51 -0
  99. package/skills/react-best-practices/rules/async-parallel.md +28 -0
  100. package/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  101. package/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  102. package/skills/react-best-practices/rules/bundle-conditional.md +31 -0
  103. package/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  104. package/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  105. package/skills/react-best-practices/rules/bundle-preload.md +50 -0
  106. package/skills/react-best-practices/rules/client-event-listeners.md +74 -0
  107. package/skills/react-best-practices/rules/client-localstorage-schema.md +71 -0
  108. package/skills/react-best-practices/rules/client-passive-event-listeners.md +48 -0
  109. package/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
  110. package/skills/react-best-practices/rules/js-batch-dom-css.md +107 -0
  111. package/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  112. package/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  113. package/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  114. package/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  115. package/skills/react-best-practices/rules/js-early-exit.md +50 -0
  116. package/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  117. package/skills/react-best-practices/rules/js-index-maps.md +37 -0
  118. package/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  119. package/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  120. package/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  121. package/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  122. package/skills/react-best-practices/rules/rendering-activity.md +26 -0
  123. package/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  124. package/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  125. package/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  126. package/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  127. package/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  128. package/skills/react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  129. package/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  130. package/skills/react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  131. package/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  132. package/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  133. package/skills/react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  134. package/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  135. package/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  136. package/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  137. package/skills/react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  138. package/skills/react-best-practices/rules/rerender-memo.md +44 -0
  139. package/skills/react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  140. package/skills/react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  141. package/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  142. package/skills/react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  143. package/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
  144. package/skills/react-best-practices/rules/server-auth-actions.md +96 -0
  145. package/skills/react-best-practices/rules/server-cache-lru.md +41 -0
  146. package/skills/react-best-practices/rules/server-cache-react.md +76 -0
  147. package/skills/react-best-practices/rules/server-dedup-props.md +65 -0
  148. package/skills/react-best-practices/rules/server-hoist-static-io.md +142 -0
  149. package/skills/react-best-practices/rules/server-parallel-fetching.md +83 -0
  150. package/skills/react-best-practices/rules/server-serialization.md +38 -0
  151. package/skills/react-doctor/SKILL.md +74 -0
  152. package/skills/registry.json +21 -0
  153. package/skills/sprint-planner/SKILL.md +434 -0
  154. package/squads/design-delivery/README.md +10 -0
  155. package/squads/design-delivery/squad.yaml +30 -0
  156. package/squads/design-delivery/workflows/wf-design-delivery.yaml +27 -0
  157. package/squads/design-squad/README.md +31 -0
  158. package/squads/design-squad/agents/brad-frost.md +185 -0
  159. package/squads/design-squad/agents/dan-mall.md +178 -0
  160. package/squads/design-squad/agents/dave-malouf.md +198 -0
  161. package/squads/design-squad/agents/design-chief.md +109 -0
  162. package/squads/design-squad/agents/design-system-architect.md +109 -0
  163. package/squads/design-squad/agents/ui-engineer.md +102 -0
  164. package/squads/design-squad/agents/ux-designer.md +105 -0
  165. package/squads/design-squad/agents/visual-generator.md +108 -0
  166. package/squads/design-squad/checklists/output-quality.md +76 -0
  167. package/squads/design-squad/config/config.yaml +65 -0
  168. package/squads/design-squad/data/design-patterns-catalog.yaml +276 -0
  169. package/squads/design-squad/data/routing-catalog.yaml +95 -0
  170. package/squads/design-squad/squad.yaml +88 -0
  171. package/squads/design-squad/tasks/audit-design.md +174 -0
  172. package/squads/design-squad/tasks/create-component-spec.md +185 -0
  173. package/squads/design-squad/tasks/create-design-system.md +179 -0
  174. package/squads/design-squad/tasks/design-ux-flow.md +184 -0
  175. package/squads/design-squad/tasks/diagnose.md +138 -0
  176. package/squads/design-squad/tasks/generate-handoff.md +186 -0
  177. package/squads/design-squad/tasks/review.md +133 -0
  178. package/squads/design-squad/tasks/setup-design-ops.md +177 -0
  179. package/squads/design-squad/workflows/wf-design-system-creation.yaml +131 -0
  180. package/squads/design-squad/workflows/wf-feature-design.yaml +114 -0
  181. package/squads/git-operations/README.md +30 -0
  182. package/squads/git-operations/squad.yaml +27 -0
  183. package/squads/git-operations/workflows/wf-safe-commit.yaml +27 -0
  184. package/squads/git-operations/workflows/wf-ssh-setup.yaml +27 -0
  185. package/squads/sprint-planning/agents/sprint-chief.md +47 -0
  186. package/squads/sprint-planning/agents/sprint-planner-agent.md +43 -0
  187. package/squads/sprint-planning/agents/sprint-tracker.md +43 -0
  188. package/squads/sprint-planning/agents/task-importer.md +44 -0
  189. package/squads/sprint-planning/checklists/sprint-readiness.md +27 -0
  190. package/squads/sprint-planning/config/config.yaml +65 -0
  191. package/squads/sprint-planning/data/clickup-field-mapping.yaml +94 -0
  192. package/squads/sprint-planning/squad.yaml +52 -0
  193. package/squads/sprint-planning/tasks/close-sprint.md +43 -0
  194. package/squads/sprint-planning/tasks/create-sprint.md +42 -0
  195. package/squads/sprint-planning/tasks/import-tasks.md +39 -0
  196. package/squads/sprint-planning/tasks/sync-status.md +31 -0
  197. package/squads/sprint-planning/workflows/wf-sprint-creation.yaml +59 -0
  198. package/squads/sprint-planning/workflows/wf-sprint-sync.yaml +35 -0
  199. package/templates/adr-tmpl.yaml +76 -0
  200. package/templates/sprint-clickup.template.md +80 -0
@@ -0,0 +1,44 @@
1
+ # task-importer
2
+
3
+ ```yaml
4
+ agent:
5
+ name: Task Importer
6
+ id: task-importer
7
+ title: Task Import Specialist
8
+ icon: "\U0001F4E5"
9
+ tier: 1
10
+ whenToUse: >
11
+ Converter sprint plans (markdown/JSON) em tasks ClickUp.
12
+ Bulk import com subtasks, custom fields e tags.
13
+
14
+ persona:
15
+ role: Task Importer
16
+ identity: Conversor que transforma planos locais em tasks ClickUp com fidelidade
17
+ core_principles:
18
+ - Mapear campos G-OS para ClickUp (ref, points, BR, AC)
19
+ - Respeitar rate limits no bulk import
20
+ - Atualizar sprint registry com IDs criados
21
+ - Reportar falhas sem interromper o batch
22
+
23
+ commands:
24
+ - name: import-tasks
25
+ description: "Importar tasks de JSON para ClickUp"
26
+ - name: import-markdown
27
+ description: "Converter markdown sprint-track para JSON e importar"
28
+
29
+ dependencies:
30
+ tools:
31
+ - clickup
32
+ data:
33
+ - data/sprints/registry.json
34
+ - squads/sprint-planning/data/clickup-field-mapping.yaml
35
+ ```
36
+
37
+ ## Workflow
38
+
39
+ 1. Receber folder_id e list_ids do sprint-planner-agent
40
+ 2. Ler sprint plan JSON (ou converter markdown para JSON)
41
+ 3. Executar `clickup.js sprint import --folder-id X --file plan.json`
42
+ 4. Processar resultado: created, failed
43
+ 5. Atualizar `data/sprints/registry.json` com task ID mapping
44
+ 6. Reportar resultado ao sprint-chief
@@ -0,0 +1,27 @@
1
+ # Sprint Readiness Checklist
2
+
3
+ Verificar antes de criar sprint no ClickUp.
4
+
5
+ ## Environment
6
+ - [ ] `CLICKUP_API_KEY` definido e valido
7
+ - [ ] `SLACK_WEBHOOK_URL` definido (opcional, para notificacoes)
8
+ - [ ] ClickUp Space ID conhecido
9
+
10
+ ## Sprint Plan
11
+ - [ ] Sprint plan JSON/markdown existe e esta completo
12
+ - [ ] Todos tasks tem ID unico (T-NNN)
13
+ - [ ] Todos tasks tem prioridade (P0/P1/P2)
14
+ - [ ] Tasks atribuidos a tracks (backend/frontend/qa/devops)
15
+ - [ ] Dependencias documentadas (sem circulares)
16
+ - [ ] Acceptance criteria definidos por sprint
17
+ - [ ] Business rules referenciadas
18
+
19
+ ## ClickUp Space
20
+ - [ ] Space existe e esta acessivel
21
+ - [ ] Custom fields criados (se necessario): gos_ref, sprint_points
22
+ - [ ] Statuses configurados: to do, in progress, in review, complete, blocked
23
+
24
+ ## Team
25
+ - [ ] Responsaveis definidos por track
26
+ - [ ] Datas de inicio e fim da sprint definidas
27
+ - [ ] Sprint anterior fechada (se aplicavel)
@@ -0,0 +1,65 @@
1
+ squad: sprint-planning
2
+ version: "1.0.0"
3
+
4
+ tiers:
5
+ tier0:
6
+ role: orchestrator
7
+ agent: sprint-chief
8
+ model_tier: sonnet
9
+ description: "Coordena o fluxo entre agents, decide quando escalar"
10
+ tier1:
11
+ role: specialists
12
+ agents:
13
+ - sprint-planner-agent
14
+ - sprint-tracker
15
+ - task-importer
16
+ model_tier: sonnet
17
+ description: "Especialistas em planejamento, tracking e importacao"
18
+
19
+ env_required:
20
+ - CLICKUP_API_KEY
21
+ - SLACK_WEBHOOK_URL
22
+
23
+ env_optional:
24
+ - CLICKUP_SPACE_ID
25
+ - CLICKUP_SPRINT_FOLDER_ID
26
+
27
+ tools:
28
+ clickup: scripts/tools/clickup.js
29
+ slack: scripts/tools/slack-notify.js
30
+
31
+ defaults:
32
+ sprint_duration_days: 7
33
+ tracks: [backend, frontend]
34
+ status_mapping:
35
+ todo: "to do"
36
+ in_progress: "in progress"
37
+ review: "in review"
38
+ done: "complete"
39
+ blocked: "blocked"
40
+
41
+ handoffs:
42
+ sprint_chief_to_planner:
43
+ from: sprint-chief
44
+ to: sprint-planner-agent
45
+ trigger: "sprint plan validated"
46
+ context: [sprint_plan, space_id]
47
+ planner_to_importer:
48
+ from: sprint-planner-agent
49
+ to: task-importer
50
+ trigger: "sprint created in ClickUp"
51
+ context: [folder_id, list_ids, tasks_json]
52
+ importer_to_tracker:
53
+ from: task-importer
54
+ to: sprint-tracker
55
+ trigger: "tasks imported"
56
+ context: [folder_id, task_map]
57
+
58
+ cross_cutting:
59
+ notifications:
60
+ slack_on_sprint_create: true
61
+ slack_on_import_complete: true
62
+ slack_on_sprint_close: true
63
+ registry:
64
+ path: data/sprints/registry.json
65
+ auto_update: true
@@ -0,0 +1,94 @@
1
+ # ClickUp Custom Field Mapping
2
+ # Maps G-OS task fields to ClickUp custom fields
3
+ # field_id values must be configured per workspace (discovered via `clickup.js field list`)
4
+
5
+ version: "1.0"
6
+
7
+ fields:
8
+ gos_ref:
9
+ description: "Reference code (M/F/B) from spec"
10
+ clickup_type: short_text
11
+ gos_source: ref
12
+ field_id: "" # Set per workspace
13
+
14
+ sprint_points:
15
+ description: "Story points / sprint points"
16
+ clickup_type: number
17
+ gos_source: points
18
+ field_id: ""
19
+
20
+ business_rules:
21
+ description: "Business rules (BR-NNN)"
22
+ clickup_type: text
23
+ gos_source: businessRules
24
+ field_id: ""
25
+
26
+ track:
27
+ description: "Development track"
28
+ clickup_type: drop_down
29
+ gos_source: area
30
+ options: [backend, frontend, qa, devops, general]
31
+ field_id: ""
32
+
33
+ acceptance_criteria:
34
+ description: "Acceptance criteria"
35
+ clickup_type: text
36
+ gos_source: acceptanceCriteria
37
+ field_id: ""
38
+
39
+ depends_on:
40
+ description: "Task dependencies (T-NNN list)"
41
+ clickup_type: text
42
+ gos_source: dependencies
43
+ field_id: ""
44
+
45
+ context:
46
+ description: "Contexto de negócio — motivação da task para leitor não-técnico"
47
+ clickup_type: text
48
+ gos_source: context
49
+ mapped_to: description # Integrado na descrição rica via buildTaskDescription()
50
+
51
+ steps:
52
+ description: "Passo a passo de implementação (3-7 steps acionáveis)"
53
+ clickup_type: checklist
54
+ gos_source: steps
55
+ mapped_to: "checklist:Implementation Steps" # Vira checklist automaticamente
56
+
57
+ technical_notes:
58
+ description: "Notas técnicas, decisões de arquitetura, caveats"
59
+ clickup_type: text
60
+ gos_source: technicalNotes
61
+ mapped_to: description # Integrado na descrição rica
62
+
63
+ estimated_hours:
64
+ description: "Estimativa em horas (0.5-16)"
65
+ clickup_type: number
66
+ gos_source: estimatedHours
67
+ mapped_to: time_estimate # Convertido para milissegundos no import
68
+
69
+ dod:
70
+ description: "Definition of Done — como verificar que está pronto"
71
+ clickup_type: text
72
+ gos_source: dod
73
+ mapped_to: description # Integrado na descrição rica
74
+
75
+ tag_conventions:
76
+ sprint_id: "sprint:{SPRINT_ID}" # e.g. sprint:S01
77
+ sprint_status: "sprint-status:{STATUS}" # e.g. sprint-status:active
78
+ track: "track:{TRACK}" # e.g. track:backend
79
+ task_id: "{TASK_ID}" # e.g. T-001
80
+
81
+ status_mapping:
82
+ gos_to_clickup:
83
+ todo: "to do"
84
+ in-progress: "in progress"
85
+ review: "in review"
86
+ done: "complete"
87
+ blocked: "blocked"
88
+ clickup_to_gos:
89
+ "to do": todo
90
+ "in progress": in-progress
91
+ "in review": review
92
+ "complete": done
93
+ "closed": done
94
+ "blocked": blocked
@@ -0,0 +1,52 @@
1
+ name: sprint-planning
2
+ version: "1.0.0"
3
+ short-title: "Sprint Planning Squad"
4
+ description: "Orquestra o ciclo de vida de sprints no ClickUp: planejamento, criacao, importacao de tasks, tracking de status e fechamento. Usa Folders como containers de sprint e Lists como tracks (backend/frontend)."
5
+ author: "Synkra AIOS"
6
+ license: MIT
7
+ slashPrefix: "sprint-squad"
8
+
9
+ aios:
10
+ minVersion: "4.0.0"
11
+ type: squad
12
+
13
+ tags:
14
+ - sprint
15
+ - clickup
16
+ - agile
17
+ - task-management
18
+ - scrum
19
+ - project-management
20
+
21
+ components:
22
+ agents:
23
+ # Tier 0 — Orchestrator
24
+ - sprint-chief.md
25
+ # Tier 1 — Specialists
26
+ - sprint-planner-agent.md
27
+ - sprint-tracker.md
28
+ - task-importer.md
29
+ tasks:
30
+ - create-sprint.md
31
+ - import-tasks.md
32
+ - sync-status.md
33
+ - close-sprint.md
34
+ workflows:
35
+ - wf-sprint-creation.yaml
36
+ - wf-sprint-sync.yaml
37
+ checklists:
38
+ - sprint-readiness.md
39
+
40
+ routing_matrix:
41
+ sprint_creation:
42
+ primary: sprint-planner-agent
43
+ triggers: ["create sprint", "new sprint", "plan sprint", "criar sprint"]
44
+ sprint_tracking:
45
+ primary: sprint-tracker
46
+ triggers: ["sprint status", "burndown", "track progress", "status da sprint"]
47
+ task_import:
48
+ primary: task-importer
49
+ triggers: ["import tasks", "sync to clickup", "push tasks", "importar tasks"]
50
+ sprint_close:
51
+ primary: sprint-chief
52
+ triggers: ["close sprint", "sprint review", "fechar sprint", "retrospective"]
@@ -0,0 +1,43 @@
1
+ # Task: Close Sprint
2
+
3
+ ## Objetivo
4
+ Fechar sprint, tratar tasks incompletas (spillover) e gerar retrospective.
5
+
6
+ ## Steps
7
+
8
+ 1. **Get final status**
9
+ ```bash
10
+ node scripts/tools/clickup.js sprint status --folder-id <FOLDER_ID>
11
+ ```
12
+
13
+ 2. **Identify incomplete tasks**
14
+ Filtrar tasks com status != done/complete.
15
+
16
+ 3. **Spillover decision**
17
+ Perguntar ao usuario:
18
+ - Mover tasks incompletas para proxima sprint?
19
+ - Cancelar tasks incompletas?
20
+ - Manter no folder atual?
21
+
22
+ 4. **Execute spillover** (se aplicavel)
23
+ Para cada task incompleta, mover para novo folder:
24
+ ```bash
25
+ node scripts/tools/clickup.js task update --task-id <ID> --status "to do"
26
+ # Nota: mover entre lists requer API de task move (PUT /task/{id} com list)
27
+ ```
28
+
29
+ 5. **Tag sprint as closed**
30
+ ```bash
31
+ node scripts/tools/clickup.js tag add --task-id <FOLDER_FIRST_TASK> --tag "sprint-closed"
32
+ ```
33
+
34
+ 6. **Notify Slack**
35
+ ```bash
36
+ node scripts/tools/slack-notify.js send \
37
+ --text "*:checkered_flag: Sprint <SPRINT_ID> encerrada!*\n>*Concluidas:* N/M (X%)\n>*Spillover:* N tasks para <NEXT_SPRINT>"
38
+ ```
39
+
40
+ ## Output
41
+ - Sprint encerrada
42
+ - Tasks spillover tratadas
43
+ - Retrospective summary no Slack
@@ -0,0 +1,42 @@
1
+ # Task: Create Sprint
2
+
3
+ ## Objetivo
4
+ Criar sprint no ClickUp a partir de um plano validado.
5
+
6
+ ## Pre-requisitos
7
+ - [ ] `CLICKUP_API_KEY` definido
8
+ - [ ] Space ID conhecido
9
+ - [ ] Sprint plan validado contra schema
10
+
11
+ ## Steps
12
+
13
+ 1. **Validate plan**
14
+ ```bash
15
+ # Verificar que JSON e valido
16
+ node -e "JSON.parse(require('fs').readFileSync('sprint-plan.json','utf-8')); console.log('OK')"
17
+ ```
18
+
19
+ 2. **Create sprint folder + lists**
20
+ ```bash
21
+ node scripts/tools/clickup.js sprint create \
22
+ --space-id <SPACE_ID> \
23
+ --name "<SPRINT_NAME>" \
24
+ --start <YYYY-MM-DD> \
25
+ --end <YYYY-MM-DD> \
26
+ --tracks backend,frontend \
27
+ --id <SPRINT_ID>
28
+ ```
29
+
30
+ 3. **Save folder ID to registry**
31
+ Atualizar `data/sprints/registry.json` com o folder_id e list_ids retornados.
32
+
33
+ 4. **Notify Slack**
34
+ ```bash
35
+ node scripts/tools/slack-notify.js send \
36
+ --text "*:rocket: Sprint <SPRINT_ID> criada!*\n>*Nome:* <SPRINT_NAME>\n>*Periodo:* <START> to <END>\n>*Tracks:* backend, frontend"
37
+ ```
38
+
39
+ ## Output
40
+ - folder_id, list_ids para handoff ao task-importer
41
+ - Registry atualizado
42
+ - Notificacao Slack enviada
@@ -0,0 +1,39 @@
1
+ # Task: Import Tasks
2
+
3
+ ## Objetivo
4
+ Importar tasks de um sprint plan JSON para o ClickUp em batch.
5
+
6
+ ## Pre-requisitos
7
+ - [ ] Sprint criada (folder_id e list_ids disponiveis)
8
+ - [ ] Sprint plan JSON segue schema `data/schemas/sprint-clickup.schema.json`
9
+ - [ ] `CLICKUP_API_KEY` definido
10
+
11
+ ## Steps
12
+
13
+ 1. **Import tasks**
14
+ ```bash
15
+ node scripts/tools/clickup.js sprint import \
16
+ --folder-id <FOLDER_ID> \
17
+ --file sprint-plan.json
18
+ ```
19
+
20
+ 2. **Process results**
21
+ - Verificar `imported` vs `failed` counts
22
+ - Se `failed > 0`, investigar errors no output
23
+
24
+ 3. **Update registry**
25
+ Atualizar `data/sprints/registry.json` com mapping:
26
+ ```json
27
+ { "taskMap": { "T-001": "clickup_id_1", "T-002": "clickup_id_2" } }
28
+ ```
29
+
30
+ 4. **Notify Slack**
31
+ ```bash
32
+ node scripts/tools/slack-notify.js send \
33
+ --text "*:package: Tasks importadas!*\n>*Sprint:* <SPRINT_ID>\n>*Importadas:* N tasks\n>*Falhas:* N"
34
+ ```
35
+
36
+ ## Output
37
+ - Task map (local ID -> ClickUp ID)
38
+ - Registry atualizado
39
+ - Slack notificado
@@ -0,0 +1,31 @@
1
+ # Task: Sync Status
2
+
3
+ ## Objetivo
4
+ Consultar status da sprint no ClickUp e gerar report.
5
+
6
+ ## Steps
7
+
8
+ 1. **Get sprint status**
9
+ ```bash
10
+ node scripts/tools/clickup.js sprint status --folder-id <FOLDER_ID>
11
+ ```
12
+
13
+ 2. **Save status JSON**
14
+ Salvar output em arquivo temporario para o Slack notifier.
15
+
16
+ 3. **Notify Slack**
17
+ ```bash
18
+ node scripts/tools/slack-notify.js sprint-summary --file sprint-status.json
19
+ ```
20
+
21
+ 4. **Alert on blockers**
22
+ Se `blocked > 0`, adicionar alerta:
23
+ ```bash
24
+ node scripts/tools/slack-notify.js send \
25
+ --text ":warning: *<BLOCKED_COUNT> tasks bloqueadas na sprint <SPRINT_ID>!*"
26
+ ```
27
+
28
+ ## Output
29
+ - Sprint status JSON
30
+ - Slack summary enviado
31
+ - Alerta de blockers se necessario
@@ -0,0 +1,59 @@
1
+ workflow:
2
+ id: wf-sprint-creation
3
+ name: "Sprint Creation Pipeline"
4
+ version: "1.0.0"
5
+ description: >
6
+ End-to-end sprint creation: from planning artifacts to ClickUp workspace.
7
+ Reads sprint plan, validates structure, creates ClickUp folder/lists,
8
+ imports tasks, sets custom fields, and produces sprint overview.
9
+ trigger: "*sprint-create"
10
+ entry_agent: sprint-chief
11
+ type: sequential
12
+
13
+ phases:
14
+ - id: phase_0
15
+ name: "Pre-flight Check"
16
+ agent: sprint-chief
17
+ description: "Verify env vars, space ID, and sprint plan availability."
18
+ checkpoint:
19
+ gate: "CLICKUP_API_KEY set, space ID known, plan file exists"
20
+ veto: "Missing env vars or plan file"
21
+
22
+ - id: phase_1
23
+ name: "Plan Validation"
24
+ agent: sprint-planner-agent
25
+ task: create-sprint.md
26
+ depends_on: [phase_0]
27
+ description: "Validate sprint plan JSON against schema, check IDs and priorities."
28
+ checkpoint:
29
+ gate: "Schema validates, all tasks have unique IDs and priorities"
30
+ veto: "Schema validation failed or circular dependencies detected"
31
+
32
+ - id: phase_2
33
+ name: "ClickUp Sprint Setup"
34
+ agent: sprint-planner-agent
35
+ task: create-sprint.md
36
+ depends_on: [phase_1]
37
+ description: "Create ClickUp folder (sprint container) and lists (tracks)."
38
+ checkpoint:
39
+ gate: "Folder and all lists created, IDs captured"
40
+ veto: "API auth failure or space not found"
41
+
42
+ - id: phase_3
43
+ name: "Task Import"
44
+ agent: task-importer
45
+ task: import-tasks.md
46
+ depends_on: [phase_2]
47
+ description: "Bulk create tasks in ClickUp lists, set fields, add tags."
48
+ checkpoint:
49
+ gate: "All tasks created, IDs mapped back to local plan"
50
+ veto: "Rate limit exceeded or task creation failures > 10%"
51
+
52
+ - id: phase_4
53
+ name: "Status Sync & Notification"
54
+ agent: sprint-tracker
55
+ task: sync-status.md
56
+ depends_on: [phase_3]
57
+ description: "Read back sprint status, generate overview, notify Slack."
58
+ checkpoint:
59
+ gate: "Sprint overview generated, Slack notified"
@@ -0,0 +1,35 @@
1
+ workflow:
2
+ id: wf-sprint-sync
3
+ name: "Sprint Bidirectional Sync"
4
+ version: "1.0.0"
5
+ description: >
6
+ Sync sprint status between ClickUp and local files.
7
+ Pulls remote state, diffs against local, applies changes.
8
+ trigger: "*sprint-sync"
9
+ entry_agent: sprint-chief
10
+ type: sequential
11
+
12
+ phases:
13
+ - id: phase_0
14
+ name: "Pull Remote State"
15
+ agent: sprint-tracker
16
+ task: sync-status.md
17
+ description: "Fetch current sprint status from ClickUp."
18
+ checkpoint:
19
+ gate: "Remote state fetched successfully"
20
+
21
+ - id: phase_1
22
+ name: "Diff Local vs Remote"
23
+ agent: sprint-tracker
24
+ depends_on: [phase_0]
25
+ description: "Compare local task states with ClickUp states."
26
+ checkpoint:
27
+ gate: "Diff generated with change list"
28
+
29
+ - id: phase_2
30
+ name: "Apply Changes"
31
+ agent: sprint-chief
32
+ depends_on: [phase_1]
33
+ description: "Apply changes to local files or push to ClickUp."
34
+ checkpoint:
35
+ gate: "All changes applied, registry updated"
@@ -0,0 +1,76 @@
1
+ # ADR Template — Architecture Decision Record
2
+ # Padrao Michael Nygard adaptado para G-OS
3
+ # Used by: sprint-planner, sdd (Phase 2), @architect
4
+ version: "1.0.0"
5
+
6
+ structure:
7
+ id: "ADR-{NNN}"
8
+ title: "{Decision Title}"
9
+ status: "proposed | accepted | deprecated | superseded"
10
+ date: "{YYYY-MM-DD}"
11
+ deciders: "{list of people/agents involved}"
12
+ context: |
13
+ Qual e o problema ou forca que motiva esta decisao?
14
+ Quais forcas estao em jogo (tecnicas, negocio, time)?
15
+ options:
16
+ - name: "{Option A}"
17
+ pros: ["{pro 1}", "{pro 2}"]
18
+ cons: ["{con 1}", "{con 2}"]
19
+ - name: "{Option B}"
20
+ pros: ["{pro 1}", "{pro 2}"]
21
+ cons: ["{con 1}", "{con 2}"]
22
+ decision: |
23
+ Qual opcao foi escolhida e por que?
24
+ Qual mudanca sera feita?
25
+ consequences:
26
+ positive: ["{consequencia positiva 1}"]
27
+ negative: ["{consequencia negativa 1}"]
28
+ neutral: ["{consequencia neutra 1}"]
29
+ references:
30
+ - "{link ou caminho de arquivo}"
31
+
32
+ # Quando usar ADR separado vs embedded no PRD:
33
+ # - ADR separado: 3+ opcoes com trade-offs significativos (stack, banco, auth, arquitetura)
34
+ # - Embedded no PRD: decisoes menores com escolha obvia (lib, naming, padrao de codigo)
35
+
36
+ markdownTemplate: |
37
+ # {id}: {title}
38
+
39
+ **Status:** {status}
40
+ **Date:** {date}
41
+ **Deciders:** {deciders}
42
+
43
+ ## Contexto
44
+
45
+ {context}
46
+
47
+ ## Opcoes Consideradas
48
+
49
+ ### Opcao 1: {options[0].name}
50
+ - **Pros:** {options[0].pros}
51
+ - **Cons:** {options[0].cons}
52
+
53
+ ### Opcao 2: {options[1].name}
54
+ - **Pros:** {options[1].pros}
55
+ - **Cons:** {options[1].cons}
56
+
57
+ ## Decisao
58
+
59
+ {decision}
60
+
61
+ ## Decision Gate (custo & risco)
62
+
63
+ - Esta decisao atende aos objetivos de negocio declarados?
64
+ - Respeita todas as restricoes explicitas (seguranca, compliance, stack, orcamento, time)?
65
+ - Cumpre os atributos de qualidade com metricas e carga-alvo (latencia/disponibilidade/throughput)?
66
+ - Existe alternativa mais barata ou menos arriscada que entregue os mesmos objetivos? Se sim, por que foi descartada?
67
+
68
+ ## Consequencias
69
+
70
+ **Positivas:** {consequences.positive}
71
+ **Negativas:** {consequences.negative}
72
+ **Neutras:** {consequences.neutral}
73
+
74
+ ## Referencias
75
+
76
+ {references}
@@ -0,0 +1,80 @@
1
+ # Sprint {{SPRINT_ID}} — {{SPRINT_NAME}}
2
+
3
+ ## Metadata
4
+
5
+ | Campo | Valor |
6
+ |-------|-------|
7
+ | **Sprint** | {{SPRINT_ID}} |
8
+ | **Nome** | {{SPRINT_NAME}} |
9
+ | **Início** | {{START_DATE}} |
10
+ | **Fim** | {{END_DATE}} |
11
+ | **Duração** | {{DURATION_DAYS}} dias |
12
+ | **Team** | {{TEAM}} |
13
+ | **ClickUp Folder ID** | {{CLICKUP_FOLDER_ID}} |
14
+ | **ClickUp Space ID** | {{CLICKUP_SPACE_ID}} |
15
+ | **Status** | {{STATUS}} |
16
+
17
+ ---
18
+
19
+ ## Track: Backend
20
+
21
+ **ClickUp List ID:** {{BACKEND_LIST_ID}}
22
+
23
+ | ID | Ref | Título | Escopo resumido | Points | Status | ClickUp ID |
24
+ |----|-----|--------|-----------------|--------|--------|-------------|
25
+ | T-001 | B-001 | | | 3 | todo | |
26
+ | T-002 | B-002 | | | 5 | todo | |
27
+
28
+ ---
29
+
30
+ ## Track: Frontend
31
+
32
+ **ClickUp List ID:** {{FRONTEND_LIST_ID}}
33
+
34
+ | ID | Ref | Título | Escopo resumido | Points | Status | ClickUp ID |
35
+ |----|-----|--------|-----------------|--------|--------|-------------|
36
+ | T-020 | F-001 | | | 3 | todo | |
37
+ | T-021 | F-002 | | | 5 | todo | |
38
+
39
+ ---
40
+
41
+ ## Business Rules
42
+
43
+ | ID | Descrição |
44
+ |----|-----------|
45
+ | BR-001 | |
46
+
47
+ ---
48
+
49
+ ## Dependências (Cross-Track)
50
+
51
+ | FE Task | Depende de BE Task | Sprint FE | Sprint BE | Buffer |
52
+ |---------|-------------------|-----------|-----------|--------|
53
+ | T-020 | T-001 | Mesmo sprint | Mesmo sprint | 0 |
54
+
55
+ ---
56
+
57
+ ## Acceptance Criteria do Sprint
58
+
59
+ - [ ] Todos endpoints backend retornam dados conforme Zod schema
60
+ - [ ] Todos componentes frontend renderizam com dados reais
61
+ - [ ] Testes E2E passam para fluxos críticos
62
+ - [ ] Coverage > 80% em módulos novos
63
+
64
+ ---
65
+
66
+ ## API Contracts
67
+
68
+ ```
69
+ GET /api/{{MODULE}} -> { items: [], total: number }
70
+ POST /api/{{MODULE}} -> { id: string } | 400/422
71
+ PUT /api/{{MODULE}}/[id] -> { updated: true } | 404
72
+ ```
73
+
74
+ ---
75
+
76
+ ## Notas
77
+
78
+ - Gerado via `node scripts/tools/clickup.js sprint create`
79
+ - Template base: `templates/sprint-clickup.template.md`
80
+ - Schema: `data/schemas/sprint-clickup.schema.json`