everything-gemini 1.0.0 → 1.1.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/.github/workflows/release.yml +49 -0
- package/CHANGELOG.md +81 -0
- package/CONTRIBUTING.md +2 -2
- package/README.md +55 -25
- package/assets/banner.jpg +0 -0
- package/bin/everything-gemini +198 -7
- package/docs/LAUNCH_KIT.md +156 -0
- package/docs/architecture/progressive-disclosure.md +1 -1
- package/docs/index.html +555 -0
- package/docs/workflows/slash-commands.md +3 -3
- package/examples/python-sdk/README.md +36 -0
- package/examples/python-sdk/orchestrate_subagents.py +59 -0
- package/hooks/auto-lint-formatter/scripts/auto-format.sh +1 -1
- package/hooks/ephemeral-context/scripts/inject-context.sh +2 -2
- package/hooks/goal-verifier/scripts/verify-goal.sh +2 -2
- package/hooks/safety-shield/scripts/safety-gate.sh +3 -3
- package/package.json +2 -1
- package/plugins/core/plugin.json +1 -1
- package/plugins/python-ai/plugin.json +1 -1
- package/plugins/security-shield/plugin.json +1 -1
- package/plugins/web-fullstack/plugin.json +1 -1
- package/rules/common/AGENTS.md +1 -1
- package/rules/common/GEMINI.md +1 -1
- package/skills/ai-first-engineering/SKILL.md +68 -0
- package/skills/cloudflare-workers/SKILL.md +72 -0
- package/skills/gemini-function-calling/SKILL.md +90 -0
- package/skills/gemini-grounding/SKILL.md +37 -0
- package/skills/github-ops/SKILL.md +102 -0
- package/skills/kubernetes-operator/SKILL.md +82 -0
- package/skills/rag-architect/SKILL.md +60 -0
- package/skills/stripe-integration/SKILL.md +65 -0
- package/skills/supabase-architect/SKILL.md +53 -0
- package/templates/full-power/AGENTS.md +12 -0
- package/templates/full-power/GEMINI.md +12 -0
- package/templates/full-power/hooks.json +56 -0
- package/templates/full-power/mcp_config.json +15 -0
- package/templates/recommended/AGENTS.md +11 -0
- package/templates/recommended/GEMINI.md +11 -0
- package/templates/recommended/hooks.json +43 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
name: Release & Publish
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*'
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
build-and-publish:
|
|
10
|
+
name: Build, Test & Publish to NPM
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
permissions:
|
|
13
|
+
contents: write
|
|
14
|
+
id-token: write
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- name: Checkout Repository
|
|
18
|
+
uses: actions/checkout@v4
|
|
19
|
+
|
|
20
|
+
- name: Setup Node.js
|
|
21
|
+
uses: actions/setup-node@v4
|
|
22
|
+
with:
|
|
23
|
+
node-version: '20'
|
|
24
|
+
registry-url: 'https://registry.npmjs.org'
|
|
25
|
+
|
|
26
|
+
- name: Make Scripts Executable
|
|
27
|
+
run: |
|
|
28
|
+
chmod +x scripts/validate.sh scripts/install.sh bin/everything-gemini
|
|
29
|
+
find hooks/ -type f -name "*.sh" -exec chmod +x {} +
|
|
30
|
+
find skills/ -type f -name "*.sh" -exec chmod +x {} +
|
|
31
|
+
|
|
32
|
+
- name: Run Test Suite
|
|
33
|
+
run: npm test
|
|
34
|
+
|
|
35
|
+
- name: Create GitHub Release
|
|
36
|
+
uses: softprops/action-gh-release@v2
|
|
37
|
+
with:
|
|
38
|
+
generate_release_notes: true
|
|
39
|
+
files: |
|
|
40
|
+
LICENSE
|
|
41
|
+
README.md
|
|
42
|
+
CHANGELOG.md
|
|
43
|
+
|
|
44
|
+
- name: Publish to NPM
|
|
45
|
+
if: env.NPM_TOKEN != ''
|
|
46
|
+
run: npm publish --access public
|
|
47
|
+
env:
|
|
48
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
49
|
+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# 📜 Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to **Everything Gemini (`everything-gemini`)** will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
|
+
|
|
7
|
+
## [1.1.1] - 2026-10-15
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
- **Social Media Preview Engine**: Rich Open Graph (`og:*`) and Twitter Card (`twitter:*`) metadata embedded in `docs/index.html` for rich link unfurling on social platforms.
|
|
11
|
+
- **Turnkey Launch & Marketing Kit**: Added [`docs/LAUNCH_KIT.md`](docs/LAUNCH_KIT.md) featuring viral launch tweets, a 4-part thread, Reddit discussions, and Hacker News (Show HN) copy.
|
|
12
|
+
- **Enhanced CLI Catalog Discovery**: `everything-gemini list` now dynamically scans and highlights namespaced skills packaged within domain plugins.
|
|
13
|
+
- **Automated NPM Release CI**: Integrated automated npm publishing within `.github/workflows/release.yml` with provenance.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## [1.1.0] - 2026-10-15
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
- **27 Progressive Disclosure Skills Milestone**:
|
|
21
|
+
- **`github-ops`**: End-to-end GitHub automation, PR generation, code review triage, and semantic releases via `gh` CLI and GitHub MCP.
|
|
22
|
+
- **`ai-first-engineering`**: Requirement decomposition, executable acceptance criteria, and blast-radius containment.
|
|
23
|
+
- **`rag-architect`**: RAG engineering with `text-embedding-004`, hybrid search (dense + BM25), and Gemini re-ranking.
|
|
24
|
+
- **`gemini-function-calling`**: Production tool schemas, Pydantic output formatting, parallel execution, and error recovery envelopes.
|
|
25
|
+
- **Interactive Web Catalog Expansion**: Updated [https://salmandev.github.io/everything-gemini/](https://salmandev.github.io/everything-gemini/) to feature all 27 progressive skills with instant search and category filtering.
|
|
26
|
+
- **Enhanced CLI Commands**: Added `everything-gemini init` for quickstart setup, `everything-gemini remove <type> <name>` for component uninstallation, and `everything-gemini test-skill <name>` for validation.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## [1.0.2] - 2026-10-15
|
|
31
|
+
|
|
32
|
+
### Added
|
|
33
|
+
- **Interactive Web Showcase**: Launched official documentation and interactive skill catalog at [https://salmandev.github.io/everything-gemini/](https://salmandev.github.io/everything-gemini/).
|
|
34
|
+
- **Component Granular Management**: Added `everything-gemini add <type> <name>` to install individual skills, agents, or plugins into any workspace on demand.
|
|
35
|
+
- **Skill Quality Gate**: Added `everything-gemini test-skill <name>` validating frontmatter boundary syntax, descriptions, and script execution bits.
|
|
36
|
+
- **Python SDK Multi-Agent Orchestration**: Complete runnable pipeline example in `examples/python-sdk/` showcasing programmatic leasing of Planner and Reviewer subagents with token streaming.
|
|
37
|
+
- **Frontier Cloud & AI Skills**: Integrated `cloudflare-workers`, `supabase-architect`, `stripe-integration`, and `kubernetes-operator`.
|
|
38
|
+
|
|
39
|
+
### Changed
|
|
40
|
+
- CLI dynamically resolves package version from `package.json`.
|
|
41
|
+
- Updated comprehensive CLI documentation across README and repository references.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## [1.0.1] - 2026-10-15
|
|
46
|
+
|
|
47
|
+
### Added
|
|
48
|
+
- **`gemini-grounding` Skill**: Native Google Search Grounding and dynamic fact-verification playbook.
|
|
49
|
+
- **Automated Release Workflow**: `.github/workflows/release.yml` for automated GitHub releases and npm publishing.
|
|
50
|
+
- **NPM Package Verification**: Published to npm registry as `everything-gemini`.
|
|
51
|
+
|
|
52
|
+
### Changed
|
|
53
|
+
- Normalized all documentation, plugins, and lifecycle hook manifests to `everything-gemini`.
|
|
54
|
+
- Added instant `npx everything-gemini install` installation instructions to README.
|
|
55
|
+
- Credited Everything Claude Code (ECC) by Affan Mustafa in dedicated `Acknowledgements & Prior Art` section.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## [1.0.0] - 2026-10-15
|
|
60
|
+
|
|
61
|
+
### Initial Public Launch
|
|
62
|
+
- **18 Progressive Disclosure Skills**:
|
|
63
|
+
- `gemini-multimodal`: Visual mockups, diagram extraction, and automated UI regression testing.
|
|
64
|
+
- `context-caching`: 1M-2M token context optimization with static prefix caching.
|
|
65
|
+
- `subagent-handoff`: Multi-agent scoped delegation and synthesis.
|
|
66
|
+
- `api-craftsman`, `database-architect`, `devops-pipeline`, `root-cause-debugger`, `tdd-workflow`, `browser-qa-tester`, `architecture-designer`, `repo-onboarding`, `git-craftsman`, `performance-profiler`, `fullstack-nextjs`, `security-audit`, `continuous-learning`.
|
|
67
|
+
- **6 Scoped Subagents (`agents/`)**:
|
|
68
|
+
- `planner.md`, `code-reviewer.md`, `build-repair.md`, `browser-qa.md`, `security-auditor.md`, `architect.md`.
|
|
69
|
+
- **GeminiShield Safety Gate & Lifecycle Hooks**:
|
|
70
|
+
- `PreToolUse`: Catastrophic command blocker (`rm -rf`, `DROP TABLE`, `git push --force`).
|
|
71
|
+
- `PostToolUse`: Auto-lint formatter.
|
|
72
|
+
- `Stop`: Goal-verifier preventing premature agent completion on broken tests.
|
|
73
|
+
- `PreInvocation`: Ephemeral context injector.
|
|
74
|
+
- **4 Modular Plugins**:
|
|
75
|
+
- `plugins/core`, `plugins/web-fullstack`, `plugins/python-ai`, `plugins/security-shield`.
|
|
76
|
+
- **Zero-Dependency CLI (`bin/everything-gemini`)**:
|
|
77
|
+
- `doctor`, `install`, `list`, `new-skill`, `new-agent`, `validate`.
|
|
78
|
+
- **Comprehensive Documentation**:
|
|
79
|
+
- Architectural comparison breakdown against Everything Claude Code (ECC) (`docs/ecc-vs-everything-gemini.md`).
|
|
80
|
+
- 4 Antigravity Surfaces guide (Desktop 2.0, IDE, CLI, Python SDK).
|
|
81
|
+
- Progressive disclosure specifications and Cortex event loop diagrams.
|
package/CONTRIBUTING.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Contributing to Everything
|
|
1
|
+
# Contributing to Everything Gemini (`everything-gemini`)
|
|
2
2
|
|
|
3
|
-
Thank you for your interest in contributing to **Everything
|
|
3
|
+
Thank you for your interest in contributing to **Everything Gemini (`everything-gemini`)**! Our goal is to build the highest-quality, most reliable, and most token-efficient agent harness and customization ecosystem for Google Antigravity and Gemini.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
package/README.md
CHANGED
|
@@ -2,15 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
<div align="center">
|
|
4
4
|
|
|
5
|
+
<img src="assets/banner.jpg" alt="Everything Gemini Banner" width="100%" style="border-radius: 12px; margin-bottom: 16px;" />
|
|
6
|
+
|
|
7
|
+
[](https://salmandev.github.io/everything-gemini/)
|
|
8
|
+
[](https://www.npmjs.com/package/everything-gemini)
|
|
9
|
+
[](https://github.com/salmandev/everything-gemini/actions/workflows/ci.yml)
|
|
5
10
|
[](LICENSE)
|
|
6
11
|
[](https://antigravity.google)
|
|
7
|
-
[](package.json)
|
|
8
12
|
[](https://github.com/salmandev/everything-gemini)
|
|
9
13
|
[](CONTRIBUTING.md)
|
|
10
14
|
|
|
11
15
|
**The open-source agent harness, multi-agent orchestrator, and performance ecosystem for Google Gemini & Antigravity.**
|
|
12
16
|
|
|
13
|
-
[Quickstart](#-quickstart) • [What is everything-gemini?](#-what-is-everything-gemini) • [Architecture](#-architecture--internals) • [Customization Catalog](#-customization-catalog) • [Surfaces Guide](#-the-4-antigravity-surfaces) • [Contributing](CONTRIBUTING.md)
|
|
17
|
+
[Live Interactive Showcase](https://salmandev.github.io/everything-gemini/) • [Quickstart](#-quickstart) • [What is everything-gemini?](#-what-is-everything-gemini) • [Architecture](#-architecture--internals) • [Customization Catalog](#-customization-catalog) • [Surfaces Guide](#-the-4-antigravity-surfaces) • [Contributing](CONTRIBUTING.md)
|
|
14
18
|
|
|
15
19
|
</div>
|
|
16
20
|
|
|
@@ -38,9 +42,15 @@ Out of the box, Antigravity is a formidable pair programmer. But without structu
|
|
|
38
42
|
|
|
39
43
|
## 🚀 Quickstart
|
|
40
44
|
|
|
41
|
-
### 1.
|
|
45
|
+
### 1. Instant Installation via npx (Zero Setup)
|
|
46
|
+
|
|
47
|
+
Run this directly in any project directory or terminal:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npx everything-gemini install
|
|
51
|
+
```
|
|
42
52
|
|
|
43
|
-
|
|
53
|
+
### 2. One-Line Interactive Installer
|
|
44
54
|
|
|
45
55
|
```bash
|
|
46
56
|
# macOS / Linux
|
|
@@ -52,18 +62,17 @@ curl -fsSL https://raw.githubusercontent.com/salmandev/everything-gemini/main/sc
|
|
|
52
62
|
irm https://raw.githubusercontent.com/salmandev/everything-gemini/main/scripts/install.ps1 | iex
|
|
53
63
|
```
|
|
54
64
|
|
|
55
|
-
###
|
|
56
|
-
|
|
65
|
+
### 3. Via Repository Clone
|
|
57
66
|
```bash
|
|
58
67
|
# Clone the repository
|
|
59
68
|
git clone https://github.com/salmandev/everything-gemini.git
|
|
60
69
|
cd everything-gemini
|
|
61
70
|
|
|
62
|
-
# Run the
|
|
71
|
+
# Run the Everything Gemini CLI
|
|
63
72
|
./bin/everything-gemini install --profile developer
|
|
64
73
|
```
|
|
65
74
|
|
|
66
|
-
###
|
|
75
|
+
### 4. Installation Profiles
|
|
67
76
|
|
|
68
77
|
| Profile | Target Audience | What Gets Installed |
|
|
69
78
|
| :--- | :--- | :--- |
|
|
@@ -75,7 +84,7 @@ cd everything-gemini
|
|
|
75
84
|
|
|
76
85
|
## 🏗️ Architecture & Internals
|
|
77
86
|
|
|
78
|
-
`
|
|
87
|
+
`everything-gemini` is engineered specifically around Google Antigravity's internal execution engine:
|
|
79
88
|
|
|
80
89
|
```mermaid
|
|
81
90
|
flowchart TB
|
|
@@ -91,7 +100,7 @@ flowchart TB
|
|
|
91
100
|
Workspace[".agents/ (Workspace Root)"]
|
|
92
101
|
end
|
|
93
102
|
|
|
94
|
-
subgraph
|
|
103
|
+
subgraph GeminiHarness["3. Everything Gemini Harness & Engine"]
|
|
95
104
|
direction TB
|
|
96
105
|
HookEngine["Lifecycle Hooks Engine\n(PreToolUse | PostToolUse | PreInvocation | Stop)"]
|
|
97
106
|
Progressive["Progressive Disclosure Router\n(Injects only metadata until model decides to view)"]
|
|
@@ -105,8 +114,8 @@ flowchart TB
|
|
|
105
114
|
end
|
|
106
115
|
|
|
107
116
|
AntigravitySurfaces --> CustomizationRoots
|
|
108
|
-
CustomizationRoots -->
|
|
109
|
-
|
|
117
|
+
CustomizationRoots --> GeminiHarness
|
|
118
|
+
GeminiHarness --> Capabilities
|
|
110
119
|
```
|
|
111
120
|
|
|
112
121
|
### Key Differences: ECC vs. Everything Gemini
|
|
@@ -136,7 +145,7 @@ everything-gemini/
|
|
|
136
145
|
├── agents/ # Scoped subagent fleet (Planner, Reviewer, Architect, etc.)
|
|
137
146
|
├── scripts/ # Automated installers and harness validators
|
|
138
147
|
├── plugins/ # Reusable modular plugins (web-fullstack, python-ai, security)
|
|
139
|
-
├── skills/ #
|
|
148
|
+
├── skills/ # 27 Progressive disclosure skills (25 core + 2 plugins)
|
|
140
149
|
├── rules/ # Contextual guidelines & standards
|
|
141
150
|
├── hooks/ # Event-driven lifecycle hooks (GeminiShield, Auto-lint)
|
|
142
151
|
├── mcp/ # Production-ready MCP server blueprints
|
|
@@ -166,9 +175,19 @@ Skills in Antigravity are lazy-loaded runbooks. Only their YAML frontmatter (`na
|
|
|
166
175
|
|
|
167
176
|
- **[`gemini-multimodal`](skills/gemini-multimodal/SKILL.md)**: Native visual reasoning over mockups, diagrams, and automated WebP browser recordings.
|
|
168
177
|
- **[`context-caching`](skills/context-caching/SKILL.md)**: 1M-2M token context optimization, static prefix caching, and repository indexing.
|
|
178
|
+
- **[`gemini-grounding`](skills/gemini-grounding/SKILL.md)**: Real-time Google Search grounding, live documentation retrieval, and fact-checking.
|
|
179
|
+
- **[`rag-architect`](skills/rag-architect/SKILL.md)**: RAG pipeline design, AST semantic chunking, hybrid vector-keyword retrieval, and Gemini re-ranking.
|
|
180
|
+
- **[`gemini-function-calling`](skills/gemini-function-calling/SKILL.md)**: Production function declarations, structured JSON output schemas (Pydantic), and parallel tool dispatch.
|
|
181
|
+
- **[`ai-first-engineering`](skills/ai-first-engineering/SKILL.md)**: Requirement decomposition, executable acceptance criteria (BDD), and blast-radius containment.
|
|
182
|
+
- **[`github-ops`](skills/github-ops/SKILL.md)**: GitHub workflow automation, PR generation, code review triage, and semantic releases with `gh` CLI & GitHub MCP.
|
|
169
183
|
- **[`subagent-handoff`](skills/subagent-handoff/SKILL.md)**: Multi-agent task delegation protocol, scoped contexts, and report synthesis.
|
|
170
184
|
- **[`api-craftsman`](skills/api-craftsman/SKILL.md)**: REST, OpenAPI 3.1 specifications, gRPC protos, and RFC 7807 error envelopes.
|
|
171
185
|
- **[`database-architect`](skills/database-architect/SKILL.md)**: Zero-downtime migrations, concurrent indexing, and ACID schema modeling.
|
|
186
|
+
- **[`fullstack-nextjs`](skills/fullstack-nextjs/SKILL.md)**: Next.js App Router, React Server Components (RSC), hydration error diagnosis, and Server Actions.
|
|
187
|
+
- **[`supabase-architect`](skills/supabase-architect/SKILL.md)**: Row Level Security (RLS) policies, pgvector embeddings, and edge function workflows.
|
|
188
|
+
- **[`cloudflare-workers`](skills/cloudflare-workers/SKILL.md)**: Serverless edge functions, Wrangler v3, D1 SQL, and KV low-latency storage.
|
|
189
|
+
- **[`kubernetes-operator`](skills/kubernetes-operator/SKILL.md)**: Production k8s manifests, HPA autoscaling, zero-downtime rolling updates, and health probes.
|
|
190
|
+
- **[`stripe-integration`](skills/stripe-integration/SKILL.md)**: Webhook signature verification, idempotent payments, and customer portal session flows.
|
|
172
191
|
- **[`devops-pipeline`](skills/devops-pipeline/SKILL.md)**: Multi-stage Dockerfiles and caching GitHub Actions CI/CD workflows.
|
|
173
192
|
- **[`root-cause-debugger`](skills/root-cause-debugger/SKILL.md)**: Regression diagnosis using binary search (`git bisect`) and minimal reproduction harnesses.
|
|
174
193
|
- **[`tdd-workflow`](skills/tdd-workflow/SKILL.md)**: Red-Green-Refactor loop with automated test runners.
|
|
@@ -178,11 +197,7 @@ Skills in Antigravity are lazy-loaded runbooks. Only their YAML frontmatter (`na
|
|
|
178
197
|
- **[`git-craftsman`](skills/git-craftsman/SKILL.md)**: Enforces conventional commits, atomic diffs, and clean PR descriptions.
|
|
179
198
|
- **[`security-audit`](skills/security-audit/SKILL.md)**: Scans for credentials in commit history and audits dependency risks.
|
|
180
199
|
- **[`performance-profiler`](skills/performance-profiler/SKILL.md)**: Identifies CPU/memory bottlenecks, analyzes database queries, and critical paths.
|
|
181
|
-
- **[`
|
|
182
|
-
- **[`git-craftsman`](skills/git-craftsman/SKILL.md)**: Enforces conventional commits, crafts atomic diffs, and writes PR summaries linked with file references.
|
|
183
|
-
- **[`security-audit`](skills/security-audit/SKILL.md)**: Scans for credentials in commit history, tests for injection vulnerabilities, and verifies dependencies.
|
|
184
|
-
- **[`performance-profiler`](skills/performance-profiler/SKILL.md)**: Identifies CPU/memory bottlenecks, analyzes database queries, and optimizes critical paths.
|
|
185
|
-
- **[`fullstack-nextjs`](skills/fullstack-nextjs/SKILL.md)**: Best practices for React Server Components, hydration fixes, and API routes.
|
|
200
|
+
- **[`continuous-learning`](skills/continuous-learning/SKILL.md)**: Codifies corrections and developer feedback into enduring Knowledge Items.
|
|
186
201
|
|
|
187
202
|
### 2. Lifecycle Hooks (`hooks/`)
|
|
188
203
|
Hooks run shell scripts at critical lifecycle events with typed JSON contracts on `stdin`/`stdout`:
|
|
@@ -203,7 +218,7 @@ Antigravity automatically discovers rules by walking up from the current file's
|
|
|
203
218
|
|
|
204
219
|
## 🖥️ The 4 Antigravity Surfaces
|
|
205
220
|
|
|
206
|
-
Antigravity operates across four interconnected surfaces. `
|
|
221
|
+
Antigravity operates across four interconnected surfaces. `everything-gemini` supports all of them seamlessly:
|
|
207
222
|
|
|
208
223
|
```
|
|
209
224
|
+-----------------------------------------------------------------------------------+
|
|
@@ -232,9 +247,9 @@ Antigravity operates across four interconnected surfaces. `eagy` supports all of
|
|
|
232
247
|
|
|
233
248
|
Antigravity provides built-in slash commands in chat that activate specialized cognitive modes:
|
|
234
249
|
|
|
235
|
-
| Command | Purpose | How
|
|
250
|
+
| Command | Purpose | How Everything Gemini Enhances It |
|
|
236
251
|
| :--- | :--- | :--- |
|
|
237
|
-
| **`/goal <task>`** | Long-running autonomous mode | Pairs with
|
|
252
|
+
| **`/goal <task>`** | Long-running autonomous mode | Pairs with Everything Gemini's **Goal Verifier Hook** to prevent premature termination until test suites pass. |
|
|
238
253
|
| **`/plan <task>`** | Step-by-step implementation blueprint | Enforces architectural review, risk assessment, and mermaid diagrams before code edits. |
|
|
239
254
|
| **`/grill-me`** | Interactive design interview | Asks hard architectural and trade-off questions to resolve ambiguities before implementing. |
|
|
240
255
|
| **`/learn`** | Persist feedback across sessions | Automatically indexes insights into a permanent Knowledge Item (`<appDataDir>/knowledge`). |
|
|
@@ -244,13 +259,13 @@ Antigravity provides built-in slash commands in chat that activate specialized c
|
|
|
244
259
|
|
|
245
260
|
## 📊 Token Efficiency & Benchmark
|
|
246
261
|
|
|
247
|
-
Traditional agent harnesses dump dozens of prompt files into the system prompt on every single turn. Antigravity's **Progressive Disclosure** paired with
|
|
262
|
+
Traditional agent harnesses dump dozens of prompt files into the system prompt on every single turn. Antigravity's **Progressive Disclosure** paired with Everything Gemini avoids this:
|
|
248
263
|
|
|
249
264
|
```
|
|
250
265
|
[Traditional Setup]
|
|
251
266
|
System Prompt: Base Instructions + All 25 Skills (Full Text) + All Rules = ~45,000 Tokens / turn
|
|
252
267
|
|
|
253
|
-
[
|
|
268
|
+
[Everything Gemini on Antigravity]
|
|
254
269
|
System Prompt: Base Instructions + 25 Skill Summaries (YAML) + Directory Rules = ~3,200 Tokens / turn
|
|
255
270
|
Skill Body: Loaded on-demand ONLY when invoked = ~1,500 Tokens (one-time)
|
|
256
271
|
Savings: > 85% Token Reduction & 3x Faster First-Token Latency!
|
|
@@ -260,7 +275,7 @@ Savings: > 85% Token Reduction & 3x Faster First-Token Latency!
|
|
|
260
275
|
|
|
261
276
|
## 🛠️ Usage & CLI Reference
|
|
262
277
|
|
|
263
|
-
The zero-dependency `
|
|
278
|
+
The zero-dependency `everything-gemini` CLI manages your configurations effortlessly:
|
|
264
279
|
|
|
265
280
|
```bash
|
|
266
281
|
# Verify your installation and check for conflicts
|
|
@@ -275,13 +290,28 @@ The zero-dependency `eagy` CLI manages your configurations effortlessly:
|
|
|
275
290
|
# List all available skills, rules, hooks, and plugins
|
|
276
291
|
./bin/everything-gemini list
|
|
277
292
|
|
|
293
|
+
# Initialize everything-gemini in current workspace
|
|
294
|
+
./bin/everything-gemini init
|
|
295
|
+
|
|
278
296
|
# Add a specific skill to your active workspace
|
|
279
297
|
./bin/everything-gemini add skill tdd-workflow
|
|
280
298
|
|
|
299
|
+
# Remove a skill from your active workspace
|
|
300
|
+
./bin/everything-gemini remove skill tdd-workflow
|
|
301
|
+
|
|
281
302
|
# Add a specific plugin
|
|
282
303
|
./bin/everything-gemini add plugin web-fullstack
|
|
283
304
|
|
|
284
|
-
#
|
|
305
|
+
# Test and validate a specific skill's frontmatter and scripts
|
|
306
|
+
./bin/everything-gemini test-skill gemini-multimodal
|
|
307
|
+
|
|
308
|
+
# Scaffold a new progressive-disclosure skill
|
|
309
|
+
./bin/everything-gemini new-skill my-custom-skill
|
|
310
|
+
|
|
311
|
+
# Scaffold a new scoped subagent
|
|
312
|
+
./bin/everything-gemini new-agent my-worker-agent
|
|
313
|
+
|
|
314
|
+
# Validate all schemas, hooks, and frontmatter
|
|
285
315
|
./bin/everything-gemini validate
|
|
286
316
|
```
|
|
287
317
|
|
|
Binary file
|
package/bin/everything-gemini
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Everything
|
|
5
|
-
* Zero-dependency harness manager for Google Antigravity
|
|
4
|
+
* Everything Gemini (everything-gemini) CLI
|
|
5
|
+
* Zero-dependency harness manager for Google Antigravity & Gemini
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
const fs = require('fs');
|
|
@@ -15,6 +15,11 @@ const GLOBAL_CONFIG_DIR = path.join(os.homedir(), '.gemini', 'config');
|
|
|
15
15
|
const WORKSPACE_DIR = process.cwd();
|
|
16
16
|
const AGENTS_DIR = path.join(WORKSPACE_DIR, '.agents');
|
|
17
17
|
|
|
18
|
+
let VERSION = '1.0.1';
|
|
19
|
+
try {
|
|
20
|
+
VERSION = require(path.join(REPO_ROOT, 'package.json')).version || '1.0.1';
|
|
21
|
+
} catch (_) {}
|
|
22
|
+
|
|
18
23
|
// ANSI Colors
|
|
19
24
|
const RESET = '\x1b[0m';
|
|
20
25
|
const BOLD = '\x1b[1m';
|
|
@@ -27,7 +32,7 @@ const GRAY = '\x1b[90m';
|
|
|
27
32
|
|
|
28
33
|
function printBanner() {
|
|
29
34
|
console.log(`
|
|
30
|
-
${CYAN}${BOLD}🪐 Everything Gemini (${GREEN}everything-gemini${CYAN})
|
|
35
|
+
${CYAN}${BOLD}🪐 Everything Gemini (${GREEN}everything-gemini${CYAN}) v${VERSION}${RESET}
|
|
31
36
|
${GRAY}The open-source agent harness & multi-agent orchestrator for Google Gemini & Antigravity${RESET}
|
|
32
37
|
`);
|
|
33
38
|
}
|
|
@@ -38,11 +43,14 @@ function printHelp() {
|
|
|
38
43
|
console.log(` everything-gemini <command> [options]\n`);
|
|
39
44
|
console.log(`${BOLD}COMMANDS:${RESET}`);
|
|
40
45
|
console.log(` ${GREEN}doctor${RESET} Inspect system, AGY surfaces, and configuration health`);
|
|
41
|
-
console.log(` ${GREEN}install${RESET} [options] Install
|
|
46
|
+
console.log(` ${GREEN}install${RESET} [options] Install everything-gemini profiles into workspace or globally`);
|
|
47
|
+
console.log(` ${GREEN}init${RESET} [options] Initialize everything-gemini in current workspace`);
|
|
42
48
|
console.log(` ${GREEN}list${RESET} Show all available skills, rules, hooks, and plugins`);
|
|
43
49
|
console.log(` ${GREEN}new-skill${RESET} <name> Scaffold a new progressive-disclosure skill`);
|
|
44
50
|
console.log(` ${GREEN}new-agent${RESET} <name> Scaffold a new scoped subagent specification`);
|
|
45
|
-
console.log(` ${GREEN}add${RESET} <type> <name> Add a specific skill,
|
|
51
|
+
console.log(` ${GREEN}add${RESET} <type> <name> Add a specific skill, agent, or plugin to workspace`);
|
|
52
|
+
console.log(` ${GREEN}remove${RESET} <type> <name> Remove a specific skill, agent, or plugin from workspace`);
|
|
53
|
+
console.log(` ${GREEN}test-skill${RESET} <name> Validate a specific skill frontmatter & scripts`);
|
|
46
54
|
console.log(` ${GREEN}validate${RESET} Run self-test on frontmatter, JSON schemas & hooks`);
|
|
47
55
|
console.log(` ${GREEN}help${RESET} Show this help message\n`);
|
|
48
56
|
console.log(`${BOLD}OPTIONS for 'install':${RESET}`);
|
|
@@ -141,7 +149,33 @@ function listComponents() {
|
|
|
141
149
|
const match = content.match(/description:\s*>?-?\s*([^\n\r]+)/);
|
|
142
150
|
if (match) desc = match[1].trim();
|
|
143
151
|
}
|
|
144
|
-
console.log(` ${BOLD}${skill.padEnd(
|
|
152
|
+
console.log(` ${BOLD}${skill.padEnd(28)}${RESET} ${GRAY}${desc}${RESET}`);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// Also scan plugin skills
|
|
157
|
+
const pluginsDirForSkills = path.join(REPO_ROOT, 'plugins');
|
|
158
|
+
if (fs.existsSync(pluginsDirForSkills)) {
|
|
159
|
+
const plugins = fs.readdirSync(pluginsDirForSkills, { withFileTypes: true })
|
|
160
|
+
.filter(d => d.isDirectory())
|
|
161
|
+
.map(d => d.name);
|
|
162
|
+
for (const plugin of plugins) {
|
|
163
|
+
const pSkillsDir = path.join(pluginsDirForSkills, plugin, 'skills');
|
|
164
|
+
if (fs.existsSync(pSkillsDir)) {
|
|
165
|
+
const pSkills = fs.readdirSync(pSkillsDir, { withFileTypes: true })
|
|
166
|
+
.filter(d => d.isDirectory())
|
|
167
|
+
.map(d => d.name);
|
|
168
|
+
for (const skill of pSkills) {
|
|
169
|
+
const skillMd = path.join(pSkillsDir, skill, 'SKILL.md');
|
|
170
|
+
let desc = 'No description';
|
|
171
|
+
if (fs.existsSync(skillMd)) {
|
|
172
|
+
const content = fs.readFileSync(skillMd, 'utf8');
|
|
173
|
+
const match = content.match(/description:\s*>?-?\s*([^\n\r]+)/);
|
|
174
|
+
if (match) desc = match[1].trim();
|
|
175
|
+
}
|
|
176
|
+
console.log(` ${BOLD}${skill.padEnd(28)}${RESET} ${CYAN}[${plugin}]${RESET} ${GRAY}${desc}${RESET}`);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
145
179
|
}
|
|
146
180
|
}
|
|
147
181
|
|
|
@@ -217,7 +251,7 @@ function installProfile(profile = 'developer', isGlobal = false, customTarget =
|
|
|
217
251
|
? path.resolve(customTarget)
|
|
218
252
|
: (isGlobal ? GLOBAL_CONFIG_DIR : AGENTS_DIR);
|
|
219
253
|
|
|
220
|
-
console.log(`${BOLD}🚀 Installing
|
|
254
|
+
console.log(`${BOLD}🚀 Installing everything-gemini Profile: [${GREEN}${profile}${RESET}${BOLD}]${RESET}`);
|
|
221
255
|
console.log(`Target Directory: ${CYAN}${targetDir}${RESET}\n`);
|
|
222
256
|
|
|
223
257
|
if (!fs.existsSync(targetDir)) {
|
|
@@ -472,6 +506,153 @@ Return structured report to parent agent:
|
|
|
472
506
|
console.log(` 📄 ${targetFile}\n`);
|
|
473
507
|
}
|
|
474
508
|
|
|
509
|
+
function addComponent(type, name) {
|
|
510
|
+
if (!type || !name) {
|
|
511
|
+
console.error(`${RED}Usage: everything-gemini add <skill|agent|plugin> <name>${RESET}`);
|
|
512
|
+
process.exit(1);
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
const cleanName = name.trim().toLowerCase();
|
|
516
|
+
const targetWorkspace = path.join(WORKSPACE_DIR, '.agents');
|
|
517
|
+
if (!fs.existsSync(targetWorkspace)) {
|
|
518
|
+
fs.mkdirSync(targetWorkspace, { recursive: true });
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
if (type === 'skill') {
|
|
522
|
+
const src = path.join(REPO_ROOT, 'skills', cleanName);
|
|
523
|
+
if (!fs.existsSync(src)) {
|
|
524
|
+
console.error(`${RED}Skill '${cleanName}' not found in catalog.${RESET}`);
|
|
525
|
+
process.exit(1);
|
|
526
|
+
}
|
|
527
|
+
const dest = path.join(targetWorkspace, 'skills', cleanName);
|
|
528
|
+
copyRecursiveSync(src, dest);
|
|
529
|
+
console.log(`${GREEN}✔ Added skill '${cleanName}' to ${dest}${RESET}`);
|
|
530
|
+
} else if (type === 'agent') {
|
|
531
|
+
const src = path.join(REPO_ROOT, 'agents', `${cleanName}.md`);
|
|
532
|
+
if (!fs.existsSync(src)) {
|
|
533
|
+
console.error(`${RED}Agent '${cleanName}' not found in catalog.${RESET}`);
|
|
534
|
+
process.exit(1);
|
|
535
|
+
}
|
|
536
|
+
const destDir = path.join(targetWorkspace, 'agents');
|
|
537
|
+
fs.mkdirSync(destDir, { recursive: true });
|
|
538
|
+
fs.copyFileSync(src, path.join(destDir, `${cleanName}.md`));
|
|
539
|
+
console.log(`${GREEN}✔ Added agent '${cleanName}' to ${destDir}${RESET}`);
|
|
540
|
+
} else if (type === 'plugin') {
|
|
541
|
+
const src = path.join(REPO_ROOT, 'plugins', cleanName);
|
|
542
|
+
if (!fs.existsSync(src)) {
|
|
543
|
+
console.error(`${RED}Plugin '${cleanName}' not found in catalog.${RESET}`);
|
|
544
|
+
process.exit(1);
|
|
545
|
+
}
|
|
546
|
+
const dest = path.join(targetWorkspace, 'plugins', cleanName);
|
|
547
|
+
copyRecursiveSync(src, dest);
|
|
548
|
+
console.log(`${GREEN}✔ Added plugin '${cleanName}' to ${dest}${RESET}`);
|
|
549
|
+
} else {
|
|
550
|
+
console.error(`${RED}Unknown type '${type}'. Use: skill, agent, or plugin.${RESET}`);
|
|
551
|
+
process.exit(1);
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
function removeComponent(type, name) {
|
|
556
|
+
if (!type || !name) {
|
|
557
|
+
console.error(`${RED}Usage: everything-gemini remove <skill|agent|plugin> <name>${RESET}`);
|
|
558
|
+
process.exit(1);
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
const cleanName = name.trim().toLowerCase();
|
|
562
|
+
const targetWorkspace = path.join(WORKSPACE_DIR, '.agents');
|
|
563
|
+
|
|
564
|
+
if (type === 'skill') {
|
|
565
|
+
const dest = path.join(targetWorkspace, 'skills', cleanName);
|
|
566
|
+
if (!fs.existsSync(dest)) {
|
|
567
|
+
console.log(`${YELLOW}Skill '${cleanName}' is not installed in ${dest}${RESET}`);
|
|
568
|
+
return;
|
|
569
|
+
}
|
|
570
|
+
fs.rmSync(dest, { recursive: true, force: true });
|
|
571
|
+
console.log(`${GREEN}✔ Removed skill '${cleanName}' from workspace.${RESET}`);
|
|
572
|
+
} else if (type === 'agent') {
|
|
573
|
+
const dest = path.join(targetWorkspace, 'agents', `${cleanName}.md`);
|
|
574
|
+
if (!fs.existsSync(dest)) {
|
|
575
|
+
console.log(`${YELLOW}Agent '${cleanName}' is not installed in ${dest}${RESET}`);
|
|
576
|
+
return;
|
|
577
|
+
}
|
|
578
|
+
fs.unlinkSync(dest);
|
|
579
|
+
console.log(`${GREEN}✔ Removed agent '${cleanName}' from workspace.${RESET}`);
|
|
580
|
+
} else if (type === 'plugin') {
|
|
581
|
+
const dest = path.join(targetWorkspace, 'plugins', cleanName);
|
|
582
|
+
if (!fs.existsSync(dest)) {
|
|
583
|
+
console.log(`${YELLOW}Plugin '${cleanName}' is not installed in ${dest}${RESET}`);
|
|
584
|
+
return;
|
|
585
|
+
}
|
|
586
|
+
fs.rmSync(dest, { recursive: true, force: true });
|
|
587
|
+
console.log(`${GREEN}✔ Removed plugin '${cleanName}' from workspace.${RESET}`);
|
|
588
|
+
} else {
|
|
589
|
+
console.error(`${RED}Unknown type '${type}'. Use: skill, agent, or plugin.${RESET}`);
|
|
590
|
+
process.exit(1);
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
function testSkill(name) {
|
|
595
|
+
if (!name) {
|
|
596
|
+
console.error(`${RED}Usage: everything-gemini test-skill <skill-name>${RESET}`);
|
|
597
|
+
process.exit(1);
|
|
598
|
+
}
|
|
599
|
+
const cleanName = name.trim().toLowerCase();
|
|
600
|
+
const skillDir = path.join(REPO_ROOT, 'skills', cleanName);
|
|
601
|
+
const skillMd = path.join(skillDir, 'SKILL.md');
|
|
602
|
+
|
|
603
|
+
if (!fs.existsSync(skillMd)) {
|
|
604
|
+
console.error(`${RED}✖ SKILL.md not found for skill '${cleanName}' at ${skillDir}${RESET}`);
|
|
605
|
+
process.exit(1);
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
const content = fs.readFileSync(skillMd, 'utf8');
|
|
609
|
+
console.log(`${BOLD}🔍 Validating skill: [${CYAN}${cleanName}${RESET}${BOLD}]...${RESET}`);
|
|
610
|
+
|
|
611
|
+
if (!content.startsWith('---')) {
|
|
612
|
+
console.error(` ${RED}✖ Missing YAML frontmatter start (---)${RESET}`);
|
|
613
|
+
process.exit(1);
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
const parts = content.split('---');
|
|
617
|
+
if (parts.length < 3) {
|
|
618
|
+
console.error(` ${RED}✖ Malformed YAML frontmatter boundary${RESET}`);
|
|
619
|
+
process.exit(1);
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
const frontmatter = parts[1];
|
|
623
|
+
const nameMatch = frontmatter.match(/name:\s*([^\n\r]+)/);
|
|
624
|
+
const descMatch = frontmatter.match(/description:\s*>?-?\s*([^\n\r]+)/);
|
|
625
|
+
|
|
626
|
+
if (!nameMatch) {
|
|
627
|
+
console.error(` ${RED}✖ Missing 'name' field in frontmatter${RESET}`);
|
|
628
|
+
process.exit(1);
|
|
629
|
+
}
|
|
630
|
+
console.log(` ${GREEN}✔${RESET} Name field: ${BOLD}${nameMatch[1].trim()}${RESET}`);
|
|
631
|
+
|
|
632
|
+
if (!descMatch) {
|
|
633
|
+
console.error(` ${RED}✖ Missing 'description' field in frontmatter${RESET}`);
|
|
634
|
+
process.exit(1);
|
|
635
|
+
}
|
|
636
|
+
console.log(` ${GREEN}✔${RESET} Description trigger: ${GRAY}${descMatch[1].trim()}${RESET}`);
|
|
637
|
+
|
|
638
|
+
const scriptsDir = path.join(skillDir, 'scripts');
|
|
639
|
+
if (fs.existsSync(scriptsDir)) {
|
|
640
|
+
const scripts = fs.readdirSync(scriptsDir).filter(f => f.endsWith('.sh'));
|
|
641
|
+
for (const s of scripts) {
|
|
642
|
+
const fullPath = path.join(scriptsDir, s);
|
|
643
|
+
const stat = fs.statSync(fullPath);
|
|
644
|
+
const isExec = (stat.mode & 0o111) !== 0;
|
|
645
|
+
if (!isExec) {
|
|
646
|
+
console.error(` ${RED}✖ Script ${s} is not executable. Run chmod +x${RESET}`);
|
|
647
|
+
process.exit(1);
|
|
648
|
+
}
|
|
649
|
+
console.log(` ${GREEN}✔${RESET} Script executable: ${s}`);
|
|
650
|
+
}
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
console.log(`\n${GREEN}${BOLD}✨ Skill '${cleanName}' passed all validation checks!${RESET}\n`);
|
|
654
|
+
}
|
|
655
|
+
|
|
475
656
|
// CLI Argument Parsing
|
|
476
657
|
const args = process.argv.slice(2);
|
|
477
658
|
const command = args[0] || 'help';
|
|
@@ -489,6 +670,16 @@ switch (command) {
|
|
|
489
670
|
case 'new-agent':
|
|
490
671
|
scaffoldAgent(args[1]);
|
|
491
672
|
break;
|
|
673
|
+
case 'add':
|
|
674
|
+
addComponent(args[1], args[2]);
|
|
675
|
+
break;
|
|
676
|
+
case 'remove':
|
|
677
|
+
removeComponent(args[1], args[2]);
|
|
678
|
+
break;
|
|
679
|
+
case 'test-skill':
|
|
680
|
+
testSkill(args[1]);
|
|
681
|
+
break;
|
|
682
|
+
case 'init':
|
|
492
683
|
case 'install': {
|
|
493
684
|
let profile = 'developer';
|
|
494
685
|
let isGlobal = false;
|