antigravity-ai-kit 2.1.0 → 3.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/.agent/README.md +4 -4
- package/.agent/agents/README.md +16 -12
- package/.agent/agents/architect.md +1 -0
- package/.agent/agents/backend-specialist.md +11 -0
- package/.agent/agents/code-reviewer.md +1 -0
- package/.agent/agents/database-architect.md +11 -0
- package/.agent/agents/devops-engineer.md +11 -0
- package/.agent/agents/e2e-runner.md +1 -0
- package/.agent/agents/explorer-agent.md +11 -0
- package/.agent/agents/frontend-specialist.md +11 -0
- package/.agent/agents/mobile-developer.md +11 -0
- package/.agent/agents/performance-optimizer.md +11 -0
- package/.agent/agents/planner.md +1 -0
- package/.agent/agents/refactor-cleaner.md +1 -0
- package/.agent/agents/reliability-engineer.md +11 -0
- package/.agent/agents/security-reviewer.md +1 -0
- package/.agent/agents/sprint-orchestrator.md +10 -0
- package/.agent/agents/tdd-guide.md +1 -0
- package/.agent/commands/code-review.md +1 -0
- package/.agent/commands/debug.md +1 -0
- package/.agent/commands/deploy.md +1 -0
- package/.agent/commands/help.md +252 -31
- package/.agent/commands/plan.md +1 -0
- package/.agent/commands/status.md +1 -0
- package/.agent/commands/tdd.md +1 -0
- package/.agent/contexts/brainstorm.md +26 -0
- package/.agent/contexts/debug.md +28 -0
- package/.agent/contexts/implement.md +29 -0
- package/.agent/contexts/review.md +27 -0
- package/.agent/contexts/ship.md +28 -0
- package/.agent/engine/identity.json +13 -0
- package/.agent/engine/loading-rules.json +23 -1
- package/.agent/engine/marketplace-index.json +29 -0
- package/.agent/engine/reliability-config.json +14 -0
- package/.agent/engine/sdlc-map.json +44 -0
- package/.agent/engine/workflow-state.json +28 -2
- package/.agent/hooks/hooks.json +27 -25
- package/.agent/manifest.json +12 -4
- package/.agent/rules.md +2 -1
- package/.agent/skills/README.md +10 -5
- package/.agent/skills/i18n-localization/SKILL.md +191 -0
- package/.agent/skills/mcp-integration/SKILL.md +224 -0
- package/.agent/skills/parallel-agents/SKILL.md +1 -1
- package/.agent/skills/shell-conventions/SKILL.md +92 -0
- package/.agent/skills/ui-ux-pro-max/SKILL.md +557 -0
- package/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/.agent/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.agent/skills/ui-ux-pro-max/data/styles.csv +68 -0
- package/.agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.agent/skills/ui-ux-pro-max/scripts/core.py +253 -0
- package/.agent/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/.agent/skills/ui-ux-pro-max/scripts/search.py +114 -0
- package/.agent/templates/adr-template.md +32 -0
- package/.agent/templates/bug-report.md +37 -0
- package/.agent/templates/feature-request.md +32 -0
- package/.agent/workflows/README.md +92 -78
- package/.agent/workflows/brainstorm.md +154 -100
- package/.agent/workflows/create.md +142 -75
- package/.agent/workflows/debug.md +157 -98
- package/.agent/workflows/deploy.md +195 -144
- package/.agent/workflows/enhance.md +157 -65
- package/.agent/workflows/orchestrate.md +171 -114
- package/.agent/workflows/plan.md +147 -72
- package/.agent/workflows/preview.md +140 -83
- package/.agent/workflows/quality-gate.md +196 -0
- package/.agent/workflows/retrospective.md +197 -0
- package/.agent/workflows/review.md +188 -0
- package/.agent/workflows/status.md +142 -91
- package/.agent/workflows/test.md +168 -95
- package/.agent/workflows/ui-ux-pro-max.md +181 -127
- package/README.md +215 -78
- package/bin/ag-kit.js +344 -10
- package/lib/agent-registry.js +214 -0
- package/lib/agent-reputation.js +351 -0
- package/lib/cli-commands.js +235 -0
- package/lib/conflict-detector.js +245 -0
- package/lib/engineering-manager.js +354 -0
- package/lib/error-budget.js +294 -0
- package/lib/hook-system.js +252 -0
- package/lib/identity.js +245 -0
- package/lib/loading-engine.js +208 -0
- package/lib/marketplace.js +298 -0
- package/lib/plugin-system.js +604 -0
- package/lib/security-scanner.js +309 -0
- package/lib/self-healing.js +434 -0
- package/lib/session-manager.js +261 -0
- package/lib/skill-sandbox.js +244 -0
- package/lib/task-governance.js +523 -0
- package/lib/task-model.js +317 -0
- package/lib/updater.js +201 -0
- package/lib/verify.js +240 -0
- package/lib/workflow-engine.js +353 -0
- package/lib/workflow-persistence.js +160 -0
- package/package.json +7 -3
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: i18n-localization
|
|
3
|
+
description: Internationalization and localization patterns for multi-language applications
|
|
4
|
+
triggers:
|
|
5
|
+
[
|
|
6
|
+
i18n,
|
|
7
|
+
internationalization,
|
|
8
|
+
localization,
|
|
9
|
+
l10n,
|
|
10
|
+
translation,
|
|
11
|
+
multi-language,
|
|
12
|
+
locale,
|
|
13
|
+
rtl,
|
|
14
|
+
]
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Internationalization & Localization
|
|
18
|
+
|
|
19
|
+
## Overview
|
|
20
|
+
|
|
21
|
+
This skill provides patterns and best practices for building multi-language applications with proper internationalization (i18n) and localization (l10n) support.
|
|
22
|
+
|
|
23
|
+
## Core Principles
|
|
24
|
+
|
|
25
|
+
1. **Separate content from code**: All user-facing strings must be externalized
|
|
26
|
+
2. **Use ICU message format**: Support plurals, gender, and context
|
|
27
|
+
3. **Plan for RTL**: Layout should adapt to right-to-left languages
|
|
28
|
+
4. **Locale-aware formatting**: Dates, numbers, currencies must respect locale
|
|
29
|
+
5. **Fallback strategy**: Always have a default language fallback chain
|
|
30
|
+
|
|
31
|
+
## Recommended Libraries
|
|
32
|
+
|
|
33
|
+
### React / Next.js
|
|
34
|
+
|
|
35
|
+
| Library | Use Case |
|
|
36
|
+
| --------------------------- | ------------------------------------- |
|
|
37
|
+
| `next-intl` | Next.js App Router (recommended) |
|
|
38
|
+
| `react-intl` / `formatjs` | React apps with ICU support |
|
|
39
|
+
| `i18next` + `react-i18next` | Feature-rich, plugin ecosystem |
|
|
40
|
+
| `lingui` | Compile-time extraction, small bundle |
|
|
41
|
+
|
|
42
|
+
### React Native / Expo
|
|
43
|
+
|
|
44
|
+
| Library | Use Case |
|
|
45
|
+
| --------------------------- | ----------------------------- |
|
|
46
|
+
| `i18next` + `react-i18next` | Cross-platform (web + native) |
|
|
47
|
+
| `expo-localization` | Device locale detection |
|
|
48
|
+
| `react-native-localize` | Native locale detection |
|
|
49
|
+
|
|
50
|
+
### Backend (Node.js)
|
|
51
|
+
|
|
52
|
+
| Library | Use Case |
|
|
53
|
+
| --------------- | ------------------------ |
|
|
54
|
+
| `i18next` | Server-side translations |
|
|
55
|
+
| `messageformat` | ICU message compilation |
|
|
56
|
+
| `globalize` | CLDR-based formatting |
|
|
57
|
+
|
|
58
|
+
## File Structure
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
src/
|
|
62
|
+
├── locales/
|
|
63
|
+
│ ├── en/
|
|
64
|
+
│ │ ├── common.json # Shared translations
|
|
65
|
+
│ │ ├── auth.json # Auth-related strings
|
|
66
|
+
│ │ ├── dashboard.json # Dashboard strings
|
|
67
|
+
│ │ └── errors.json # Error messages
|
|
68
|
+
│ ├── tr/
|
|
69
|
+
│ │ ├── common.json
|
|
70
|
+
│ │ ├── auth.json
|
|
71
|
+
│ │ ├── dashboard.json
|
|
72
|
+
│ │ └── errors.json
|
|
73
|
+
│ └── de/
|
|
74
|
+
│ └── ...
|
|
75
|
+
├── i18n/
|
|
76
|
+
│ ├── config.ts # i18n configuration
|
|
77
|
+
│ ├── types.ts # Type-safe key definitions
|
|
78
|
+
│ └── middleware.ts # Locale detection middleware
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Translation Key Naming Convention
|
|
82
|
+
|
|
83
|
+
```json
|
|
84
|
+
{
|
|
85
|
+
"namespace.component.element": "Translation",
|
|
86
|
+
|
|
87
|
+
"auth.login.title": "Sign In",
|
|
88
|
+
"auth.login.emailLabel": "Email Address",
|
|
89
|
+
"auth.login.passwordLabel": "Password",
|
|
90
|
+
"auth.login.submitButton": "Sign In",
|
|
91
|
+
"auth.login.forgotPassword": "Forgot your password?",
|
|
92
|
+
|
|
93
|
+
"errors.validation.required": "{field} is required",
|
|
94
|
+
"errors.validation.minLength": "{field} must be at least {min} characters",
|
|
95
|
+
"errors.network.timeout": "Request timed out. Please try again."
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Key Patterns
|
|
100
|
+
|
|
101
|
+
### 1. Type-Safe Translations (TypeScript)
|
|
102
|
+
|
|
103
|
+
```typescript
|
|
104
|
+
// types.ts — Generate from default locale JSON
|
|
105
|
+
type TranslationKeys = keyof typeof import('./locales/en/common.json');
|
|
106
|
+
|
|
107
|
+
// Usage with next-intl
|
|
108
|
+
import { useTranslations } from 'next-intl';
|
|
109
|
+
|
|
110
|
+
function LoginForm() {
|
|
111
|
+
const t = useTranslations('auth.login');
|
|
112
|
+
return <h1>{t('title')}</h1>; // Type-checked!
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### 2. Pluralization (ICU Format)
|
|
117
|
+
|
|
118
|
+
```json
|
|
119
|
+
{
|
|
120
|
+
"notifications.count": "{count, plural, =0 {No notifications} one {# notification} other {# notifications}}"
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### 3. Date/Number Formatting
|
|
125
|
+
|
|
126
|
+
```typescript
|
|
127
|
+
// Always use Intl API or library formatters
|
|
128
|
+
const formatted = new Intl.DateTimeFormat(locale, {
|
|
129
|
+
year: "numeric",
|
|
130
|
+
month: "long",
|
|
131
|
+
day: "numeric",
|
|
132
|
+
}).format(date);
|
|
133
|
+
|
|
134
|
+
const price = new Intl.NumberFormat(locale, {
|
|
135
|
+
style: "currency",
|
|
136
|
+
currency: "EUR",
|
|
137
|
+
}).format(amount);
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### 4. RTL Support
|
|
141
|
+
|
|
142
|
+
```css
|
|
143
|
+
/* Use logical properties instead of physical */
|
|
144
|
+
.container {
|
|
145
|
+
padding-inline-start: 1rem; /* Not padding-left */
|
|
146
|
+
margin-inline-end: 2rem; /* Not margin-right */
|
|
147
|
+
border-inline-start: 2px solid;
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### 5. Next.js App Router Integration
|
|
152
|
+
|
|
153
|
+
```typescript
|
|
154
|
+
// middleware.ts
|
|
155
|
+
import createMiddleware from "next-intl/middleware";
|
|
156
|
+
|
|
157
|
+
export default createMiddleware({
|
|
158
|
+
locales: ["en", "tr", "de"],
|
|
159
|
+
defaultLocale: "en",
|
|
160
|
+
localeDetection: true,
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
export const config = {
|
|
164
|
+
matcher: ["/((?!api|_next|.*\\..*).*)"],
|
|
165
|
+
};
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Quality Checklist
|
|
169
|
+
|
|
170
|
+
- [ ] All user-facing strings externalized (no hardcoded text)
|
|
171
|
+
- [ ] Pluralization rules applied for countable items
|
|
172
|
+
- [ ] Date/time/number formatting uses locale-aware APIs
|
|
173
|
+
- [ ] RTL layout tested (if supporting RTL languages)
|
|
174
|
+
- [ ] Fallback language chain configured
|
|
175
|
+
- [ ] Translation keys are descriptive and namespaced
|
|
176
|
+
- [ ] Missing translation handling defined (fallback vs error)
|
|
177
|
+
- [ ] SEO: `<html lang="">` and `hreflang` tags set
|
|
178
|
+
- [ ] URL structure supports locale (`/en/about` or subdomain)
|
|
179
|
+
|
|
180
|
+
## Anti-Patterns to Avoid
|
|
181
|
+
|
|
182
|
+
❌ Hardcoding strings in components
|
|
183
|
+
❌ Using string concatenation for translated sentences
|
|
184
|
+
❌ Assuming left-to-right layout
|
|
185
|
+
❌ Using physical CSS properties (left/right) instead of logical (start/end)
|
|
186
|
+
❌ Formatting dates/numbers without locale context
|
|
187
|
+
❌ Storing translations in code instead of separate files
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
> **Source**: Antigravity AI Kit — [besync-labs/antigravity-ai-kit](https://github.com/besync-labs/antigravity-ai-kit)
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mcp-integration
|
|
3
|
+
description: Model Context Protocol (MCP) integration patterns for extending AI capabilities with external tools and data sources.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
triggers: [mcp, tool, server, protocol, integration, external]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# MCP Integration Skill
|
|
9
|
+
|
|
10
|
+
> **Purpose**: Guide the integration and effective use of Model Context Protocol (MCP) servers to extend AI agent capabilities with external tools, data sources, and services.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
The Model Context Protocol (MCP) is an open standard that connects AI systems with external tools and data sources through a unified interface. MCP servers act as capability providers — each server exposes a set of tools that the AI can invoke to perform actions beyond its native abilities.
|
|
17
|
+
|
|
18
|
+
This skill ensures that MCP integrations follow Trust-Grade principles: secure, reliable, and properly governed.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Core Concepts
|
|
23
|
+
|
|
24
|
+
### MCP Architecture
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
|
|
28
|
+
│ AI Agent │────▶│ MCP Client │────▶│ MCP Server │
|
|
29
|
+
│ (LLM + Kit) │◀────│ (IDE/Runtime) │◀────│ (Tool Provider)│
|
|
30
|
+
└─────────────────┘ └──────────────────┘ └─────────────────┘
|
|
31
|
+
│
|
|
32
|
+
┌────┴────┐
|
|
33
|
+
│ External │
|
|
34
|
+
│ Service │
|
|
35
|
+
└─────────┘
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Key Components
|
|
39
|
+
|
|
40
|
+
| Component | Role | Example |
|
|
41
|
+
|:----------|:-----|:--------|
|
|
42
|
+
| **MCP Server** | Exposes tools via protocol | GitHub MCP, GitKraken MCP, Database MCP |
|
|
43
|
+
| **MCP Client** | Connects AI to servers | VS Code extension, Cursor, IDE runtime |
|
|
44
|
+
| **Tools** | Individual capabilities | `create_issue`, `git_commit`, `run_query` |
|
|
45
|
+
| **Resources** | Data endpoints | File contents, database schemas, API docs |
|
|
46
|
+
| **Prompts** | Reusable templates | Code review template, deployment checklist |
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Integration Patterns
|
|
51
|
+
|
|
52
|
+
### Pattern 1: Git Operations via MCP
|
|
53
|
+
|
|
54
|
+
**When to use**: Git operations that benefit from structured API access rather than raw CLI commands.
|
|
55
|
+
|
|
56
|
+
**Available servers**: GitKraken MCP, GitHub MCP
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
Preferred for:
|
|
60
|
+
- Creating branches, commits, PRs (structured data)
|
|
61
|
+
- Reading git status, blame, diff (parsed output)
|
|
62
|
+
- Managing issues and reviews (API access)
|
|
63
|
+
|
|
64
|
+
Still use CLI for:
|
|
65
|
+
- Complex git operations (rebase, cherry-pick)
|
|
66
|
+
- Local-only operations (stash, worktree)
|
|
67
|
+
- Performance-critical batch operations
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Pattern 2: Issue and Project Management
|
|
71
|
+
|
|
72
|
+
**When to use**: Creating, updating, and querying issues across platforms.
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
GitHub MCP Server provides:
|
|
76
|
+
- issue_write (create/update issues)
|
|
77
|
+
- issue_read (get details, comments, labels)
|
|
78
|
+
- search_issues (query with GitHub syntax)
|
|
79
|
+
- list_issues (paginated browsing)
|
|
80
|
+
|
|
81
|
+
Best practices:
|
|
82
|
+
- Use search_* for targeted queries with criteria
|
|
83
|
+
- Use list_* for broad retrieval with pagination
|
|
84
|
+
- Batch reads in groups of 5-10 items
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Pattern 3: Code Search and Analysis
|
|
88
|
+
|
|
89
|
+
**When to use**: Finding code patterns across repositories.
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
GitHub MCP provides:
|
|
93
|
+
- search_code (cross-repo code search)
|
|
94
|
+
- get_file_contents (read specific files)
|
|
95
|
+
- get_commit (commit details with diff)
|
|
96
|
+
|
|
97
|
+
Usage guidance:
|
|
98
|
+
- Use search_code for finding symbols, functions, patterns
|
|
99
|
+
- Use get_file_contents for reading specific known files
|
|
100
|
+
- Combine with local grep_search for current workspace
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Pattern 4: Pull Request Workflow
|
|
104
|
+
|
|
105
|
+
**When to use**: Full PR lifecycle management.
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
Workflow:
|
|
109
|
+
1. create_branch → Create feature branch
|
|
110
|
+
2. push_files → Push code changes
|
|
111
|
+
3. create_pull_request → Open PR
|
|
112
|
+
4. request_copilot_review → Automated review
|
|
113
|
+
5. pull_request_read(get_status) → Check CI status
|
|
114
|
+
6. merge_pull_request → Merge when ready
|
|
115
|
+
|
|
116
|
+
Trust-Grade rules:
|
|
117
|
+
- Always create PR (never push directly to main)
|
|
118
|
+
- Always request review before merge
|
|
119
|
+
- Always check CI status before merge
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Security Guidelines
|
|
125
|
+
|
|
126
|
+
### Authentication
|
|
127
|
+
|
|
128
|
+
- MCP servers use token-based authentication
|
|
129
|
+
- Tokens are managed by the IDE/runtime, never by the AI agent
|
|
130
|
+
- Never log, display, or store authentication tokens
|
|
131
|
+
- Verify server identity before sending sensitive operations
|
|
132
|
+
|
|
133
|
+
### Permission Model
|
|
134
|
+
|
|
135
|
+
| Operation Type | Risk Level | Verification Required |
|
|
136
|
+
|:---------------|:-----------|:---------------------|
|
|
137
|
+
| Read (list, get, search) | Low | None |
|
|
138
|
+
| Create (new issue, branch, file) | Medium | Confirm with user |
|
|
139
|
+
| Modify (update, edit) | Medium | Confirm with user |
|
|
140
|
+
| Delete (remove file, close issue) | High | Explicit user approval |
|
|
141
|
+
| Deploy (merge, publish) | Critical | Double confirmation |
|
|
142
|
+
|
|
143
|
+
### Data Handling
|
|
144
|
+
|
|
145
|
+
- Never pass secrets through MCP tool parameters
|
|
146
|
+
- Sanitize user data before including in tool calls
|
|
147
|
+
- Respect repository visibility (public vs private)
|
|
148
|
+
- Log operations for audit trail (session-context.md)
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Server Selection Guide
|
|
153
|
+
|
|
154
|
+
| Task | Recommended Server | Why |
|
|
155
|
+
|:-----|:-------------------|:----|
|
|
156
|
+
| Git operations (commit, branch, status) | GitKraken MCP | Richer git-specific tools |
|
|
157
|
+
| GitHub issues and PRs | GitHub MCP | Native GitHub API access |
|
|
158
|
+
| Code review and analysis | GitHub MCP | PR review tools |
|
|
159
|
+
| Repository management | GitHub MCP | Repo CRUD operations |
|
|
160
|
+
| Complex git workflows | GitKraken MCP | Worktree, stash, blame |
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Error Handling
|
|
165
|
+
|
|
166
|
+
### Common MCP Errors
|
|
167
|
+
|
|
168
|
+
| Error | Cause | Resolution |
|
|
169
|
+
|:------|:------|:-----------|
|
|
170
|
+
| `ENEEDAUTH` | Token expired/missing | Re-authenticate via IDE settings |
|
|
171
|
+
| `403 Forbidden` | Insufficient permissions | Check token scopes |
|
|
172
|
+
| `404 Not Found` | Resource doesn't exist | Verify owner/repo/branch names |
|
|
173
|
+
| `422 Unprocessable` | Invalid parameters | Check required fields and formats |
|
|
174
|
+
| `Rate Limited` | Too many requests | Implement exponential backoff |
|
|
175
|
+
|
|
176
|
+
### Fallback Strategy
|
|
177
|
+
|
|
178
|
+
When an MCP server is unavailable:
|
|
179
|
+
1. Log the failure in session context
|
|
180
|
+
2. Fall back to CLI equivalent if available
|
|
181
|
+
3. Notify user of degraded capability
|
|
182
|
+
4. Continue with remaining available tools
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## Integration with Antigravity AI Kit
|
|
187
|
+
|
|
188
|
+
### Loading Rules Integration
|
|
189
|
+
|
|
190
|
+
MCP capabilities are registered in `engine/loading-rules.json` under domain rules:
|
|
191
|
+
|
|
192
|
+
```json
|
|
193
|
+
{
|
|
194
|
+
"domain": "git-operations",
|
|
195
|
+
"keywords": ["git", "commit", "branch", "pr", "merge"],
|
|
196
|
+
"loadAgents": ["devops-engineer"],
|
|
197
|
+
"loadSkills": ["git-workflow", "mcp-integration"],
|
|
198
|
+
"mcpServers": ["GitKraken", "github-mcp-server"]
|
|
199
|
+
}
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### Session Context Tracking
|
|
203
|
+
|
|
204
|
+
Log MCP operations in session context for continuity:
|
|
205
|
+
|
|
206
|
+
```markdown
|
|
207
|
+
## MCP Operations This Session
|
|
208
|
+
- Created branch `feature/auth` via GitKraken MCP
|
|
209
|
+
- Opened PR #42 via GitHub MCP
|
|
210
|
+
- Requested Copilot review via GitHub MCP
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Workflow State Integration
|
|
214
|
+
|
|
215
|
+
MCP operations map to workflow phases:
|
|
216
|
+
|
|
217
|
+
| Phase | MCP Operations |
|
|
218
|
+
|:------|:--------------|
|
|
219
|
+
| EXPLORE | `search_code`, `get_file_contents`, `list_issues` |
|
|
220
|
+
| PLAN | `issue_write` (create tracking issue) |
|
|
221
|
+
| IMPLEMENT | `create_branch`, `push_files` |
|
|
222
|
+
| VERIFY | `pull_request_read(get_status)` |
|
|
223
|
+
| REVIEW | `request_copilot_review`, `pull_request_review_write` |
|
|
224
|
+
| DEPLOY | `merge_pull_request` |
|
|
@@ -169,7 +169,7 @@ After all agents complete, synthesize findings:
|
|
|
169
169
|
|
|
170
170
|
- [ ] Verify session state is current
|
|
171
171
|
- [ ] Check for active blockers
|
|
172
|
-
- [ ] Load relevant
|
|
172
|
+
- [ ] Load relevant governance rules
|
|
173
173
|
- [ ] Confirm scope with user if complex
|
|
174
174
|
|
|
175
175
|
### Post-Orchestration Protocol
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: shell-conventions
|
|
3
|
+
description: PowerShell shell conventions for Windows. Avoid bash-isms. Reference before running terminal commands.
|
|
4
|
+
triggers: [powershell, terminal, shell, command, run, windows, cli]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Shell Conventions — Windows PowerShell 5.x
|
|
8
|
+
|
|
9
|
+
> **Environment**: Windows PowerShell 5.x (NOT PowerShell 7/Core)
|
|
10
|
+
> **Scope**: All `run_command` tool calls across all workspaces
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 🔴 CRITICAL RULES
|
|
15
|
+
|
|
16
|
+
1. **NEVER use `&&`** — It is NOT a valid operator in PowerShell 5.x
|
|
17
|
+
2. **NEVER use `cd dir && command`** — Use the `Cwd` parameter on `run_command` instead
|
|
18
|
+
3. **NEVER use `||`** as bash-style OR — Use `if (-not $?) { ... }` instead
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Operator Reference
|
|
23
|
+
|
|
24
|
+
| Operator | Bash | PowerShell 5.x | Notes |
|
|
25
|
+
| -------- | -------------------------- | ----------------------- | --------------------------------- |
|
|
26
|
+
| `&&` | Sequential (conditional) | ❌ **NOT SUPPORTED** | Use `;` or `Cwd` param |
|
|
27
|
+
| `;` | Sequential (unconditional) | ✅ Sequential execution | Runs next regardless of exit code |
|
|
28
|
+
| `\|` | Pipe stdout | ✅ Pipe objects | Different semantics than bash |
|
|
29
|
+
| `\|\|` | OR (run on failure) | ❌ **NOT SUPPORTED** | Use `if (-not $?) { ... }` |
|
|
30
|
+
| `>` | Redirect stdout | ✅ Redirect output | Same behavior |
|
|
31
|
+
| `2>&1` | Redirect stderr to stdout | ✅ Merge streams | Same behavior |
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Patterns
|
|
36
|
+
|
|
37
|
+
### ❌ WRONG: Chaining with &&
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
cd src && npm test && npm run build
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### ✅ RIGHT: Use Cwd parameter
|
|
44
|
+
|
|
45
|
+
```powershell
|
|
46
|
+
# Set Cwd to "src" on run_command, then just run:
|
|
47
|
+
npm test
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### ✅ RIGHT: Sequential with ;
|
|
51
|
+
|
|
52
|
+
```powershell
|
|
53
|
+
git status; git log --oneline -5
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### ✅ RIGHT: Call operator for executables with spaces/special chars
|
|
57
|
+
|
|
58
|
+
```powershell
|
|
59
|
+
& ".venv\Scripts\ruff.exe" check app/
|
|
60
|
+
& ".venv\Scripts\pytest.exe" tests/ -v
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Common Patterns
|
|
66
|
+
|
|
67
|
+
| Task | PowerShell Command |
|
|
68
|
+
| ------------------- | ------------------------------------------- |
|
|
69
|
+
| Run Node.js tests | `npm test` |
|
|
70
|
+
| Run Python tests | `& ".venv\Scripts\pytest.exe" tests/ -q` |
|
|
71
|
+
| Run linter | `npm run lint` |
|
|
72
|
+
| Check git status | `git status` |
|
|
73
|
+
| Build project | `npm run build` |
|
|
74
|
+
| Install deps | `npm install` |
|
|
75
|
+
| List files | `Get-ChildItem -Recurse` |
|
|
76
|
+
| Find in files | `Select-String -Pattern "text" -Path "*.md"`|
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Virtual Environment (Python)
|
|
81
|
+
|
|
82
|
+
```powershell
|
|
83
|
+
# Activate (PowerShell)
|
|
84
|
+
& ".venv\Scripts\Activate.ps1"
|
|
85
|
+
|
|
86
|
+
# Run without activation (preferred for tool calls)
|
|
87
|
+
& ".venv\Scripts\python.exe" -m pytest tests/ -q
|
|
88
|
+
& ".venv\Scripts\python.exe" -m ruff check app/
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
> [!TIP]
|
|
92
|
+
> For `run_command` tool calls, prefer calling the executable directly with `&` rather than activating the virtual environment.
|