@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.
- package/README.md +311 -0
- package/bin/index.js +240 -0
- package/package.json +39 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/charts.csv +26 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/colors.csv +97 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/icons.csv +101 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/landing.csv +31 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/products.csv +97 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/styles.csv +59 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/typography.csv +58 -0
- package/templates/.agent/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/templates/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/core.cpython-312.pyc +0 -0
- package/templates/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/core.cpython-313.pyc +0 -0
- package/templates/.agent/.shared/ui-ux-pro-max/scripts/core.py +245 -0
- package/templates/.agent/.shared/ui-ux-pro-max/scripts/search.py +69 -0
- package/templates/.agent/rules/01-identity.md +17 -0
- package/templates/.agent/rules/02-task-classification.md +36 -0
- package/templates/.agent/rules/03-mode-consulting.md +54 -0
- package/templates/.agent/rules/04-mode-build.md +54 -0
- package/templates/.agent/rules/05-mode-debug.md +66 -0
- package/templates/.agent/rules/06-mode-optimize.md +64 -0
- package/templates/.agent/rules/07-technical-standards.md +61 -0
- package/templates/.agent/rules/08-communication.md +34 -0
- package/templates/.agent/rules/09-checklist.md +45 -0
- package/templates/.agent/rules/10-special-situations.md +81 -0
- package/templates/.agent/skills/accessibility-expert/SKILL.md +430 -0
- package/templates/.agent/skills/ai-sdk-expert/SKILL.md +541 -0
- package/templates/.agent/skills/auth-expert/SKILL.md +105 -0
- package/templates/.agent/skills/cli-expert/SKILL.md +848 -0
- package/templates/.agent/skills/code-review/SKILL.md +424 -0
- package/templates/.agent/skills/css-expert/SKILL.md +401 -0
- package/templates/.agent/skills/database-expert/SKILL.md +324 -0
- package/templates/.agent/skills/devops-expert/SKILL.md +784 -0
- package/templates/.agent/skills/docker-expert/SKILL.md +409 -0
- package/templates/.agent/skills/documentation-expert/SKILL.md +493 -0
- package/templates/.agent/skills/git-expert/SKILL.md +522 -0
- package/templates/.agent/skills/github-actions-expert/SKILL.md +454 -0
- package/templates/.agent/skills/jest-expert/SKILL.md +957 -0
- package/templates/.agent/skills/mongodb-expert/SKILL.md +761 -0
- package/templates/.agent/skills/nestjs-expert/SKILL.md +552 -0
- package/templates/.agent/skills/nextjs-expert/SKILL.md +443 -0
- package/templates/.agent/skills/nodejs-expert/SKILL.md +192 -0
- package/templates/.agent/skills/oracle/SKILL.md +340 -0
- package/templates/.agent/skills/playwright-expert/SKILL.md +214 -0
- package/templates/.agent/skills/postgres-expert/SKILL.md +642 -0
- package/templates/.agent/skills/prisma-expert/SKILL.md +355 -0
- package/templates/.agent/skills/react-expert/SKILL.md +310 -0
- package/templates/.agent/skills/react-performance/SKILL.md +816 -0
- package/templates/.agent/skills/refactoring-expert/SKILL.md +394 -0
- package/templates/.agent/skills/research-expert/SKILL.md +231 -0
- package/templates/.agent/skills/rest-api-expert/SKILL.md +469 -0
- package/templates/.agent/skills/state-management-expert/SKILL.md +157 -0
- package/templates/.agent/skills/testing-expert/SKILL.md +621 -0
- package/templates/.agent/skills/triage-expert/SKILL.md +419 -0
- package/templates/.agent/skills/typescript-expert/SKILL.md +429 -0
- package/templates/.agent/skills/typescript-type/SKILL.md +790 -0
- package/templates/.agent/skills/ui-ux-pro-max/SKILL.md +228 -0
- package/templates/.agent/skills/vite-expert/SKILL.md +785 -0
- package/templates/.agent/skills/vitest-expert/SKILL.md +325 -0
- package/templates/.agent/skills/webpack-expert/SKILL.md +745 -0
- package/templates/.agent/workflows/request.md +82 -0
- package/templates/.agent/workflows/ui-ux-pro-max.md +231 -0
- package/templates/web/README.md +36 -0
- package/templates/web/eslint.config.mjs +18 -0
- package/templates/web/next.config.ts +8 -0
- package/templates/web/package-lock.json +6549 -0
- package/templates/web/package.json +27 -0
- package/templates/web/postcss.config.mjs +7 -0
- package/templates/web/public/favicon.ico +0 -0
- package/templates/web/public/images/antigravity-kit-logo.png +0 -0
- package/templates/web/public/images/claudekit.png +0 -0
- package/templates/web/public/images/logo.png +0 -0
- package/templates/web/src/app/globals.css +276 -0
- package/templates/web/src/app/layout.tsx +55 -0
- package/templates/web/src/app/page.tsx +23 -0
- package/templates/web/src/components/Credits.tsx +162 -0
- package/templates/web/src/components/Features.tsx +92 -0
- package/templates/web/src/components/Footer.tsx +74 -0
- package/templates/web/src/components/Hero.tsx +117 -0
- package/templates/web/src/components/HowItWorks.tsx +96 -0
- package/templates/web/src/components/Navbar.tsx +87 -0
- package/templates/web/src/components/Skills.tsx +182 -0
- 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)
|
|
6
|
+
[](#-rules)
|
|
7
|
+
[](#-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
|