@vudovn/antigravity-kit 1.0.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 (95) hide show
  1. package/README.md +311 -0
  2. package/bin/index.js +240 -0
  3. package/package.json +39 -0
  4. package/templates/.agent/.shared/ui-ux-pro-max/data/charts.csv +26 -0
  5. package/templates/.agent/.shared/ui-ux-pro-max/data/colors.csv +97 -0
  6. package/templates/.agent/.shared/ui-ux-pro-max/data/icons.csv +101 -0
  7. package/templates/.agent/.shared/ui-ux-pro-max/data/landing.csv +31 -0
  8. package/templates/.agent/.shared/ui-ux-pro-max/data/products.csv +97 -0
  9. package/templates/.agent/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
  10. package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  11. package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  12. package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  13. package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  14. package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  15. package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  16. package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
  17. package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  18. package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  19. package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  20. package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  21. package/templates/.agent/.shared/ui-ux-pro-max/data/styles.csv +59 -0
  22. package/templates/.agent/.shared/ui-ux-pro-max/data/typography.csv +58 -0
  23. package/templates/.agent/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  24. package/templates/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/core.cpython-312.pyc +0 -0
  25. package/templates/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/core.cpython-313.pyc +0 -0
  26. package/templates/.agent/.shared/ui-ux-pro-max/scripts/core.py +245 -0
  27. package/templates/.agent/.shared/ui-ux-pro-max/scripts/search.py +69 -0
  28. package/templates/.agent/rules/01-identity.md +17 -0
  29. package/templates/.agent/rules/02-task-classification.md +36 -0
  30. package/templates/.agent/rules/03-mode-consulting.md +54 -0
  31. package/templates/.agent/rules/04-mode-build.md +54 -0
  32. package/templates/.agent/rules/05-mode-debug.md +66 -0
  33. package/templates/.agent/rules/06-mode-optimize.md +64 -0
  34. package/templates/.agent/rules/07-technical-standards.md +61 -0
  35. package/templates/.agent/rules/08-communication.md +34 -0
  36. package/templates/.agent/rules/09-checklist.md +45 -0
  37. package/templates/.agent/rules/10-special-situations.md +81 -0
  38. package/templates/.agent/skills/accessibility-expert/SKILL.md +430 -0
  39. package/templates/.agent/skills/ai-sdk-expert/SKILL.md +541 -0
  40. package/templates/.agent/skills/auth-expert/SKILL.md +105 -0
  41. package/templates/.agent/skills/cli-expert/SKILL.md +848 -0
  42. package/templates/.agent/skills/code-review/SKILL.md +424 -0
  43. package/templates/.agent/skills/css-expert/SKILL.md +401 -0
  44. package/templates/.agent/skills/database-expert/SKILL.md +324 -0
  45. package/templates/.agent/skills/devops-expert/SKILL.md +784 -0
  46. package/templates/.agent/skills/docker-expert/SKILL.md +409 -0
  47. package/templates/.agent/skills/documentation-expert/SKILL.md +493 -0
  48. package/templates/.agent/skills/git-expert/SKILL.md +522 -0
  49. package/templates/.agent/skills/github-actions-expert/SKILL.md +454 -0
  50. package/templates/.agent/skills/jest-expert/SKILL.md +957 -0
  51. package/templates/.agent/skills/mongodb-expert/SKILL.md +761 -0
  52. package/templates/.agent/skills/nestjs-expert/SKILL.md +552 -0
  53. package/templates/.agent/skills/nextjs-expert/SKILL.md +443 -0
  54. package/templates/.agent/skills/nodejs-expert/SKILL.md +192 -0
  55. package/templates/.agent/skills/oracle/SKILL.md +340 -0
  56. package/templates/.agent/skills/playwright-expert/SKILL.md +214 -0
  57. package/templates/.agent/skills/postgres-expert/SKILL.md +642 -0
  58. package/templates/.agent/skills/prisma-expert/SKILL.md +355 -0
  59. package/templates/.agent/skills/react-expert/SKILL.md +310 -0
  60. package/templates/.agent/skills/react-performance/SKILL.md +816 -0
  61. package/templates/.agent/skills/refactoring-expert/SKILL.md +394 -0
  62. package/templates/.agent/skills/research-expert/SKILL.md +231 -0
  63. package/templates/.agent/skills/rest-api-expert/SKILL.md +469 -0
  64. package/templates/.agent/skills/state-management-expert/SKILL.md +157 -0
  65. package/templates/.agent/skills/testing-expert/SKILL.md +621 -0
  66. package/templates/.agent/skills/triage-expert/SKILL.md +419 -0
  67. package/templates/.agent/skills/typescript-expert/SKILL.md +429 -0
  68. package/templates/.agent/skills/typescript-type/SKILL.md +790 -0
  69. package/templates/.agent/skills/ui-ux-pro-max/SKILL.md +228 -0
  70. package/templates/.agent/skills/vite-expert/SKILL.md +785 -0
  71. package/templates/.agent/skills/vitest-expert/SKILL.md +325 -0
  72. package/templates/.agent/skills/webpack-expert/SKILL.md +745 -0
  73. package/templates/.agent/workflows/request.md +82 -0
  74. package/templates/.agent/workflows/ui-ux-pro-max.md +231 -0
  75. package/templates/web/README.md +36 -0
  76. package/templates/web/eslint.config.mjs +18 -0
  77. package/templates/web/next.config.ts +8 -0
  78. package/templates/web/package-lock.json +6549 -0
  79. package/templates/web/package.json +27 -0
  80. package/templates/web/postcss.config.mjs +7 -0
  81. package/templates/web/public/favicon.ico +0 -0
  82. package/templates/web/public/images/antigravity-kit-logo.png +0 -0
  83. package/templates/web/public/images/claudekit.png +0 -0
  84. package/templates/web/public/images/logo.png +0 -0
  85. package/templates/web/src/app/globals.css +276 -0
  86. package/templates/web/src/app/layout.tsx +55 -0
  87. package/templates/web/src/app/page.tsx +23 -0
  88. package/templates/web/src/components/Credits.tsx +162 -0
  89. package/templates/web/src/components/Features.tsx +92 -0
  90. package/templates/web/src/components/Footer.tsx +74 -0
  91. package/templates/web/src/components/Hero.tsx +117 -0
  92. package/templates/web/src/components/HowItWorks.tsx +96 -0
  93. package/templates/web/src/components/Navbar.tsx +87 -0
  94. package/templates/web/src/components/Skills.tsx +182 -0
  95. package/templates/web/tsconfig.json +34 -0
