everything-gemini 1.0.1 → 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 +7 -0
- package/CHANGELOG.md +36 -0
- package/README.md +33 -9
- package/assets/banner.jpg +0 -0
- package/bin/everything-gemini +194 -3
- package/docs/LAUNCH_KIT.md +156 -0
- package/docs/index.html +555 -0
- package/examples/python-sdk/README.md +36 -0
- package/examples/python-sdk/orchestrate_subagents.py +59 -0
- package/package.json +2 -1
- package/skills/ai-first-engineering/SKILL.md +68 -0
- package/skills/gemini-function-calling/SKILL.md +90 -0
- package/skills/github-ops/SKILL.md +102 -0
- package/skills/rag-architect/SKILL.md +60 -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
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,42 @@ All notable changes to **Everything Gemini (`everything-gemini`)** will be docum
|
|
|
4
4
|
|
|
5
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
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
|
+
|
|
7
43
|
---
|
|
8
44
|
|
|
9
45
|
## [1.0.1] - 2026-10-15
|
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
|
|
|
@@ -141,7 +145,7 @@ everything-gemini/
|
|
|
141
145
|
├── agents/ # Scoped subagent fleet (Planner, Reviewer, Architect, etc.)
|
|
142
146
|
├── scripts/ # Automated installers and harness validators
|
|
143
147
|
├── plugins/ # Reusable modular plugins (web-fullstack, python-ai, security)
|
|
144
|
-
├── skills/ #
|
|
148
|
+
├── skills/ # 27 Progressive disclosure skills (25 core + 2 plugins)
|
|
145
149
|
├── rules/ # Contextual guidelines & standards
|
|
146
150
|
├── hooks/ # Event-driven lifecycle hooks (GeminiShield, Auto-lint)
|
|
147
151
|
├── mcp/ # Production-ready MCP server blueprints
|
|
@@ -171,9 +175,19 @@ Skills in Antigravity are lazy-loaded runbooks. Only their YAML frontmatter (`na
|
|
|
171
175
|
|
|
172
176
|
- **[`gemini-multimodal`](skills/gemini-multimodal/SKILL.md)**: Native visual reasoning over mockups, diagrams, and automated WebP browser recordings.
|
|
173
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.
|
|
174
183
|
- **[`subagent-handoff`](skills/subagent-handoff/SKILL.md)**: Multi-agent task delegation protocol, scoped contexts, and report synthesis.
|
|
175
184
|
- **[`api-craftsman`](skills/api-craftsman/SKILL.md)**: REST, OpenAPI 3.1 specifications, gRPC protos, and RFC 7807 error envelopes.
|
|
176
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.
|
|
177
191
|
- **[`devops-pipeline`](skills/devops-pipeline/SKILL.md)**: Multi-stage Dockerfiles and caching GitHub Actions CI/CD workflows.
|
|
178
192
|
- **[`root-cause-debugger`](skills/root-cause-debugger/SKILL.md)**: Regression diagnosis using binary search (`git bisect`) and minimal reproduction harnesses.
|
|
179
193
|
- **[`tdd-workflow`](skills/tdd-workflow/SKILL.md)**: Red-Green-Refactor loop with automated test runners.
|
|
@@ -183,11 +197,6 @@ Skills in Antigravity are lazy-loaded runbooks. Only their YAML frontmatter (`na
|
|
|
183
197
|
- **[`git-craftsman`](skills/git-craftsman/SKILL.md)**: Enforces conventional commits, atomic diffs, and clean PR descriptions.
|
|
184
198
|
- **[`security-audit`](skills/security-audit/SKILL.md)**: Scans for credentials in commit history and audits dependency risks.
|
|
185
199
|
- **[`performance-profiler`](skills/performance-profiler/SKILL.md)**: Identifies CPU/memory bottlenecks, analyzes database queries, and critical paths.
|
|
186
|
-
- **[`gemini-grounding`](skills/gemini-grounding/SKILL.md)**: Real-time Google Search grounding, live documentation retrieval, and fact-checking.
|
|
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.
|
|
191
200
|
- **[`continuous-learning`](skills/continuous-learning/SKILL.md)**: Codifies corrections and developer feedback into enduring Knowledge Items.
|
|
192
201
|
|
|
193
202
|
### 2. Lifecycle Hooks (`hooks/`)
|
|
@@ -281,13 +290,28 @@ The zero-dependency `everything-gemini` CLI manages your configurations effortle
|
|
|
281
290
|
# List all available skills, rules, hooks, and plugins
|
|
282
291
|
./bin/everything-gemini list
|
|
283
292
|
|
|
293
|
+
# Initialize everything-gemini in current workspace
|
|
294
|
+
./bin/everything-gemini init
|
|
295
|
+
|
|
284
296
|
# Add a specific skill to your active workspace
|
|
285
297
|
./bin/everything-gemini add skill tdd-workflow
|
|
286
298
|
|
|
299
|
+
# Remove a skill from your active workspace
|
|
300
|
+
./bin/everything-gemini remove skill tdd-workflow
|
|
301
|
+
|
|
287
302
|
# Add a specific plugin
|
|
288
303
|
./bin/everything-gemini add plugin web-fullstack
|
|
289
304
|
|
|
290
|
-
#
|
|
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
|
|
291
315
|
./bin/everything-gemini validate
|
|
292
316
|
```
|
|
293
317
|
|
|
Binary file
|
package/bin/everything-gemini
CHANGED
|
@@ -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
|
}
|
|
@@ -39,10 +44,13 @@ function printHelp() {
|
|
|
39
44
|
console.log(`${BOLD}COMMANDS:${RESET}`);
|
|
40
45
|
console.log(` ${GREEN}doctor${RESET} Inspect system, AGY surfaces, and configuration health`);
|
|
41
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
|
|
|
@@ -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;
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# 🚀 Everything Gemini Launch & Marketing Kit
|
|
2
|
+
|
|
3
|
+
This launch kit contains ready-to-post announcements, social copy, and submission templates for **Everything Gemini (`everything-gemini`)**.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 🐦 1. X (Twitter) Launch
|
|
8
|
+
|
|
9
|
+
### Option A: The High-Impact Single Tweet (251 chars)
|
|
10
|
+
```text
|
|
11
|
+
🪐 Everything Gemini v1.1.0 is live!
|
|
12
|
+
|
|
13
|
+
The open-source multi-agent harness for Google Antigravity & Gemini 3.8.
|
|
14
|
+
|
|
15
|
+
⚡ 27 lazy-loaded skills (Multimodal, RAG, 2M context caching)
|
|
16
|
+
🤖 6 scoped subagents
|
|
17
|
+
🛡️ GeminiShield safety gates
|
|
18
|
+
|
|
19
|
+
⭐ https://github.com/salmandev/everything-gemini
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Option B: The 4-Part Viral Thread
|
|
23
|
+
|
|
24
|
+
**Tweet 1 (Hook)**:
|
|
25
|
+
```text
|
|
26
|
+
Ever notice how AI coding agents suffer from context bloat and catastrophic edits without structured workflows?
|
|
27
|
+
|
|
28
|
+
Claude Code has ECC. Now, Google Antigravity & Gemini have Everything Gemini.
|
|
29
|
+
|
|
30
|
+
Introducing Everything Gemini 🪐 — the open-source agent harness & multi-agent orchestrator. 🧵👇
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Tweet 2 (Core Innovations)**:
|
|
34
|
+
```text
|
|
35
|
+
Unlike traditional prompt dumps, Everything Gemini uses strict Progressive Disclosure:
|
|
36
|
+
- 🧠 27 lazy-loaded skills load runbooks on demand (saving up to 85% token overhead).
|
|
37
|
+
- ⚡ Exploits Gemini's 2M token context with static prefix caching.
|
|
38
|
+
- 👁️ Multimodal visual QA with automated WebP recordings.
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**Tweet 3 (Fleet & Safety)**:
|
|
42
|
+
```text
|
|
43
|
+
It comes with a dedicated 6-subagent fleet and deterministic lifecycle safety:
|
|
44
|
+
- 🤖 Planner, Code Reviewer, Build Repair, Browser QA, Security Auditor & Architect.
|
|
45
|
+
- 🛡️ GeminiShield PreToolUse gates that intercept `rm -rf`, `DROP TABLE`, or force pushes before they execute.
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**Tweet 4 (Call to Action)**:
|
|
49
|
+
```text
|
|
50
|
+
Zero setup. Install anywhere in 1 second:
|
|
51
|
+
$ npx everything-gemini install
|
|
52
|
+
|
|
53
|
+
🌐 Interactive Showcase: https://salmandev.github.io/everything-gemini/
|
|
54
|
+
💻 GitHub (Apache 2.0): https://github.com/salmandev/everything-gemini
|
|
55
|
+
📦 NPM: https://www.npmjs.com/package/everything-gemini
|
|
56
|
+
|
|
57
|
+
Give it a ⭐ and let me know what skills to add next!
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 🔴 2. Reddit Post (`r/GoogleGeminiAI`, `r/LocalLLaMA`, `r/MachineLearning`)
|
|
63
|
+
|
|
64
|
+
**Title**:
|
|
65
|
+
```text
|
|
66
|
+
Everything Gemini: Open-source multi-agent harness, 27 progressive skills & subagent fleet for Google Antigravity
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**Body**:
|
|
70
|
+
```markdown
|
|
71
|
+
Hey everyone!
|
|
72
|
+
|
|
73
|
+
With Google Antigravity rolling out across Desktop 2.0, IDE, and CLI surfaces, I built **Everything Gemini (`everything-gemini`)** — an open-source agent harness and multi-agent orchestrator inspired by the architectural concepts of Everything Claude Code (ECC), but re-engineered from the ground up for Gemini 3.8 and Google Antigravity.
|
|
74
|
+
|
|
75
|
+
### 🌟 Key Highlights
|
|
76
|
+
|
|
77
|
+
1. **27 Lazy-Loaded Progressive Disclosure Skills**:
|
|
78
|
+
- **Frontier**: Native multimodal UI testing, 2M token prefix context caching, real-time Google Search grounding, RAG with re-ranking (`rag-architect`), and typed function calling schemas.
|
|
79
|
+
- **Cloud & Backend**: Supabase RLS policies, Cloudflare Workers & D1 SQL, Kubernetes manifests with HPA, Stripe webhook verification, and Next.js App Router.
|
|
80
|
+
- **Engineering**: Test-Driven Development (Red-Green-Refactor), automated git bisect debugging, GitHub Ops, and performance profiling.
|
|
81
|
+
|
|
82
|
+
2. **6 Scoped Subagents (`agents/`)**:
|
|
83
|
+
- Specialized specifications for **Planner**, **Code Reviewer**, **Build Repair**, **Browser QA**, **Security Auditor**, and **Architect** with formal task delegation and boundary protocols.
|
|
84
|
+
|
|
85
|
+
3. **Deterministic Safety Gates (GeminiShield)**:
|
|
86
|
+
- Lifecycle hooks that intercept destructive shell commands (`rm -rf`, raw DROP TABLE, git force pushes) before execution.
|
|
87
|
+
|
|
88
|
+
4. **Zero-Dependency CLI & npm Distribution**:
|
|
89
|
+
- Instant installation: `npx everything-gemini install`
|
|
90
|
+
- Scaffolding commands: `everything-gemini new-skill` and `everything-gemini new-agent`
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
* 🌐 **Live Interactive Catalog**: [https://salmandev.github.io/everything-gemini/](https://salmandev.github.io/everything-gemini/)
|
|
95
|
+
* 💻 **GitHub (Apache 2.0)**: [https://github.com/salmandev/everything-gemini](https://github.com/salmandev/everything-gemini)
|
|
96
|
+
* 📦 **NPM Registry**: [https://www.npmjs.com/package/everything-gemini](https://www.npmjs.com/package/everything-gemini)
|
|
97
|
+
|
|
98
|
+
Feedback, issues, and contributions for new skills are very welcome!
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## 🟧 3. Hacker News (Show HN)
|
|
104
|
+
|
|
105
|
+
**Title**:
|
|
106
|
+
```text
|
|
107
|
+
Show HN: Everything Gemini – Multi-agent harness & skills for Google Antigravity
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**URL**:
|
|
111
|
+
```text
|
|
112
|
+
https://salmandev.github.io/everything-gemini/
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**First Comment (OP Context)**:
|
|
116
|
+
```text
|
|
117
|
+
Hi HN!
|
|
118
|
+
|
|
119
|
+
As coding agents move beyond simple single-turn prompts into multi-step autonomous execution, they face two key bottlenecks: context window bloat (dumping endless system prompts) and lack of deterministic safety guardrails.
|
|
120
|
+
|
|
121
|
+
Inspired by Affan Mustafa's Everything Claude Code (ECC), I built Everything Gemini (everything-gemini) specifically optimized for Google Antigravity and Gemini's architecture:
|
|
122
|
+
|
|
123
|
+
- Progressive Disclosure: The agent only sees metadata in its system prompt; complete procedural playbooks (27 skills) are lazy-loaded only when triggered by user intent.
|
|
124
|
+
- Massive Context Economics: Harnesses Gemini's 1M-2M token window with static prefix caching (~75% cost reduction).
|
|
125
|
+
- Scoped Subagent Fleet: Discrete roles for Planner, Reviewer, Browser QA, Build Repair, Security, and Architect.
|
|
126
|
+
- GeminiShield: Deterministic PreToolUse lifecycle gates intercepting catastrophic commands.
|
|
127
|
+
|
|
128
|
+
Code is Apache 2.0 on GitHub: https://github.com/salmandev/everything-gemini
|
|
129
|
+
Package is published on NPM: npx everything-gemini install
|
|
130
|
+
|
|
131
|
+
Would love to hear your thoughts and feedback!
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## 💼 4. LinkedIn Post
|
|
137
|
+
|
|
138
|
+
```text
|
|
139
|
+
🚀 Excited to launch Everything Gemini (everything-gemini) — an open-source multi-agent harness and performance suite for Google Antigravity and Gemini 3.8!
|
|
140
|
+
|
|
141
|
+
As AI coding platforms evolve, developers need structured engineering workflows, deterministic safety rails, and context-efficient architectures.
|
|
142
|
+
|
|
143
|
+
🪐 Everything Gemini delivers:
|
|
144
|
+
✅ 27 Progressive Disclosure Skills (Multimodal vision, 2M context caching, RAG with re-ranking, Supabase, Cloudflare Workers, GitHub Ops)
|
|
145
|
+
✅ 6 Scoped Subagents with formal delegation boundaries (Planner, Reviewer, QA, Repair, Security, Architect)
|
|
146
|
+
✅ GeminiShield deterministic lifecycle safety hooks
|
|
147
|
+
✅ 1-second setup: `npx everything-gemini install`
|
|
148
|
+
|
|
149
|
+
Check out our interactive showcase catalog:
|
|
150
|
+
👉 https://salmandev.github.io/everything-gemini/
|
|
151
|
+
|
|
152
|
+
GitHub repository:
|
|
153
|
+
👉 https://github.com/salmandev/everything-gemini
|
|
154
|
+
|
|
155
|
+
#AI #GoogleGemini #GoogleAntigravity #SoftwareEngineering #OpenSource #DevTools #MachineLearning
|
|
156
|
+
```
|