gsd-antigravity-kit 1.0.0

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.
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: gsd-converter
3
+ description: "A tool for converting standard GSD (Get Shit Done) installations into the Antigravity Skill format. Use this skill when you want to migrate `.claude/gsd` commands, agents, and templates into a portable, spec-driven skill structure for Claude Code."
4
+ ---
5
+
6
+ # GSD to Antigravity Skill Converter
7
+
8
+ This skill provides the logic and resources to package a locally installed GSD system into a structured Antigravity Skill.
9
+
10
+ ## Why Convert?
11
+ 1. **Portability**: Skills can be shared and loaded across different projects more easily than local `.claude` commands.
12
+ 2. **Spec-Driven**: Leverages the Antigravity spec-driven coding system for better reliability.
13
+ 3. **Organized**: Separates commands, documentation, workflows, and templates into clear directories.
14
+
15
+ ## Conversion Workflow
16
+
17
+ 1. **Cleanup**: Deletes existing `.agent/skills/gsd/` folder to ensure a clean slate.
18
+
19
+ 2. **Installation**: Runs `npx get-shit-done-cc --claude --local --force-statusline` to fetch/refresh the source files in `.claude/`.
20
+
21
+ 3. **Detection**: The skill locates the fresh GSD files:
22
+ - Commands: `.claude/commands/gsd/`
23
+ - Docs/Workflows: `.claude/get-shit-done/`
24
+ - Agents: `.claude/agents/`
25
+
26
+ 4. **Initialization**: Re-creates the target skill structure in `.agent/skills/gsd/`.
27
+
28
+ 5. **Migration**:
29
+ - Copies command markdown files to `references/commands/`.
30
+ - Copies reference docs to `references/docs/`.
31
+ - Copies workflows to `references/workflows/`.
32
+ - Copies agents to `references/agents/`.
33
+ - Copies templates to `assets/templates/`.
34
+
35
+ 6. **Refactoring**:
36
+ - Rewrites file inclusion paths (e.g., `@./.claude/...`) to the new skill-relative format (e.g., `@references/...`).
37
+ - Updates `Task()` prompt paths for subagents.
38
+ - **Rebranding**: Automatically converts "Claude" and "Claude Code" mentions to "Antigravity" throughout all migrated files.
39
+
40
+ 7. **Packaging**: Generates a comprehensive `SKILL.md` using the `assets/gsd_skill_template.md` template, ensuring compliance with skill-developer best practices.
41
+
42
+ ## Usage
43
+
44
+ Run the conversion script:
45
+ ```bash
46
+ python .agent/skills/gsd-converter/scripts/convert.py <target-skill-name>
47
+ ```
48
+
49
+ Refer to `references/mapping.md` for details on how paths are translated.
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: {skill_name}
3
+ description: "Antigravity GSD (Get Stuff Done) - A spec-driven hierarchical planning and execution system. Triggers on project planning, phase management, and GSD slash commands."
4
+ ---
5
+
6
+ # {title_name}
7
+
8
+ ## Purpose
9
+
10
+ The Antigravity GSD (Get Stuff Done) skill implements a rigid, spec-driven hierarchy for managing software development tasks. It enforces a separation of concerns between Planning, Execution, and Verification phases to reduce context switching and improve reliability.
11
+
12
+ ## When to Use This Skill
13
+
14
+ This skill should be used when:
15
+ 1. **Starting a Project**: Initializing a new codebase or feature set with a clear structure.
16
+ 2. **Planning Work**: Breaking down vague requirements into actionable, verified specifications.
17
+ 3. **Executing Tasks**: Implementing code based on approved specs without context switching.
18
+ 4. **Managing State**: Tracking progress through defined phases (Plan -> Execute -> Verify).
19
+
20
+ **Triggers:**
21
+ - Keywords: "plan phase", "execute phase", "new project spec", "gsd"
22
+ - Commands:
23
+ {command_triggers}
24
+
25
+ ## System Overview
26
+
27
+ ### 1. Phase-Based Development
28
+ The system enforces distinct phases. You typically cannot execute until you have planned.
29
+ - **Plan**: Define specs, tasks, and acceptance criteria. Output is a plan artifact.
30
+ - **Execute**: Write code to satisfy the specs. Driven by the plan artifact.
31
+ - **Verify**: Confirm the code meets criteria.
32
+
33
+ ### 2. Available Commands
34
+ The following slash commands are available in this skill. Use them to drive the GSD process:
35
+
36
+ {commands_list}
37
+
38
+ ### 3. Directory Structure
39
+ The skill uses a standardized directory structure for portability and organization:
40
+ - `references/commands/`: Executable slash command definitions.
41
+ - `references/agents/`: Specialized agent prompts and personas used by the commands.
42
+ - `references/workflows/`: Step-by-step standard operating procedures and guidelines.
43
+ - `references/docs/`: Contextual documentation and guides on the GSD philosophy.
44
+ - `assets/templates/`: Reusable file structures for plans, tasks, and reports.
45
+
46
+ ## Reference Files
47
+
48
+ For detailed instructions, consult the following resources:
49
+
50
+ ### [Commands Reference](references/commands/)
51
+ List of all available slash commands and their detailed arguments. Look here to understand how to invoke specific GSD actions.
52
+
53
+ ### [Workflow Guides](references/workflows/)
54
+ Standard procedures for common development tasks. These documents describe the "how-to" for the GSD process.
55
+
56
+ ### [Agent Definitions](references/agents/)
57
+ Capabilities and personas of the specialized agents. Useful for understanding who does what in the multi-agent setup.
58
+
59
+ ### [Documentation](references/docs/)
60
+ General documentation on the GSD philosophy, usage patterns, and configuration.
61
+
62
+ ## Best Practices
63
+
64
+ 1. **Follow the Sequence**: Do not skip the Planning phase. A good plan saves hours of debugging.
65
+ 2. **Use Templates**: Leverage `assets/templates/` for consistent file structures.
66
+ 3. **Update State**: Keep the project state synchronized using `/gsd:progress`.
67
+ 4. **One Context**: Keep separate contexts (channels/threads) for Planning vs Execution to avoid contamination.
68
+
69
+ ---
70
+ *Generated by gsd-converter on {date}*
@@ -0,0 +1,32 @@
1
+ # Path Mapping Reference
2
+
3
+ When converting from a standard GSD installation to an Antigravity Skill, paths are refactored to ensure the skill is self-contained and portable.
4
+
5
+ ## Directory Mapping
6
+
7
+ | Source GSD Path | Target Skill Path | Purpose |
8
+ |-----------------|-------------------|---------|
9
+ | `.claude/commands/gsd/` | `references/commands/` | Interactive slash commands |
10
+ | `.claude/get-shit-done/references/` | `references/docs/` | Static domain knowledge and guides |
11
+ | `.claude/get-shit-done/workflows/` | `references/workflows/` | Multi-step procedural logic |
12
+ | `.claude/agents/` | `references/agents/` | Specialized sub-agent system prompts |
13
+ | `.claude/get-shit-done/templates/` | `assets/templates/` | File boilerplate (PROJECT.md, etc.) |
14
+
15
+ ## String Replacements (Regex)
16
+
17
+ The conversion script performs the following replacements within `.md` and `.json` files:
18
+
19
+ 1. **File Inclusion Syntax (`@`)**
20
+ - `@./.claude/commands/gsd/` -> `@references/commands/`
21
+ - `@./.claude/get-shit-done/references/` -> `@references/docs/`
22
+ - `@./.claude/get-shit-done/workflows/` -> `@references/workflows/`
23
+ - `@./.claude/get-shit-done/templates/` -> `@assets/templates/`
24
+ - `@./.claude/agents/` -> `@references/agents/`
25
+
26
+ 2. **Programmatic Paths (e.g., in `Task()` calls)**
27
+ - `./.claude/agents/` -> `references/agents/`
28
+ - `./.claude/get-shit-done/templates/` -> `assets/templates/`
29
+ - `./.claude/get-shit-done/workflows/` -> `references/workflows/`
30
+
31
+ ## Project Context
32
+ References to `@.planning/` are **preserved**, as these refer to the active project's local planning directory, not the skill's own resources.
@@ -0,0 +1,221 @@
1
+ import os
2
+ import re
3
+ import shutil
4
+ import sys
5
+ import argparse
6
+ import subprocess
7
+ from datetime import datetime
8
+
9
+ def setup_args():
10
+ parser = argparse.ArgumentParser(description='Convert GSD to Antigravity Skill format.')
11
+ parser.add_argument('skill_name', nargs='?', default='gsd', help='Name of the target skill (default: gsd)')
12
+ parser.add_argument('--path', default='.agent/skills', help='Base path for skills directory')
13
+ parser.add_argument('--source', default='.claude', help='Source .claude directory')
14
+ return parser.parse_args()
15
+
16
+ def get_gsd_version(source_base):
17
+ version_path = os.path.join(source_base, 'get-shit-done', 'VERSION')
18
+ if os.path.exists(version_path):
19
+ try:
20
+ with open(version_path, 'r', encoding='utf-8') as f:
21
+ return f.read().strip()
22
+ except Exception:
23
+ return "unknown"
24
+ return "not installed"
25
+
26
+ def run_gsd_install():
27
+ print("πŸ“₯ Running fresh GSD installation via npx...")
28
+ try:
29
+ # We use shell=True because npx is often a shell script/cmd on Windows
30
+ result = subprocess.run(
31
+ ["npx", "get-shit-done-cc", "--claude", "--local", "--force-statusline"],
32
+ check=True,
33
+ capture_output=True,
34
+ text=True,
35
+ shell=True
36
+ )
37
+ print(" βœ… GSD installed successfully to .claude/")
38
+ except subprocess.CalledProcessError as e:
39
+ print(f" ❌ Failed to run npx installation: {e}")
40
+ print(f" Output: {e.output}")
41
+ sys.exit(1)
42
+
43
+ def migrate_files(source_base, target_base):
44
+ print(f"πŸš€ Starting migration from {source_base} to {target_base}...")
45
+
46
+ # Define mappings (source_rel, target_rel)
47
+ mappings = [
48
+ ('commands/gsd', 'references/commands'),
49
+ ('get-shit-done/references', 'references/docs'),
50
+ ('get-shit-done/workflows', 'references/workflows'),
51
+ ('agents', 'references/agents'),
52
+ ('get-shit-done/templates', 'assets/templates')
53
+ ]
54
+
55
+ for src_rel, tgt_rel in mappings:
56
+ src_path = os.path.join(source_base, src_rel)
57
+ tgt_path = os.path.join(target_base, tgt_rel)
58
+
59
+ if os.path.exists(src_path):
60
+ print(f" πŸ“ Migrating {src_rel} -> {tgt_rel}")
61
+ if not os.path.exists(tgt_path):
62
+ os.makedirs(tgt_path, exist_ok=True)
63
+
64
+ for item in os.listdir(src_path):
65
+ s = os.path.join(src_path, item)
66
+ d = os.path.join(tgt_path, item)
67
+ if os.path.isdir(s):
68
+ shutil.copytree(s, d, dirs_exist_ok=True)
69
+ else:
70
+ shutil.copy2(s, d)
71
+ else:
72
+ print(f" ⚠️ Source not found: {src_path}")
73
+
74
+ def refactor_content(target_base):
75
+ print("πŸ”§ Refactoring file contents and paths...")
76
+
77
+ replacements = [
78
+ (r'@\./\.claude/commands/gsd/', '@references/commands/'),
79
+ (r'@\./\.claude/get-shit-done/references/', '@references/docs/'),
80
+ (r'@\./\.claude/get-shit-done/workflows/', '@references/workflows/'),
81
+ (r'@\./\.claude/get-shit-done/templates/', '@assets/templates/'),
82
+ (r'@\./\.claude/agents/', '@references/agents/'),
83
+ (r'\./\.claude/agents/', 'references/agents/'),
84
+ (r'\./\.claude/get-shit-done/templates/', 'assets/templates/'),
85
+ (r'\./\.claude/get-shit-done/workflows/', 'references/workflows/'),
86
+ # Textual replacements
87
+ (r'\bClaude Code\b', 'Antigravity'),
88
+ (r'\bClaude\b', 'Antigravity'),
89
+ (r'\bclaude\b', 'antigravity'),
90
+ (r'\bCLAUDE\b', 'ANTIGRAVITY'),
91
+ ]
92
+
93
+ for root, dirs, files in os.walk(target_base):
94
+ for file in files:
95
+ if file.endswith('.md') or file.endswith('.json'):
96
+ file_path = os.path.join(root, file)
97
+ with open(file_path, 'r', encoding='utf-8') as f:
98
+ content = f.read()
99
+
100
+ new_content = content
101
+ for pattern, replacement in replacements:
102
+ new_content = re.sub(pattern, replacement, new_content)
103
+
104
+ if new_content != content:
105
+ with open(file_path, 'w', encoding='utf-8') as f:
106
+ f.write(new_content)
107
+
108
+ def scan_commands(target_base):
109
+ commands_dir = os.path.join(target_base, 'references', 'commands')
110
+ commands = []
111
+ if os.path.exists(commands_dir):
112
+ for f in sorted(os.listdir(commands_dir)):
113
+ if f.endswith('.md'):
114
+ cmd_name = f[:-3] # remove .md
115
+ file_path = os.path.join(commands_dir, f)
116
+ description = ""
117
+ try:
118
+ with open(file_path, 'r', encoding='utf-8') as cf:
119
+ lines = cf.readlines()
120
+ # Simple frontmatter parsing
121
+ if lines and lines[0].strip() == '---':
122
+ for line in lines[1:]:
123
+ if line.strip() == '---':
124
+ break
125
+ if line.strip().startswith('description:'):
126
+ description = line.split(':', 1)[1].strip().strip('"').strip("'")
127
+ break
128
+ except Exception as e:
129
+ print(f" ⚠️ Error parsing {f}: {e}")
130
+
131
+ commands.append({'name': cmd_name, 'description': description})
132
+ return commands
133
+
134
+ def create_skill_md(target_base, skill_name):
135
+ skill_md_path = os.path.join(target_base, 'SKILL.md')
136
+
137
+ # We deliberately overwrite SKILL.md to ensure the command list is always up to date
138
+ # on every run of the converter.
139
+
140
+ # Locate the template file relative to this script
141
+ script_dir = os.path.dirname(os.path.abspath(__file__))
142
+ template_path = os.path.join(script_dir, '..', 'assets', 'gsd_skill_template.md')
143
+
144
+ commands = scan_commands(target_base)
145
+
146
+ # Format for triggers: - `gsd:command`
147
+ command_triggers_str = "\n".join([f"- `gsd:{cmd['name']}`" for cmd in commands])
148
+
149
+ # Format for detailed list: bold command name with link, then description
150
+ # Example: - **[gsd:new-project](references/commands/new-project.md)**: Initialize a new project...
151
+ commands_list_str = "\n".join([
152
+ f"- **[`gsd:{cmd['name']}`](references/commands/{cmd['name']}.md)**: {cmd['description']}"
153
+ for cmd in commands
154
+ ])
155
+
156
+ if not os.path.exists(template_path):
157
+ print(f" ⚠️ Template not found at {template_path}. Using fallback.")
158
+ content = f"""---
159
+ name: {skill_name}
160
+ description: "Antigravity GSD (Get Stuff Done) - Fallback."
161
+ ---
162
+ # {skill_name}
163
+ Template missing.
164
+ """
165
+ else:
166
+ with open(template_path, 'r', encoding='utf-8') as f:
167
+ template_content = f.read()
168
+
169
+ title_name = skill_name.upper()
170
+ date_str = datetime.now().strftime('%Y-%m-%d')
171
+
172
+ try:
173
+ content = template_content.format(
174
+ skill_name=skill_name,
175
+ title_name=title_name,
176
+ date=date_str,
177
+ command_triggers=command_triggers_str,
178
+ commands_list=commands_list_str
179
+ )
180
+ except KeyError as e:
181
+ print(f" ⚠️ Error formatting template: {e}")
182
+ print(" Check if template contains matching keys.")
183
+ content = template_content
184
+
185
+ with open(skill_md_path, 'w', encoding='utf-8') as f:
186
+ f.write(content)
187
+ print(" βœ… Created SKILL.md from template with updated commands")
188
+
189
+ def main():
190
+ args = setup_args()
191
+
192
+ # Enforce 'gsd' as the skill name
193
+ skill_name = 'gsd'
194
+ target_base = os.path.abspath(os.path.join(args.path, skill_name))
195
+
196
+ print(f"🧹 Cleaning up existing skill folder: {target_base}")
197
+ if os.path.exists(target_base):
198
+ shutil.rmtree(target_base)
199
+
200
+ # 0. Capture old version
201
+ old_version = get_gsd_version(args.source)
202
+
203
+ # 1. Run the fresh GSD installation
204
+ run_gsd_install()
205
+
206
+ # 1.1 Capture new version
207
+ new_version = get_gsd_version(args.source)
208
+
209
+ # 2. Re-create the skill directory
210
+ os.makedirs(target_base, exist_ok=True)
211
+
212
+ # 3. Perform migration and refactoring
213
+ migrate_files(args.source, target_base)
214
+ refactor_content(target_base)
215
+ create_skill_md(target_base, skill_name)
216
+
217
+ print(f"\n✨ Skill '{skill_name}' is ready at {target_base}")
218
+ print(f"πŸ“Š GSD Version: {old_version} -> {new_version}")
219
+
220
+ if __name__ == '__main__':
221
+ main()
@@ -0,0 +1,30 @@
1
+ # Contributing to GSD-Antigravity
2
+
3
+ Thank you for your interest in contributing to GSD-Antigravity! We welcome contributions that improve the reliability, efficiency, and extensibility of our GSD system.
4
+
5
+ ## πŸš€ Getting Started
6
+
7
+ 1. **Fork the repository** and create your branch from `main`.
8
+ 2. **Follow the Skill Spec**: All changes to skills must adhere to the Antigravity Skill specification found in [.agent/skills/skill-developer/SKILL.md](.agent/skills/skill-developer/SKILL.md).
9
+ 3. **Draft your changes**: Whether it's a new command, an agent prompt improvement, or a bug fix in the converter.
10
+
11
+ ## πŸ› οΈ Development Guidelines
12
+
13
+ - **Maintain Hierarchy**: Ensure any new commands fit into the Plan -> Execute -> Verify workflow.
14
+ - **Spec-Driven**: Use the provided templates in `assets/templates` when creating new project artifacts.
15
+ - **Rebranding**: If adding new commands, ensure they follow the `gsd:` prefix nomenclature.
16
+ - **Testing**: Before submitting a PR, verify your skill by running the `gsd-converter` script to ensure it packages correctly.
17
+
18
+ ## πŸ“‹ Pull Request Process
19
+
20
+ 1. Update the README.md with details of changes to the interface, if applicable.
21
+ 2. Ensure any new dependencies are clearly documented.
22
+ 3. Your PR will be reviewed by the maintainers for compliance with GSD core principles.
23
+
24
+ ## πŸ’¬ Community
25
+
26
+ Join our Discord or open an issue for architectural discussions before making major changes.
27
+
28
+ ---
29
+
30
+ *Happy Coding!*
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Antigravity Team
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,112 @@
1
+ # 🌌 GSD-Antigravity: The Spec-Driven Engine
2
+
3
+ ![GSD Workflow Concept](gsd_workflow_concept_1770173213268.png)
4
+
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
+ [![Python Version](https://img.shields.io/badge/python-3.8%2B-blue.svg?logo=python&logoColor=white)](https://www.python.org/downloads/)
7
+ [![Antigravity Compatible](https://img.shields.io/badge/Antigravity-Compatible-purple.svg?logo=google&logoColor=white)](https://github.com/google-deepmind/antigravity)
8
+
9
+ **GSD-Antigravity** is a high-performance, hierarchical orchestration system for the Antigravity AI framework. It replaces chaotic prompt-engineering with a **rigid, spec-driven development cycle**, transforming high-level intent into production-grade software with mathematical precision.
10
+
11
+ ---
12
+
13
+ ## οΏ½ Core Philosophy: The GSD Cycle
14
+
15
+ Most AI development fails because it jumps straight from **intent** to **code**. GSD-Antigravity enforces a non-negotiable protocol:
16
+
17
+ 1. **Plan Phase**: Deep-probe requirements, surface hidden assumptions, and generate a serialized `.planning/PLAN.md`.
18
+ 2. **Execute Phase**: Atomic, wave-based implementation where agents follow the plan without deviation.
19
+ 3. **Verify Phase**: Conversational User Acceptance Testing (UAT) to ensure the implementation matches the original intent.
20
+
21
+ ---
22
+
23
+ ## ✨ Key Features
24
+
25
+ ### πŸ› οΈ Hierarchical Planning
26
+ Automatically generates deeply nested project structures, including requirements, architectures, and pitfall analyses before coding begins.
27
+
28
+ ### πŸ€– Multi-Agent Orchestration
29
+ Spawns specialized sub-agents with distinct personas:
30
+ - **Researchers**: Investigate 2025-standard tech stacks and ecosystem pitfalls.
31
+ - **Roadmappers**: Build multi-phase project arcs.
32
+ - **Plan Checkers**: Audit plans to catch logic gaps before execution.
33
+
34
+ ### πŸ”„ Legacy Migration (`gsd-converter`)
35
+ Includes a zero-config automation script to migrate standard GSD installations into the portable Antigravity Skill format.
36
+
37
+ ---
38
+
39
+ ## 🧰 The GSD Toolbox
40
+
41
+ Once installed, the following primary commands drive your project:
42
+
43
+ | Command | Action | Deep Philosophy |
44
+ | :--- | :--- | :--- |
45
+ | `gsd:new-project` | **Initialize** | Context gathering β†’ Research β†’ Roadmap |
46
+ | `gsd:plan-phase` | **Blueprint** | Resolve ambiguity into actionable tasks |
47
+ | `gsd:execute-phase` | **Build** | Wave-based, parallel agent execution |
48
+ | `gsd:verify-work` | **UAT** | Human-in-the-loop verification |
49
+ | `gsd:map-codebase` | **Audit** | Reverse-engineer existing architecture |
50
+ | `gsd:progress` | **Status** | State management and next-step routing |
51
+
52
+ ---
53
+
54
+ ## πŸš€ Speed-to-Code
55
+
56
+ ### 1️⃣ Prerequisites
57
+ - **Antigravity** core installed.
58
+ - **Node.js** (for npx) & **Python 3.8+**.
59
+
60
+ ### 2️⃣ Installation & Setup
61
+
62
+ Installation is handled via `npx` to automatically provision the `.agent` folder into your current project:
63
+
64
+ ```bash
65
+ # In your project root:
66
+ npx gsd-antigravity-kit
67
+ ```
68
+
69
+ # Then initialize the GSD engine:
70
+ py .agent/skills/gsd-converter/scripts/convert.py gsd
71
+ ```
72
+
73
+ Alternatively, you can clone the repository manually:
74
+ ```bash
75
+ git clone https://github.com/example/GSD-Antigravity.git
76
+ cd GSD-Antigravity
77
+ py .agent/skills/gsd-converter/scripts/convert.py gsd
78
+ ```
79
+
80
+ ### 3️⃣ Start Your First Project
81
+ ```bash
82
+ # Within the Antigravity interface:
83
+ /gsd:new-project
84
+ ```
85
+
86
+ ---
87
+
88
+ ## πŸ“‚ Project Architecture
89
+
90
+ ```text
91
+ .
92
+ β”œβ”€β”€ .agent/
93
+ β”‚ └── skills/
94
+ β”‚ β”œβ”€β”€ gsd/ # Generated GSD Skill (Commands & Agents)
95
+ β”‚ └── gsd-converter/ # Migration Tools
96
+ β”œβ”€β”€ README.md # You are here
97
+ β”œβ”€β”€ LICENSE # MIT
98
+ └── CONTRIBUTING.md # How to extend GSD
99
+ ```
100
+
101
+ ---
102
+
103
+ ## πŸ”— Resources & Support
104
+
105
+ - πŸ“œ **Documentation**: [docs/](.agent/skills/gsd/references/docs/)
106
+ - πŸ—ΊοΈ **Roadmap Management**: [ROADMAP.md](.agent/skills/gsd/assets/templates/roadmap.md)
107
+ - πŸ’¬ **Community**: Join our Discord for GSD strategy and pattern sharing.
108
+
109
+ ---
110
+
111
+ *Engineered for excellence by the Antigravity Team. 🌌*
112
+
package/bin/install.js ADDED
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+ const { execSync } = require('child_process');
6
+
7
+ async function install() {
8
+ const targetDir = process.cwd();
9
+ // Location of the .agent folder relative to this script in the package
10
+ const sourceAgentDir = path.join(__dirname, '..', '.agent');
11
+ const targetAgentDir = path.join(targetDir, '.agent');
12
+
13
+ console.log('🌌 Initializing GSD-Antigravity Skill System...');
14
+
15
+ try {
16
+ // 1. Copy .agent folder
17
+ if (fs.existsSync(sourceAgentDir)) {
18
+ console.log(`πŸ“¦ Copying .agent skills to ${targetDir}...`);
19
+
20
+ // We use a simple recursive copy strategy
21
+ copyFolderSync(sourceAgentDir, targetAgentDir);
22
+ console.log('βœ… .agent folder installed successfully.');
23
+ } else {
24
+ console.error('❌ Error: Could not find .agent folder in the package.');
25
+ process.exit(1);
26
+ }
27
+
28
+ // 2. Offer to run the converter
29
+ console.log('\n✨ GSD-Antigravity is now in your project.');
30
+ console.log('To initialize the GSD engine, run:');
31
+ console.log(' py .agent/skills/gsd-converter/scripts/convert.py gsd\n');
32
+
33
+ } catch (err) {
34
+ console.error('❌ Installation failed:', err.message);
35
+ process.exit(1);
36
+ }
37
+ }
38
+
39
+ function copyFolderSync(from, to) {
40
+ if (!fs.existsSync(to)) {
41
+ fs.mkdirSync(to, { recursive: true });
42
+ }
43
+ fs.readdirSync(from).forEach(element => {
44
+ const stat = fs.lstatSync(path.join(from, element));
45
+ if (stat.isFile()) {
46
+ fs.copyFileSync(path.join(from, element), path.join(to, element));
47
+ } else if (stat.isDirectory()) {
48
+ copyFolderSync(path.join(from, element), path.join(to, element));
49
+ }
50
+ });
51
+ }
52
+
53
+ install();
package/package.json ADDED
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "gsd-antigravity-kit",
3
+ "version": "1.0.0",
4
+ "description": "Installer for GSD-Antigravity skills",
5
+ "main": "index.js",
6
+ "bin": {
7
+ "gsd-antigravity-kit": "bin/install.js"
8
+ },
9
+ "scripts": {
10
+ "test": "echo \"Error: no test specified\" && exit 1"
11
+ },
12
+ "keywords": [
13
+ "antigravity",
14
+ "gsd",
15
+ "automation",
16
+ "skills"
17
+ ],
18
+ "author": "Antigravity Team",
19
+ "license": "MIT"
20
+ }