package/README.md ADDED
@@ -0,0 +1,311 @@
1
+ # πŸš€ Antigravity Kit
2
+
3
+ > **AI Agent Capability Expansion Toolkit** - A comprehensive collection of skills, rules, and workflows to supercharge AI coding assistants.
4
+
5
+ [![Skills](https://img.shields.io/badge/Skills-35+-blue)](#-skills)
6
+ [![Rules](https://img.shields.io/badge/Rules-10-green)](#-rules)
7
+ [![Workflows](https://img.shields.io/badge/Workflows-2-orange)](#-workflows)
8
+
9
+ ---
10
+
11
+ ## πŸ“‹ Table of Contents
12
+
13
+ - [Introduction](#-introduction)
14
+ - [Project Structure](#-project-structure)
15
+ - [Skills](#-skills)
16
+ - [Rules](#-rules)
17
+ - [Workflows](#-workflows)
18
+ - [Installation](#-installation)
19
+ - [Usage](#-usage)
20
+ - [Credits](#-credits)
21
+ - [Contributing](#-contributing)
22
+
23
+ ---
24
+
25
+ ## 🎯 Introduction
26
+
27
+ **Antigravity Kit** is a comprehensive collection of:
28
+
29
+ - **Skills** - Domain-specific expertise (React, Node.js, Database, Testing, UI/UX...)
30
+ - **Rules** - Guidelines and constraints for agent behavior
31
+ - **Workflows** - Step-by-step procedures for common tasks
32
+
33
+ This toolkit combines the best of:
34
+ - 🎨 **[UI UX Pro Max](https://ui-ux-pro-max-skill.nextlevelbuilder.io/)** - Design Intelligence with 50 styles, 21 palettes, 50 font pairings
35
+ - πŸ› οΈ **[ClaudeKit](https://claudekit.cc/)** - Production-ready AI subagents, workflows, and integrations
36
+
37
+ Designed to integrate with AI agents supporting the **Agent Skills** standard.
38
+
39
+ ---
40
+
41
+ ## πŸ“ Project Structure
42
+
43
+ ```
44
+ antigravity-kit-cli/
45
+ β”œβ”€β”€ .agent/
46
+ β”‚ β”œβ”€β”€ rules/ # 10 rule files
47
+ β”‚ β”‚ β”œβ”€β”€ 01-identity.md
48
+ β”‚ β”‚ β”œβ”€β”€ 02-task-classification.md
49
+ β”‚ β”‚ β”œβ”€β”€ 03-mode-consulting.md
50
+ β”‚ β”‚ β”œβ”€β”€ 04-mode-build.md
51
+ β”‚ β”‚ β”œβ”€β”€ 05-mode-debug.md
52
+ β”‚ β”‚ β”œβ”€β”€ 06-mode-optimize.md
53
+ β”‚ β”‚ β”œβ”€β”€ 07-technical-standards.md
54
+ β”‚ β”‚ β”œβ”€β”€ 08-communication.md
55
+ β”‚ β”‚ β”œβ”€β”€ 09-checklist.md
56
+ β”‚ β”‚ └── 10-special-situations.md
57
+ β”‚ β”‚
58
+ β”‚ β”œβ”€β”€ skills/ # 35+ domain expertise
59
+ β”‚ β”‚ β”œβ”€β”€ react-expert/
60
+ β”‚ β”‚ β”œβ”€β”€ nextjs-expert/
61
+ β”‚ β”‚ β”œβ”€β”€ typescript-expert/
62
+ β”‚ β”‚ β”œβ”€β”€ prisma-expert/
63
+ β”‚ β”‚ β”œβ”€β”€ auth-expert/
64
+ β”‚ β”‚ β”œβ”€β”€ ui-ux-pro-max/
65
+ β”‚ β”‚ └── ...
66
+ β”‚ β”‚
67
+ β”‚ β”œβ”€β”€ .shared/ # Shared resources
68
+ β”‚ β”‚ └── ui-ux-pro-max/ # UI/UX search database
69
+ β”‚ β”‚ β”œβ”€β”€ data/ # CSV databases
70
+ β”‚ β”‚ └── scripts/ # Python search tools
71
+ β”‚ β”‚
72
+ β”‚ └── workflows/ # Step-by-step procedures
73
+ β”‚ β”œβ”€β”€ request.md
74
+ β”‚ └── ui-ux-pro-max.md
75
+ β”‚
76
+ └── README.md # This file
77
+ ```
78
+
79
+ ---
80
+
81
+ ## 🧠 Skills
82
+
83
+ Skills are domain-specific expertise modules. The agent automatically identifies and uses the appropriate skill for each task.
84
+
85
+ ### Frontend
86
+
87
+ | Skill | Description |
88
+ |-------|-------------|
89
+ | `react-expert` | React 18/19, hooks, patterns, performance |
90
+ | `nextjs-expert` | App Router, Server Components, SSR |
91
+ | `css-expert` | CSS architecture, responsive, design systems |
92
+ | `state-management-expert` | Redux, Zustand, React Query |
93
+ | `ui-ux-pro-max` | 50 styles, 21 palettes, 50 font pairings |
94
+
95
+ ### Backend
96
+
97
+ | Skill | Description |
98
+ |-------|-------------|
99
+ | `nodejs-expert` | Async patterns, modules, performance |
100
+ | `nestjs-expert` | Module architecture, DI, testing |
101
+ | `rest-api-expert` | RESTful design, HTTP semantics |
102
+ | `auth-expert` | JWT, OAuth 2.0, RBAC, security |
103
+
104
+ ### Database
105
+
106
+ | Skill | Description |
107
+ |-------|-------------|
108
+ | `prisma-expert` | Schema design, migrations, queries |
109
+ | `database-expert` | General database optimization |
110
+ | `postgres-expert` | PostgreSQL-specific patterns |
111
+ | `mongodb-expert` | MongoDB document modeling |
112
+
113
+ ### Testing
114
+
115
+ | Skill | Description |
116
+ |-------|-------------|
117
+ | `testing-expert` | General testing strategies |
118
+ | `jest-expert` | Jest framework, mocking |
119
+ | `vitest-expert` | Vitest, Vite integration |
120
+ | `playwright-expert` | E2E testing, browser automation |
121
+
122
+ ### DevOps & Tools
123
+
124
+ | Skill | Description |
125
+ |-------|-------------|
126
+ | `devops-expert` | CI/CD, infrastructure |
127
+ | `docker-expert` | Containerization, Compose |
128
+ | `github-actions-expert` | GitHub Actions workflows |
129
+ | `git-expert` | Git workflows, conflicts |
130
+
131
+ ### Code Quality
132
+
133
+ | Skill | Description |
134
+ |-------|-------------|
135
+ | `code-review` | Comprehensive code review |
136
+ | `refactoring-expert` | Code smell detection, refactoring |
137
+ | `typescript-expert` | TypeScript patterns, type system |
138
+ | `accessibility-expert` | WCAG compliance, a11y |
139
+
140
+ ---
141
+
142
+ ## πŸ“ Rules
143
+
144
+ Rules are guidelines that direct agent behavior. There are 3 activation types:
145
+
146
+ - **always_on** - Always applied
147
+ - **model_decision** - Agent decides when to apply
148
+ - **glob** - Applied based on file pattern
149
+
150
+ ### Rules List
151
+
152
+ | # | File | Activation | Description |
153
+ |---|------|------------|-------------|
154
+ | 1 | `01-identity.md` | Always On | Role & working principles |
155
+ | 2 | `02-task-classification.md` | Always On | 4 task types classification |
156
+ | 3 | `03-mode-consulting.md` | Model Decision | Consulting process |
157
+ | 4 | `04-mode-build.md` | Model Decision | Build process |
158
+ | 5 | `05-mode-debug.md` | Model Decision | Debug process |
159
+ | 6 | `06-mode-optimize.md` | Model Decision | Optimization process |
160
+ | 7 | `07-technical-standards.md` | Always On | Coding standards |
161
+ | 8 | `08-communication.md` | Always On | Communication style |
162
+ | 9 | `09-checklist.md` | Always On | Pre-delivery checklist |
163
+ | 10 | `10-special-situations.md` | Always On | Special situation handling |
164
+
165
+ ---
166
+
167
+ ## πŸ”„ Workflows
168
+
169
+ Workflows are step-by-step procedures. Invoke with slash command `/workflow-name`.
170
+
171
+ | Workflow | Command | Description |
172
+ |----------|---------|-------------|
173
+ | Request Handler | `/request` | Full-stack engineer task handling |
174
+ | UI/UX Pro Max | `/ui-ux-pro-max` | Design UI with 50 styles, 21 palettes |
175
+
176
+ ---
177
+
178
+ ## πŸ“¦ Installation
179
+
180
+ ### Using CLI (Recommended)
181
+
182
+ Install the `.agent` folder directly into your project using `npx`:
183
+
184
+ ```bash
185
+ # Navigate to your project
186
+ cd your-project
187
+
188
+ # Install .agent folder
189
+ npx antigravity-kit-cli init
190
+ ```
191
+
192
+ #### CLI Commands
193
+
194
+ | Command | Description |
195
+ |---------|-------------|
196
+ | `npx antigravity-kit-cli init` | Install `.agent` folder into current directory |
197
+ | `npx antigravity-kit-cli update` | Update `.agent` to the latest version |
198
+ | `npx antigravity-kit-cli status` | Check installation status |
199
+
200
+ ---
201
+
202
+ ## πŸš€ Usage
203
+
204
+ ### Skills
205
+
206
+ Skills are automatically applied. The agent reads the skill when it identifies a related task:
207
+
208
+ ```
209
+ User: "Fix bug in this React component"
210
+ Agent: (automatically uses react-expert skill)
211
+ ```
212
+
213
+ ### Rules
214
+
215
+ Rules apply based on activation type:
216
+ - **always_on**: Always active
217
+ - **model_decision**: Agent decides when to apply
218
+ - **glob**: Applied when working with files matching pattern
219
+
220
+ ### Workflows
221
+
222
+ Invoke workflows with slash commands:
223
+
224
+ ```
225
+ User: /ui-ux-pro-max
226
+ Agent: (follows the workflow)
227
+ ```
228
+
229
+ ---
230
+
231
+ ## πŸ™ Credits
232
+
233
+ This project is built upon and inspired by:
234
+
235
+ | Project | Description | Link |
236
+ |---------|-------------|------|
237
+ | **UI UX Pro Max** | Design Intelligence for Claude Code - 50 styles, 21 color palettes, 50 font pairings, 20 chart types | [ui-ux-pro-max-skill.nextlevelbuilder.io](https://ui-ux-pro-max-skill.nextlevelbuilder.io/) |
238
+ | **ClaudeKit** | Production-ready AI subagents, workflows, and integrations for software development | [claudekit.cc](https://claudekit.cc/) |
239
+
240
+ Special thanks to the creators of these amazing tools for making AI-assisted development more powerful and accessible.
241
+
242
+ ---
243
+
244
+ ## 🀝 Contributing
245
+
246
+ ### Adding a New Skill
247
+
248
+ 1. Create folder: `.agent/skills/your-skill/`
249
+ 2. Create `SKILL.md` with format:
250
+
251
+ ```markdown
252
+ ---
253
+ name: your-skill
254
+ description: Skill description. Use when X or Y.
255
+ ---
256
+
257
+ # Your Skill
258
+
259
+ Instructions for the agent...
260
+ ```
261
+
262
+ ### Adding a New Rule
263
+
264
+ 1. Create file: `.agent/rules/your-rule.md`
265
+ 2. Add frontmatter:
266
+
267
+ ```markdown
268
+ ---
269
+ activation: always_on | model_decision | glob
270
+ glob: "**/*.tsx" # if using glob
271
+ description: When to apply # if using model_decision
272
+ ---
273
+
274
+ # Your Rule
275
+
276
+ Content...
277
+ ```
278
+
279
+ ### Adding a New Workflow
280
+
281
+ 1. Create file: `.agent/workflows/your-workflow.md`
282
+ 2. Format:
283
+
284
+ ```markdown
285
+ ---
286
+ description: Workflow description
287
+ ---
288
+
289
+ # Your Workflow
290
+
291
+ ## Step 1: ...
292
+ ## Step 2: ...
293
+ ```
294
+
295
+ ---
296
+
297
+ ## πŸ“„ License
298
+
299
+ MIT License - See [LICENSE](LICENSE) for details.
300
+
301
+ ---
302
+
303
+ <p align="center">
304
+ Made with ❀️ by <a href="https://github.com/vudovn">VudoVN</a>
305
+ </p>
306
+
307
+ <p align="center">
308
+ <a href="https://img.vietqr.io/image/mbbank-0779330918-compact2.jpg">
309
+ <img src="https://img.shields.io/badge/Buy%20Me%20a%20Coffee-ffdd00?style=for-the-badge&logo=buy-me-a-coffee&logoColor=black" alt="Buy Me a Coffee" />
310
+ </a>
311
+ </p>
package/bin/index.js ADDED
@@ -0,0 +1,240 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { Command } from 'commander';
4
+ import chalk from 'chalk';
5
+ import ora from 'ora';
6
+ import { downloadTemplate } from 'giget';
7
+ import path from 'path';
8
+ import fs from 'fs';
9
+ import readline from 'readline';
10
+
11
+ // ============================================================================
12
+ // CONSTANTS
13
+ // ============================================================================
14
+
15
+ const REPO = 'github:vudovn/antigravity-kit';
16
+ const TEMPLATES_FOLDER = 'templates';
17
+ const AGENT_FOLDER = '.agent';
18
+ const TEMP_FOLDER = '.temp_ag_kit';
19
+
20
+ // ============================================================================
21
+ // UTILITIES
22
+ // ============================================================================
23
+
24
+ /**
25
+ * Display ASCII banner
26
+ */
27
+ const showBanner = () => {
28
+ console.log(chalk.blueBright(`
29
+ ╔══════════════════════════════════════╗
30
+ β•‘ πŸš€ ANTIGRAVITY KIT CLI πŸš€ β•‘
31
+ β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
32
+ `));
33
+ };
34
+
35
+ /**
36
+ * Ask user for confirmation
37
+ * @param {string} question - Question to ask
38
+ * @returns {Promise<boolean>}
39
+ */
40
+ const confirm = (question) => {
41
+ const rl = readline.createInterface({
42
+ input: process.stdin,
43
+ output: process.stdout,
44
+ });
45
+
46
+ return new Promise((resolve) => {
47
+ rl.question(chalk.yellow(`${question} (y/N): `), (answer) => {
48
+ rl.close();
49
+ resolve(answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes');
50
+ });
51
+ });
52
+ };
53
+
54
+ /**
55
+ * Clean up temporary directory
56
+ * @param {string} tempDir - Temp directory path
57
+ */
58
+ const cleanup = (tempDir) => {
59
+ if (fs.existsSync(tempDir)) {
60
+ fs.rmSync(tempDir, { recursive: true, force: true });
61
+ }
62
+ };
63
+
64
+ /**
65
+ * Copy .agent folder from temp to destination
66
+ * @param {string} tempDir - Temp directory
67
+ * @param {string} destDir - Destination directory
68
+ */
69
+ const copyAgentFolder = (tempDir, destDir) => {
70
+ const sourceAgent = path.join(tempDir, TEMPLATES_FOLDER, AGENT_FOLDER);
71
+
72
+ if (!fs.existsSync(sourceAgent)) {
73
+ throw new Error(`Could not find ${TEMPLATES_FOLDER}/${AGENT_FOLDER} folder in source repository!`);
74
+ }
75
+
76
+ fs.cpSync(sourceAgent, destDir, { recursive: true });
77
+ };
78
+
79
+ // ============================================================================
80
+ // COMMANDS
81
+ // ============================================================================
82
+
83
+ /**
84
+ * Initialize .agent folder in project
85
+ */
86
+ const initCommand = async (options) => {
87
+ showBanner();
88
+
89
+ const targetDir = path.resolve(options.path || process.cwd());
90
+ const tempDir = path.join(targetDir, TEMP_FOLDER);
91
+ const agentDir = path.join(targetDir, AGENT_FOLDER);
92
+
93
+ // Check if .agent already exists
94
+ if (fs.existsSync(agentDir)) {
95
+ if (!options.force) {
96
+ console.log(chalk.yellow(`⚠️ Folder ${AGENT_FOLDER} already exists at: ${agentDir}`));
97
+ const shouldOverwrite = await confirm('Do you want to overwrite it?');
98
+
99
+ if (!shouldOverwrite) {
100
+ console.log(chalk.gray('Operation cancelled.'));
101
+ process.exit(0);
102
+ }
103
+ }
104
+ console.log(chalk.gray(`Overwriting ${AGENT_FOLDER} folder...`));
105
+ }
106
+
107
+ const spinner = ora({
108
+ text: 'Downloading...',
109
+ color: 'cyan',
110
+ }).start();
111
+
112
+ try {
113
+ // Download repository using giget
114
+ const repoSource = options.branch ? `${REPO}#${options.branch}` : REPO;
115
+ await downloadTemplate(repoSource, {
116
+ dir: tempDir,
117
+ force: true,
118
+ });
119
+
120
+ spinner.text = 'Installing...';
121
+
122
+ // Copy .agent folder
123
+ copyAgentFolder(tempDir, agentDir);
124
+
125
+ // Cleanup
126
+ cleanup(tempDir);
127
+
128
+ spinner.succeed(chalk.green('βœ… Installation successful!'));
129
+
130
+ // Success message
131
+ console.log(chalk.gray('\n────────────────────────────────────────'));
132
+ console.log(chalk.white('πŸ“ Result:'));
133
+ console.log(` ${chalk.cyan(AGENT_FOLDER)} β†’ ${chalk.gray(agentDir)}`);
134
+ console.log(chalk.gray('────────────────────────────────────────'));
135
+ console.log(chalk.green('\nπŸŽ‰ Happy coding!\n'));
136
+ } catch (error) {
137
+ spinner.fail(chalk.red(`❌ Error: ${error.message}`));
138
+ cleanup(tempDir);
139
+ process.exit(1);
140
+ }
141
+ };
142
+
143
+ /**
144
+ * Update existing .agent folder
145
+ */
146
+ const updateCommand = async (options) => {
147
+ showBanner();
148
+
149
+ const targetDir = path.resolve(options.path || process.cwd());
150
+ const agentDir = path.join(targetDir, AGENT_FOLDER);
151
+
152
+ // Check if .agent exists
153
+ if (!fs.existsSync(agentDir)) {
154
+ console.log(chalk.red(`❌ Could not find ${AGENT_FOLDER} folder at: ${targetDir}`));
155
+ console.log(chalk.yellow(`πŸ’‘ Tip: Run ${chalk.cyan('ag-kit init')} to install first.`));
156
+ process.exit(1);
157
+ }
158
+
159
+ if (!options.force) {
160
+ console.log(chalk.yellow(`⚠️ Update will overwrite the entire ${AGENT_FOLDER} folder`));
161
+ const shouldUpdate = await confirm('Are you sure you want to continue?');
162
+
163
+ if (!shouldUpdate) {
164
+ console.log(chalk.gray('Operation cancelled.'));
165
+ process.exit(0);
166
+ }
167
+ }
168
+
169
+ // Call init with force option
170
+ await initCommand({ ...options, force: true });
171
+ };
172
+
173
+ /**
174
+ * Show status of .agent folder
175
+ */
176
+ const statusCommand = (options) => {
177
+ const targetDir = path.resolve(options.path || process.cwd());
178
+ const agentDir = path.join(targetDir, AGENT_FOLDER);
179
+
180
+ console.log(chalk.blueBright('\nπŸ“Š Antigravity Kit Status\n'));
181
+
182
+ if (fs.existsSync(agentDir)) {
183
+ const stats = fs.statSync(agentDir);
184
+ const files = fs.readdirSync(agentDir, { recursive: true });
185
+
186
+ console.log(chalk.green('βœ… Installed'));
187
+ console.log(chalk.gray('────────────────────────────────────────'));
188
+ console.log(`πŸ“ Path: ${chalk.cyan(agentDir)}`);
189
+ console.log(`πŸ“… Modified: ${chalk.gray(stats.mtime.toLocaleString('en-US'))}`);
190
+ console.log(`πŸ“„ Files: ${chalk.yellow(files.length)} items`);
191
+ console.log(chalk.gray('────────────────────────────────────────\n'));
192
+ } else {
193
+ console.log(chalk.red('❌ Not installed'));
194
+ console.log(chalk.yellow(`πŸ’‘ Run ${chalk.cyan('ag-kit init')} to install.\n`));
195
+ }
196
+ };
197
+
198
+ // ============================================================================
199
+ // CLI DEFINITION
200
+ // ============================================================================
201
+
202
+ const program = new Command();
203
+
204
+ program
205
+ .name('ag-kit')
206
+ .description('CLI tool to install and manage Antigravity Kit')
207
+ .version('1.0.0', '-v, --version', 'Display version number');
208
+
209
+ // Command: init
210
+ program
211
+ .command('init')
212
+ .description('Install .agent folder into your project')
213
+ .option('-f, --force', 'Overwrite if folder already exists', false)
214
+ .option('-p, --path <dir>', 'Path to the project directory', process.cwd())
215
+ .option('-b, --branch <name>', 'Select repository branch')
216
+ .action(initCommand);
217
+
218
+ // Command: update
219
+ program
220
+ .command('update')
221
+ .description('Update .agent folder to the latest version')
222
+ .option('-f, --force', 'Skip confirmation prompt', false)
223
+ .option('-p, --path <dir>', 'Path to the project directory', process.cwd())
224
+ .option('-b, --branch <name>', 'Select repository branch')
225
+ .action(updateCommand);
226
+
227
+ // Command: status
228
+ program
229
+ .command('status')
230
+ .description('Check installation status')
231
+ .option('-p, --path <dir>', 'Path to the project directory', process.cwd())
232
+ .action(statusCommand);
233
+
234
+ // Parse arguments
235
+ program.parse(process.argv);
236
+
237
+ // Show help if no command provided
238
+ if (!process.argv.slice(2).length) {
239
+ program.outputHelp();
240
+ }
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@vudovn/antigravity-kit",
3
+ "version": "1.0.1",
4
+ "description": "CLI tool to setup Antigravity Kit skills and MCPs",
5
+ "main": "bin/index.js",
6
+ "type": "module",
7
+ "bin": {
8
+ "ag-kit": "./bin/index.js"
9
+ },
10
+ "files": [
11
+ "bin",
12
+ "templates"
13
+ ],
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/vudovn/antigravity-kit.git"
17
+ },
18
+ "homepage": "https://github.com/vudovn/antigravity-kit#readme",
19
+ "bugs": {
20
+ "url": "https://github.com/vudovn/antigravity-kit/issues"
21
+ },
22
+ "keywords": [
23
+ "antigravity",
24
+ "cli",
25
+ "ai",
26
+ "agent",
27
+ "gemini",
28
+ "skills"
29
+ ],
30
+ "author": "Do Van Vu",
31
+ "license": "MIT",
32
+ "dependencies": {
33
+ "chalk": "^5.6.2",
34
+ "commander": "^12.1.0",
35
+ "fs-extra": "^11.3.3",
36
+ "giget": "^2.0.0",
37
+ "ora": "^8.2.0"
38
+ }
39
+ }
@@ -0,0 +1,26 @@
1
+ No,Data Type,Keywords,Best Chart Type,Secondary Options,Color Guidance,Performance Impact,Accessibility Notes,Library Recommendation,Interactive Level
2
+ 1,Trend Over Time,"trend, time-series, line, growth, timeline, progress",Line Chart,"Area Chart, Smooth Area",Primary: #0080FF. Multiple series: use distinct colors. Fill: 20% opacity,⚑ Excellent (optimized),βœ“ Clear line patterns for colorblind users. Add pattern overlays.,"Chart.js, Recharts, ApexCharts",Hover + Zoom
3
+ 2,Compare Categories,"compare, categories, bar, comparison, ranking",Bar Chart (Horizontal or Vertical),"Column Chart, Grouped Bar",Each bar: distinct color. Category: grouped same color. Sorted: descending order,⚑ Excellent,βœ“ Easy to compare. Add value labels on bars for clarity.,"Chart.js, Recharts, D3.js",Hover + Sort
4
+ 3,Part-to-Whole,"part-to-whole, pie, donut, percentage, proportion, share",Pie Chart or Donut,"Stacked Bar, Treemap",Colors: 5-6 max. Contrasting palette. Large slices first. Use labels.,⚑ Good (limit 6 slices),⚠ Hard for accessibility. Better: Stacked bar with legend. Avoid pie if >5 items.,"Chart.js, Recharts, D3.js",Hover + Drill
5
+ 4,Correlation/Distribution,"correlation, distribution, scatter, relationship, pattern",Scatter Plot or Bubble Chart,"Heat Map, Matrix",Color axis: gradient (blue-red). Size: relative. Opacity: 0.6-0.8 to show density,⚠ Moderate (many points),⚠ Provide data table alternative. Use pattern + color distinction.,"D3.js, Plotly, Recharts",Hover + Brush
6
+ 5,Heatmap/Intensity,"heatmap, heat-map, intensity, density, matrix",Heat Map or Choropleth,"Grid Heat Map, Bubble Heat",Gradient: Cool (blue) to Hot (red). Scale: clear legend. Divergent for ±data,⚑ Excellent (color CSS),⚠ Colorblind: Use pattern overlay. Provide numerical legend.,"D3.js, Plotly, ApexCharts",Hover + Zoom
7
+ 6,Geographic Data,"geographic, map, location, region, geo, spatial","Choropleth Map, Bubble Map",Geographic Heat Map,Regional: single color gradient or categorized colors. Legend: clear scale,⚠ Moderate (rendering),⚠ Include text labels for regions. Provide data table alternative.,"D3.js, Mapbox, Leaflet",Pan + Zoom + Drill
8
+ 7,Funnel/Flow,funnel/flow,"Funnel Chart, Sankey",Waterfall (for flows),Stages: gradient (starting color β†’ ending color). Show conversion %,⚑ Good,βœ“ Clear stage labels + percentages. Good for accessibility if labeled.,"D3.js, Recharts, Custom SVG",Hover + Drill
9
+ 8,Performance vs Target,performance-vs-target,Gauge Chart or Bullet Chart,"Dial, Thermometer",Performance: Redβ†’Yellowβ†’Green gradient. Target: marker line. Threshold colors,⚑ Good,βœ“ Add numerical value + percentage label beside gauge.,"D3.js, ApexCharts, Custom SVG",Hover
10
+ 9,Time-Series Forecast,time-series-forecast,Line with Confidence Band,Ribbon Chart,Actual: solid line #0080FF. Forecast: dashed #FF9500. Band: light shading,⚑ Good,βœ“ Clearly distinguish actual vs forecast. Add legend.,"Chart.js, ApexCharts, Plotly",Hover + Toggle
11
+ 10,Anomaly Detection,anomaly-detection,Line Chart with Highlights,Scatter with Alert,Normal: blue #0080FF. Anomaly: red #FF0000 circle/square marker + alert,⚑ Good,βœ“ Circle/marker for anomalies. Add text alert annotation.,"D3.js, Plotly, ApexCharts",Hover + Alert
12
+ 11,Hierarchical/Nested Data,hierarchical/nested-data,Treemap,"Sunburst, Nested Donut, Icicle",Parent: distinct hues. Children: lighter shades. White borders 2-3px.,⚠ Moderate,⚠ Poor - provide table alternative. Label large areas.,"D3.js, Recharts, ApexCharts",Hover + Drilldown
13
+ 12,Flow/Process Data,flow/process-data,Sankey Diagram,"Alluvial, Chord Diagram",Gradient from source to target. Opacity 0.4-0.6 for flows.,⚠ Moderate,⚠ Poor - provide flow table alternative.,"D3.js (d3-sankey), Plotly",Hover + Drilldown
14
+ 13,Cumulative Changes,cumulative-changes,Waterfall Chart,"Stacked Bar, Cascade",Increases: #4CAF50. Decreases: #F44336. Start: #2196F3. End: #0D47A1.,⚑ Good,βœ“ Good - clear directional colors with labels.,"ApexCharts, Highcharts, Plotly",Hover
15
+ 14,Multi-Variable Comparison,multi-variable-comparison,Radar/Spider Chart,"Parallel Coordinates, Grouped Bar",Single: #0080FF 20% fill. Multiple: distinct colors per dataset.,⚑ Good,⚠ Moderate - limit 5-8 axes. Add data table.,"Chart.js, Recharts, ApexCharts",Hover + Toggle
16
+ 15,Stock/Trading OHLC,stock/trading-ohlc,Candlestick Chart,"OHLC Bar, Heikin-Ashi",Bullish: #26A69A. Bearish: #EF5350. Volume: 40% opacity below.,⚑ Good,⚠ Moderate - provide OHLC data table.,"Lightweight Charts (TradingView), ApexCharts",Real-time + Hover + Zoom
17
+ 16,Relationship/Connection Data,relationship/connection-data,Network Graph,"Hierarchical Tree, Adjacency Matrix",Node types: categorical colors. Edges: #90A4AE 60% opacity.,❌ Poor (500+ nodes struggles),❌ Very Poor - provide adjacency list alternative.,"D3.js (d3-force), Vis.js, Cytoscape.js",Drilldown + Hover + Drag
18
+ 17,Distribution/Statistical,distribution/statistical,Box Plot,"Violin Plot, Beeswarm",Box: #BBDEFB. Border: #1976D2. Median: #D32F2F. Outliers: #F44336.,⚑ Excellent,"βœ“ Good - include stats table (min, Q1, median, Q3, max).","Plotly, D3.js, Chart.js (plugin)",Hover
19
+ 18,Performance vs Target (Compact),performance-vs-target-(compact),Bullet Chart,"Gauge, Progress Bar","Ranges: #FFCDD2, #FFF9C4, #C8E6C9. Performance: #1976D2. Target: black 3px.",⚑ Excellent,βœ“ Excellent - compact with clear values.,"D3.js, Plotly, Custom SVG",Hover
20
+ 19,Proportional/Percentage,proportional/percentage,Waffle Chart,"Pictogram, Stacked Bar 100%",10x10 grid. 3-5 categories max. 2-3px spacing between squares.,⚑ Good,βœ“ Good - better than pie for accessibility.,"D3.js, React-Waffle, Custom CSS Grid",Hover
21
+ 20,Hierarchical Proportional,hierarchical-proportional,Sunburst Chart,"Treemap, Icicle, Circle Packing",Center to outer: darker to lighter. 15-20% lighter per level.,⚠ Moderate,⚠ Poor - provide hierarchy table alternative.,"D3.js (d3-hierarchy), Recharts, ApexCharts",Drilldown + Hover
22
+ 21,Root Cause Analysis,"root cause, decomposition, tree, hierarchy, drill-down, ai-split",Decomposition Tree,"Decision Tree, Flow Chart",Nodes: #2563EB (Primary) vs #EF4444 (Negative impact). Connectors: Neutral grey.,⚠ Moderate (calculation heavy),βœ“ clear hierarchy. Allow keyboard navigation for nodes.,"Power BI (native), React-Flow, Custom D3.js",Drill + Expand
23
+ 22,3D Spatial Data,"3d, spatial, immersive, terrain, molecular, volumetric",3D Scatter/Surface Plot,"Volumetric Rendering, Point Cloud",Depth cues: lighting/shading. Z-axis: color gradient (cool to warm).,❌ Heavy (WebGL required),❌ Poor - requires alternative 2D view or data table.,"Three.js, Deck.gl, Plotly 3D",Rotate + Zoom + VR
24
+ 23,Real-Time Streaming,"streaming, real-time, ticker, live, velocity, pulse",Streaming Area Chart,"Ticker Tape, Moving Gauge",Current: Bright Pulse (#00FF00). History: Fading opacity. Grid: Dark.,⚑ Optimized (canvas/webgl),⚠ Flashing elements - provide pause button. High contrast.,"Smoothed D3.js, CanvasJS, SciChart",Real-time + Pause
25
+ 24,Sentiment/Emotion,"sentiment, emotion, nlp, opinion, feeling",Word Cloud with Sentiment,"Sentiment Arc, Radar Chart",Positive: #22C55E. Negative: #EF4444. Neutral: #94A3B8. Size = Frequency.,⚑ Good,⚠ Word clouds poor for screen readers. Use list view.,"D3-cloud, Highcharts, Nivo",Hover + Filter
26
+ 25,Process Mining,"process, mining, variants, path, bottleneck, log",Process Map / Graph,"Directed Acyclic Graph (DAG), Petri Net",Happy path: #10B981 (Thick). Deviations: #F59E0B (Thin). Bottlenecks: #EF4444.,⚠ Moderate to Heavy,⚠ Complex graphs hard to navigate. Provide path summary.,"React-Flow, Cytoscape.js, Recharts",Drag + Node-Click