ganbatte-os 0.2.1 → 0.2.3
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.
- package/{docs → .gos/docs}/gos_installation_guide.md +3 -0
- package/.gos/manifests/gos-install-manifest.json +48 -0
- package/{scripts → .gos/scripts}/cli/gos-cli.js +18 -9
- package/{scripts → .gos/scripts}/integrations/setup-ide-adapters.js +8 -8
- package/README.md +1 -0
- package/package.json +16 -28
- package/manifests/gos-install-manifest.json +0 -46
- /package/{agents → .gos/agents}/profiles/architect.md +0 -0
- /package/{agents → .gos/agents}/profiles/dev.md +0 -0
- /package/{agents → .gos/agents}/profiles/devops.md +0 -0
- /package/{agents → .gos/agents}/profiles/ganbatte-os-master.md +0 -0
- /package/{agents → .gos/agents}/profiles/index.json +0 -0
- /package/{agents → .gos/agents}/profiles/po.md +0 -0
- /package/{agents → .gos/agents}/profiles/qa.md +0 -0
- /package/{agents → .gos/agents}/profiles/sm.md +0 -0
- /package/{agents → .gos/agents}/profiles/squad-creator.md +0 -0
- /package/{agents → .gos/agents}/profiles/ux-design-expert.md +0 -0
- /package/{config.json → .gos/config.json} +0 -0
- /package/{docs → .gos/docs}/curation.md +0 -0
- /package/{docs → .gos/docs}/ide-compatibility.md +0 -0
- /package/{docs → .gos/docs}/plan/plan-git-operations.md +0 -0
- /package/{docs → .gos/docs}/plan-distribuicao-publica.md +0 -0
- /package/{docs → .gos/docs}/stacks/stack-git-operations.md +0 -0
- /package/{docs → .gos/docs}/toolchain-map.md +0 -0
- /package/{integrations → .gos/integrations}/README.md +0 -0
- /package/{integrations → .gos/integrations}/antigravity/README.md +0 -0
- /package/{integrations → .gos/integrations}/antigravity/command-map.json +0 -0
- /package/{integrations → .gos/integrations}/claude/README.md +0 -0
- /package/{integrations → .gos/integrations}/claude/agent-map.json +0 -0
- /package/{integrations → .gos/integrations}/claude/command-map.json +0 -0
- /package/{integrations → .gos/integrations}/claude/litellm-proxy.md +0 -0
- /package/{integrations → .gos/integrations}/claude/mcp-specifics.md +0 -0
- /package/{integrations → .gos/integrations}/codex/README.md +0 -0
- /package/{integrations → .gos/integrations}/codex/command-map.json +0 -0
- /package/{integrations → .gos/integrations}/cursor/README.md +0 -0
- /package/{integrations → .gos/integrations}/cursor/command-map.json +0 -0
- /package/{integrations → .gos/integrations}/gemini/README.md +0 -0
- /package/{integrations → .gos/integrations}/gemini/command-map.json +0 -0
- /package/{integrations → .gos/integrations}/kilo-code/README.md +0 -0
- /package/{integrations → .gos/integrations}/kilo-code/command-map.json +0 -0
- /package/{integrations → .gos/integrations}/opencode/README.md +0 -0
- /package/{integrations → .gos/integrations}/opencode/command-map.json +0 -0
- /package/{integrations → .gos/integrations}/registry.json +0 -0
- /package/{manifests → .gos/manifests}/g-os-runtime-manifest.json +0 -0
- /package/{opencode.json → .gos/opencode.json} +0 -0
- /package/{playbooks → .gos/playbooks}/feature-development-playbook.md +0 -0
- /package/{playbooks → .gos/playbooks}/sprint-planner-playbook.md +0 -0
- /package/{playbooks → .gos/playbooks}/squad-pipeline-runner.md +0 -0
- /package/{playbooks → .gos/playbooks}/ssh-multi-account-setup.md +0 -0
- /package/{prompts → .gos/prompts}/01-search.md +0 -0
- /package/{prompts → .gos/prompts}/02-spec.md +0 -0
- /package/{prompts → .gos/prompts}/03-tasks.md +0 -0
- /package/{prompts → .gos/prompts}/04-code.md +0 -0
- /package/{prompts → .gos/prompts}/05-reviews.md +0 -0
- /package/{rules → .gos/rules}/plan-mode.md +0 -0
- /package/{scripts → .gos/scripts}/hooks/pre-commit-validate.js +0 -0
- /package/{scripts → .gos/scripts}/integrations/check-ide-compat.js +0 -0
- /package/{scripts → .gos/scripts}/tools/clickup-preprocess.js +0 -0
- /package/{scripts → .gos/scripts}/tools/clickup.js +0 -0
- /package/{skills → .gos/skills}/agent-teams/SKILL.md +0 -0
- /package/{skills → .gos/skills}/agent-teams/presets/team-all.yaml +0 -0
- /package/{skills → .gos/skills}/agent-teams/presets/team-fullstack.yaml +0 -0
- /package/{skills → .gos/skills}/agent-teams/presets/team-ide-minimal.yaml +0 -0
- /package/{skills → .gos/skills}/agent-teams/presets/team-no-ui.yaml +0 -0
- /package/{skills → .gos/skills}/agent-teams/presets/team-qa-focused.yaml +0 -0
- /package/{skills → .gos/skills}/clickup/SKILL.md +0 -0
- /package/{skills → .gos/skills}/component-dedup/SKILL.md +0 -0
- /package/{skills → .gos/skills}/design-to-code/SKILL.md +0 -0
- /package/{skills → .gos/skills}/figma-implement-design/SKILL.md +0 -0
- /package/{skills → .gos/skills}/figma-make-analyzer/SKILL.md +0 -0
- /package/{skills → .gos/skills}/frontend-dev/SKILL.md +0 -0
- /package/{skills → .gos/skills}/git-ssh-setup/SKILL.md +0 -0
- /package/{skills → .gos/skills}/interface-design/SKILL.md +0 -0
- /package/{skills → .gos/skills}/interface-design/references/audit.md +0 -0
- /package/{skills → .gos/skills}/interface-design/references/craft-examples.md +0 -0
- /package/{skills → .gos/skills}/interface-design/references/critique.md +0 -0
- /package/{skills → .gos/skills}/interface-design/references/extract.md +0 -0
- /package/{skills → .gos/skills}/interface-design/references/principles.md +0 -0
- /package/{skills → .gos/skills}/interface-design/references/templates/system-precision.md +0 -0
- /package/{skills → .gos/skills}/interface-design/references/templates/system-warmth.md +0 -0
- /package/{skills → .gos/skills}/interface-design/references/validation.md +0 -0
- /package/{skills → .gos/skills}/make-code-triage/SKILL.md +0 -0
- /package/{skills → .gos/skills}/make-version-diff/SKILL.md +0 -0
- /package/{skills → .gos/skills}/plan-to-tasks/SKILL.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/AGENTS.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/SKILL.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/metadata.json +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/_sections.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/_template.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/advanced-event-handler-refs.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/advanced-init-once.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/advanced-use-latest.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/async-api-routes.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/async-defer-await.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/async-dependencies.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/async-parallel.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/async-suspense-boundaries.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/bundle-barrel-imports.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/bundle-conditional.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/bundle-defer-third-party.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/bundle-dynamic-imports.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/bundle-preload.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/client-event-listeners.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/client-localstorage-schema.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/client-passive-event-listeners.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/client-swr-dedup.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/js-batch-dom-css.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/js-cache-function-results.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/js-cache-property-access.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/js-cache-storage.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/js-combine-iterations.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/js-early-exit.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/js-hoist-regexp.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/js-index-maps.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/js-length-check-first.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/js-min-max-loop.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/js-set-map-lookups.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/js-tosorted-immutable.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/rendering-activity.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/rendering-conditional-render.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/rendering-content-visibility.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/rendering-hoist-jsx.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/rendering-hydration-no-flicker.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/rendering-hydration-suppress-warning.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/rendering-svg-precision.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/rendering-usetransition-loading.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/rerender-defer-reads.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/rerender-dependencies.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/rerender-derived-state-no-effect.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/rerender-derived-state.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/rerender-functional-setstate.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/rerender-lazy-state-init.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/rerender-memo-with-default-value.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/rerender-memo.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/rerender-move-effect-to-event.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/rerender-simple-expression-in-memo.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/rerender-transitions.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/rerender-use-ref-transient-values.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/server-after-nonblocking.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/server-auth-actions.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/server-cache-lru.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/server-cache-react.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/server-dedup-props.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/server-hoist-static-io.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/server-parallel-fetching.md +0 -0
- /package/{skills → .gos/skills}/react-best-practices/rules/server-serialization.md +0 -0
- /package/{skills → .gos/skills}/react-doctor/SKILL.md +0 -0
- /package/{skills → .gos/skills}/registry.json +0 -0
- /package/{skills → .gos/skills}/sprint-planner/SKILL.md +0 -0
- /package/{squads → .gos/squads}/design-delivery/README.md +0 -0
- /package/{squads → .gos/squads}/design-delivery/squad.yaml +0 -0
- /package/{squads → .gos/squads}/design-delivery/workflows/wf-design-delivery.yaml +0 -0
- /package/{squads → .gos/squads}/design-squad/README.md +0 -0
- /package/{squads → .gos/squads}/design-squad/agents/brad-frost.md +0 -0
- /package/{squads → .gos/squads}/design-squad/agents/dan-mall.md +0 -0
- /package/{squads → .gos/squads}/design-squad/agents/dave-malouf.md +0 -0
- /package/{squads → .gos/squads}/design-squad/agents/design-chief.md +0 -0
- /package/{squads → .gos/squads}/design-squad/agents/design-system-architect.md +0 -0
- /package/{squads → .gos/squads}/design-squad/agents/ui-engineer.md +0 -0
- /package/{squads → .gos/squads}/design-squad/agents/ux-designer.md +0 -0
- /package/{squads → .gos/squads}/design-squad/agents/visual-generator.md +0 -0
- /package/{squads → .gos/squads}/design-squad/checklists/output-quality.md +0 -0
- /package/{squads → .gos/squads}/design-squad/config/config.yaml +0 -0
- /package/{squads → .gos/squads}/design-squad/data/design-patterns-catalog.yaml +0 -0
- /package/{squads → .gos/squads}/design-squad/data/routing-catalog.yaml +0 -0
- /package/{squads → .gos/squads}/design-squad/squad.yaml +0 -0
- /package/{squads → .gos/squads}/design-squad/tasks/audit-design.md +0 -0
- /package/{squads → .gos/squads}/design-squad/tasks/create-component-spec.md +0 -0
- /package/{squads → .gos/squads}/design-squad/tasks/create-design-system.md +0 -0
- /package/{squads → .gos/squads}/design-squad/tasks/design-ux-flow.md +0 -0
- /package/{squads → .gos/squads}/design-squad/tasks/diagnose.md +0 -0
- /package/{squads → .gos/squads}/design-squad/tasks/generate-handoff.md +0 -0
- /package/{squads → .gos/squads}/design-squad/tasks/review.md +0 -0
- /package/{squads → .gos/squads}/design-squad/tasks/setup-design-ops.md +0 -0
- /package/{squads → .gos/squads}/design-squad/workflows/wf-design-system-creation.yaml +0 -0
- /package/{squads → .gos/squads}/design-squad/workflows/wf-feature-design.yaml +0 -0
- /package/{squads → .gos/squads}/git-operations/README.md +0 -0
- /package/{squads → .gos/squads}/git-operations/squad.yaml +0 -0
- /package/{squads → .gos/squads}/git-operations/workflows/wf-safe-commit.yaml +0 -0
- /package/{squads → .gos/squads}/git-operations/workflows/wf-ssh-setup.yaml +0 -0
- /package/{squads → .gos/squads}/sprint-planning/agents/sprint-chief.md +0 -0
- /package/{squads → .gos/squads}/sprint-planning/agents/sprint-planner-agent.md +0 -0
- /package/{squads → .gos/squads}/sprint-planning/agents/sprint-tracker.md +0 -0
- /package/{squads → .gos/squads}/sprint-planning/agents/task-importer.md +0 -0
- /package/{squads → .gos/squads}/sprint-planning/checklists/sprint-readiness.md +0 -0
- /package/{squads → .gos/squads}/sprint-planning/config/config.yaml +0 -0
- /package/{squads → .gos/squads}/sprint-planning/data/clickup-field-mapping.yaml +0 -0
- /package/{squads → .gos/squads}/sprint-planning/squad.yaml +0 -0
- /package/{squads → .gos/squads}/sprint-planning/tasks/close-sprint.md +0 -0
- /package/{squads → .gos/squads}/sprint-planning/tasks/create-sprint.md +0 -0
- /package/{squads → .gos/squads}/sprint-planning/tasks/import-tasks.md +0 -0
- /package/{squads → .gos/squads}/sprint-planning/tasks/sync-status.md +0 -0
- /package/{squads → .gos/squads}/sprint-planning/workflows/wf-sprint-creation.yaml +0 -0
- /package/{squads → .gos/squads}/sprint-planning/workflows/wf-sprint-sync.yaml +0 -0
- /package/{templates → .gos/templates}/adr-tmpl.yaml +0 -0
- /package/{templates → .gos/templates}/sprint-clickup.template.md +0 -0
|
@@ -4,6 +4,9 @@ ganbatte-os is a modern operational framework designed for **design-to-code**, d
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
[](https://www.npmjs.com/package/ganbatte-os)
|
|
8
|
+
[](https://www.npmjs.com/package/ganbatte-os)
|
|
9
|
+
|
|
7
10
|
## 🛠 Prerequisites
|
|
8
11
|
|
|
9
12
|
Before starting, ensure you have the following installed:
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.2.0",
|
|
3
|
+
"runtime": "gos-design-delivery",
|
|
4
|
+
"preserveUserContent": [
|
|
5
|
+
"packages/",
|
|
6
|
+
"data/sprints/",
|
|
7
|
+
"data/clients/",
|
|
8
|
+
".gos-local/",
|
|
9
|
+
".gos/config.json"
|
|
10
|
+
],
|
|
11
|
+
"frameworkManaged": [
|
|
12
|
+
".gos/agents/",
|
|
13
|
+
".gos/skills/",
|
|
14
|
+
".gos/squads/",
|
|
15
|
+
".gos/templates/",
|
|
16
|
+
".gos/prompts/",
|
|
17
|
+
".gos/integrations/",
|
|
18
|
+
".gos/scripts/",
|
|
19
|
+
".gos/manifests/",
|
|
20
|
+
".gos/docs/",
|
|
21
|
+
".gos/playbooks/",
|
|
22
|
+
".gos/config.json",
|
|
23
|
+
".gos/opencode.json",
|
|
24
|
+
"AGENTS.md",
|
|
25
|
+
"CLAUDE.md",
|
|
26
|
+
"GEMINI.md"
|
|
27
|
+
],
|
|
28
|
+
"requiredPaths": [
|
|
29
|
+
".gos/agents/profiles/index.json",
|
|
30
|
+
".gos/skills/registry.json",
|
|
31
|
+
".gos/manifests/g-os-runtime-manifest.json",
|
|
32
|
+
".gos/scripts/cli/gos-cli.js",
|
|
33
|
+
".gos/scripts/integrations/setup-ide-adapters.js",
|
|
34
|
+
".gos/scripts/integrations/check-ide-compat.js",
|
|
35
|
+
"AGENTS.md",
|
|
36
|
+
"CLAUDE.md"
|
|
37
|
+
],
|
|
38
|
+
"gitignoreEntries": [
|
|
39
|
+
".gos-local/",
|
|
40
|
+
".temp/",
|
|
41
|
+
".backups/",
|
|
42
|
+
"packages/*/figma-make/",
|
|
43
|
+
"packages/*/node_modules/",
|
|
44
|
+
".env",
|
|
45
|
+
".env.local",
|
|
46
|
+
".env.*.local"
|
|
47
|
+
]
|
|
48
|
+
}
|
|
@@ -23,7 +23,7 @@ const VERSION = '0.2.0';
|
|
|
23
23
|
const UPSTREAM_REMOTE = 'upstream';
|
|
24
24
|
const UPSTREAM_BRANCH = 'main';
|
|
25
25
|
const LOCAL_DIR = '.gos-local';
|
|
26
|
-
const MANIFEST_PATH = 'manifests/gos-install-manifest.json';
|
|
26
|
+
const MANIFEST_PATH = '.gos/manifests/gos-install-manifest.json';
|
|
27
27
|
|
|
28
28
|
// ---------------------------------------------------------------------------
|
|
29
29
|
// Utilitarios
|
|
@@ -96,7 +96,7 @@ function getFlagValue(args, flag) {
|
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
function getRoot() {
|
|
99
|
-
return path.resolve(__dirname, '..', '..');
|
|
99
|
+
return path.resolve(__dirname, '..', '..', '..');
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
/**
|
|
@@ -277,11 +277,20 @@ function cmdInstall(args) {
|
|
|
277
277
|
process.exit(1);
|
|
278
278
|
}
|
|
279
279
|
|
|
280
|
-
// 2. Copiar arquivos do framework
|
|
281
|
-
const exclude = ['.git', '.gos-local', 'node_modules', 'package-lock.json', 'install-log.json', 'update-log.json'];
|
|
280
|
+
// 2. Copiar arquivos do framework
|
|
282
281
|
log('Copiando arquivos do framework...');
|
|
283
282
|
try {
|
|
284
|
-
|
|
283
|
+
// Copiar pasta .gos inteira
|
|
284
|
+
copyDirRecursive(path.join(sourceRoot, '.gos'), path.join(targetRoot, '.gos'));
|
|
285
|
+
|
|
286
|
+
// Copiar arquivos .md da raiz
|
|
287
|
+
const rootFiles = ['AGENTS.md', 'CLAUDE.md', 'GEMINI.md', 'README.md', 'LICENSE'];
|
|
288
|
+
for (const file of rootFiles) {
|
|
289
|
+
const src = path.join(sourceRoot, file);
|
|
290
|
+
if (pathExists(src)) {
|
|
291
|
+
fs.copyFileSync(src, path.join(targetRoot, file));
|
|
292
|
+
}
|
|
293
|
+
}
|
|
285
294
|
ok('Arquivos copiados com sucesso.');
|
|
286
295
|
} catch (e) {
|
|
287
296
|
fail(`Erro ao copiar arquivos: ${e.message}`);
|
|
@@ -492,24 +501,24 @@ function cmdDoctor(root) {
|
|
|
492
501
|
}
|
|
493
502
|
|
|
494
503
|
// 3. Runtime manifest
|
|
495
|
-
const runtime = readJson(path.join(root, 'manifests', 'g-os-runtime-manifest.json'));
|
|
504
|
+
const runtime = readJson(path.join(root, '.gos', 'manifests', 'g-os-runtime-manifest.json'));
|
|
496
505
|
check('Runtime manifest g-os-runtime-manifest.json', !!runtime);
|
|
497
506
|
|
|
498
507
|
// 4. Agents
|
|
499
508
|
if (runtime && runtime.modules && runtime.modules.agents) {
|
|
500
509
|
for (const agent of runtime.modules.agents) {
|
|
501
|
-
const agentFile = path.join(root, 'agents', 'profiles', `${agent}.md`);
|
|
510
|
+
const agentFile = path.join(root, '.gos', 'agents', 'profiles', `${agent}.md`);
|
|
502
511
|
check(`Agent: ${agent}`, pathExists(agentFile));
|
|
503
512
|
}
|
|
504
513
|
}
|
|
505
514
|
|
|
506
515
|
// 5. Skills
|
|
507
|
-
const skillsRegistry = readJson(path.join(root, 'skills', 'registry.json'));
|
|
516
|
+
const skillsRegistry = readJson(path.join(root, '.gos', 'skills', 'registry.json'));
|
|
508
517
|
check('Skills registry', !!skillsRegistry);
|
|
509
518
|
|
|
510
519
|
if (runtime && runtime.modules && runtime.modules.skills) {
|
|
511
520
|
for (const skill of runtime.modules.skills) {
|
|
512
|
-
const skillFile = path.join(root, 'skills', skill, 'SKILL.md');
|
|
521
|
+
const skillFile = path.join(root, '.gos', 'skills', skill, 'SKILL.md');
|
|
513
522
|
check(`Skill: ${skill}`, pathExists(skillFile));
|
|
514
523
|
}
|
|
515
524
|
}
|
|
@@ -31,12 +31,12 @@ function skillWrapper(slug, target) {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
function main() {
|
|
34
|
-
const agents = readJson(path.join(root, 'agents', 'profiles', 'index.json')).profiles;
|
|
35
|
-
const skills = readJson(path.join(root, 'skills', 'registry.json')).skills;
|
|
34
|
+
const agents = readJson(path.join(root, '.gos', 'agents', 'profiles', 'index.json')).profiles;
|
|
35
|
+
const skills = readJson(path.join(root, '.gos', 'skills', 'registry.json')).skills;
|
|
36
36
|
|
|
37
37
|
for (const agent of agents) {
|
|
38
38
|
const claudeFile = path.join(root, '.claude', 'commands', 'gos', 'agents', `${agent.id}.md`);
|
|
39
|
-
const target = relativeTarget(claudeFile, path.join(root, 'agents', 'profiles', agent.path));
|
|
39
|
+
const target = relativeTarget(claudeFile, path.join(root, '.gos', 'agents', 'profiles', agent.path));
|
|
40
40
|
writeFile(claudeFile, agentWrapper(agent.id, target));
|
|
41
41
|
}
|
|
42
42
|
|
|
@@ -47,10 +47,10 @@ function main() {
|
|
|
47
47
|
const geminiSkill = path.join(root, '.gemini', 'skills', `gos-${skill.slug}`, 'SKILL.md');
|
|
48
48
|
const opencodeSkill = path.join(root, '.opencode', 'skills', `gos-${skill.slug}`, 'SKILL.md');
|
|
49
49
|
|
|
50
|
-
writeFile(claudeSkill, skillWrapper(skill.slug, relativeTarget(claudeSkill, path.join(root, skillTargetPath))));
|
|
51
|
-
writeFile(codexSkill, skillWrapper(skill.slug, relativeTarget(codexSkill, path.join(root, skillTargetPath))));
|
|
52
|
-
writeFile(geminiSkill, skillWrapper(skill.slug, relativeTarget(geminiSkill, path.join(root, skillTargetPath))));
|
|
53
|
-
writeFile(opencodeSkill, skillWrapper(skill.slug, relativeTarget(opencodeSkill, path.join(root, skillTargetPath))));
|
|
50
|
+
writeFile(claudeSkill, skillWrapper(skill.slug, relativeTarget(claudeSkill, path.join(root, '.gos', skillTargetPath))));
|
|
51
|
+
writeFile(codexSkill, skillWrapper(skill.slug, relativeTarget(codexSkill, path.join(root, '.gos', skillTargetPath))));
|
|
52
|
+
writeFile(geminiSkill, skillWrapper(skill.slug, relativeTarget(geminiSkill, path.join(root, '.gos', skillTargetPath))));
|
|
53
|
+
writeFile(opencodeSkill, skillWrapper(skill.slug, relativeTarget(opencodeSkill, path.join(root, '.gos', skillTargetPath))));
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
const antigravityInstructions = [
|
|
@@ -59,7 +59,7 @@ function main() {
|
|
|
59
59
|
'Leia sempre:',
|
|
60
60
|
'- `AGENTS.md`',
|
|
61
61
|
'- `CLAUDE.md`',
|
|
62
|
-
'-
|
|
62
|
+
'- `.gos/docs/toolchain-map.md`',
|
|
63
63
|
'',
|
|
64
64
|
'Agentes disponiveis:',
|
|
65
65
|
...agents.map((agent) => `- ${agent.id}`),
|
package/README.md
CHANGED
|
@@ -6,6 +6,7 @@ Framework operacional para design-to-code, squads de entrega e sprint sync com C
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
[](https://www.npmjs.com/package/ganbatte-os)
|
|
9
|
+
[](https://www.npmjs.com/package/ganbatte-os)
|
|
9
10
|

|
|
10
11
|
|
|
11
12
|
O ganbatte-os organiza agentes de IA, skills e squads num workspace pronto para uso. Ele conecta Figma, ClickUp e 7 IDEs diferentes para acelerar a entrega de projetos de software. Baseado no framework .a8z-OS.
|
package/package.json
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ganbatte-os",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "Framework operacional para design-to-code, squads de entrega e sprint sync com ClickUp.",
|
|
5
5
|
"bin": {
|
|
6
|
-
"ganbatte-os": "scripts/cli/gos-cli.js",
|
|
7
|
-
"gos": "scripts/cli/gos-cli.js"
|
|
6
|
+
"ganbatte-os": ".gos/scripts/cli/gos-cli.js",
|
|
7
|
+
"gos": ".gos/scripts/cli/gos-cli.js"
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
|
-
"ganbatte-os:init": "node scripts/cli/gos-cli.js init",
|
|
11
|
-
"ganbatte-os:update": "node scripts/cli/gos-cli.js update",
|
|
12
|
-
"ganbatte-os:doctor": "node scripts/cli/gos-cli.js doctor",
|
|
13
|
-
"ganbatte-os:version": "node scripts/cli/gos-cli.js version",
|
|
14
|
-
"gos:init": "node scripts/cli/gos-cli.js init",
|
|
15
|
-
"gos:update": "node scripts/cli/gos-cli.js update",
|
|
16
|
-
"gos:doctor": "node scripts/cli/gos-cli.js doctor",
|
|
17
|
-
"gos:version": "node scripts/cli/gos-cli.js version",
|
|
18
|
-
"clickup": "node scripts/tools/clickup.js",
|
|
19
|
-
"sync:ides": "node scripts/integrations/setup-ide-adapters.js",
|
|
20
|
-
"check:ides": "node scripts/integrations/check-ide-compat.js",
|
|
21
|
-
"doctor": "node scripts/cli/gos-cli.js doctor"
|
|
10
|
+
"ganbatte-os:init": "node .gos/scripts/cli/gos-cli.js init",
|
|
11
|
+
"ganbatte-os:update": "node .gos/scripts/cli/gos-cli.js update",
|
|
12
|
+
"ganbatte-os:doctor": "node .gos/scripts/cli/gos-cli.js doctor",
|
|
13
|
+
"ganbatte-os:version": "node .gos/scripts/cli/gos-cli.js version",
|
|
14
|
+
"gos:init": "node .gos/scripts/cli/gos-cli.js init",
|
|
15
|
+
"gos:update": "node .gos/scripts/cli/gos-cli.js update",
|
|
16
|
+
"gos:doctor": "node .gos/scripts/cli/gos-cli.js doctor",
|
|
17
|
+
"gos:version": "node .gos/scripts/cli/gos-cli.js version",
|
|
18
|
+
"clickup": "node .gos/scripts/tools/clickup.js",
|
|
19
|
+
"sync:ides": "node .gos/scripts/integrations/setup-ide-adapters.js",
|
|
20
|
+
"check:ides": "node .gos/scripts/integrations/check-ide-compat.js",
|
|
21
|
+
"doctor": "node .gos/scripts/cli/gos-cli.js doctor"
|
|
22
22
|
},
|
|
23
23
|
"engines": {
|
|
24
24
|
"node": ">=18"
|
|
@@ -30,19 +30,7 @@
|
|
|
30
30
|
"license": "MIT",
|
|
31
31
|
"author": "Adriano Morais",
|
|
32
32
|
"files": [
|
|
33
|
-
"
|
|
34
|
-
"skills/",
|
|
35
|
-
"squads/",
|
|
36
|
-
"scripts/",
|
|
37
|
-
"manifests/",
|
|
38
|
-
"docs/",
|
|
39
|
-
"integrations/",
|
|
40
|
-
"templates/",
|
|
41
|
-
"prompts/",
|
|
42
|
-
"rules/",
|
|
43
|
-
"playbooks/",
|
|
44
|
-
"config.json",
|
|
45
|
-
"opencode.json",
|
|
33
|
+
".gos/",
|
|
46
34
|
"AGENTS.md",
|
|
47
35
|
"CLAUDE.md",
|
|
48
36
|
"GEMINI.md",
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": "0.2.0",
|
|
3
|
-
"runtime": "gos-design-delivery",
|
|
4
|
-
"preserveUserContent": [
|
|
5
|
-
"packages/",
|
|
6
|
-
"data/sprints/",
|
|
7
|
-
"data/clients/",
|
|
8
|
-
".gos-local/",
|
|
9
|
-
"config.json"
|
|
10
|
-
],
|
|
11
|
-
"frameworkManaged": [
|
|
12
|
-
"agents/",
|
|
13
|
-
"skills/",
|
|
14
|
-
"squads/",
|
|
15
|
-
"templates/",
|
|
16
|
-
"prompts/",
|
|
17
|
-
"integrations/",
|
|
18
|
-
"scripts/",
|
|
19
|
-
"manifests/",
|
|
20
|
-
"docs/",
|
|
21
|
-
"playbooks/",
|
|
22
|
-
"AGENTS.md",
|
|
23
|
-
"CLAUDE.md",
|
|
24
|
-
"GEMINI.md"
|
|
25
|
-
],
|
|
26
|
-
"requiredPaths": [
|
|
27
|
-
"agents/profiles/index.json",
|
|
28
|
-
"skills/registry.json",
|
|
29
|
-
"manifests/g-os-runtime-manifest.json",
|
|
30
|
-
"scripts/cli/gos-cli.js",
|
|
31
|
-
"scripts/integrations/setup-ide-adapters.js",
|
|
32
|
-
"scripts/integrations/check-ide-compat.js",
|
|
33
|
-
"AGENTS.md",
|
|
34
|
-
"CLAUDE.md"
|
|
35
|
-
],
|
|
36
|
-
"gitignoreEntries": [
|
|
37
|
-
".gos-local/",
|
|
38
|
-
".temp/",
|
|
39
|
-
".backups/",
|
|
40
|
-
"packages/*/figma-make/",
|
|
41
|
-
"packages/*/node_modules/",
|
|
42
|
-
".env",
|
|
43
|
-
".env.local",
|
|
44
|
-
".env.*.local"
|
|
45
|
-
]
|
|
46
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{skills → .gos/skills}/react-best-practices/rules/client-passive-event-listeners.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{skills → .gos/skills}/react-best-practices/rules/rendering-hydration-no-flicker.md
RENAMED
|
File without changes
|
/package/{skills → .gos/skills}/react-best-practices/rules/rendering-hydration-suppress-warning.md
RENAMED
|
File without changes
|
|
File without changes
|
/package/{skills → .gos/skills}/react-best-practices/rules/rendering-usetransition-loading.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{skills → .gos/skills}/react-best-practices/rules/rerender-derived-state-no-effect.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{skills → .gos/skills}/react-best-practices/rules/rerender-memo-with-default-value.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{skills → .gos/skills}/react-best-practices/rules/rerender-simple-expression-in-memo.md
RENAMED
|
File without changes
|
|
File without changes
|
/package/{skills → .gos/skills}/react-best-practices/rules/rerender-use-ref-transient-values.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|