Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
a2597ba
refactor: migrate CI workflow jobs to use reusable workflows
Jamkris Apr 8, 2026
5d7b8a7
chore: remove rule validation step from reusable workflow
Jamkris Apr 8, 2026
01e68cd
ci: add read permissions to reusable test workflow
Jamkris Apr 8, 2026
671a20e
chore: pin pnpm and bun setup actions to specific commit hashes
Jamkris Apr 8, 2026
2edeb41
chore: pin action-gh-release to specific commit hash and remove redun…
Jamkris Apr 8, 2026
f8d81ba
chore: remove redundant npm ci step and pin stale action to specific …
Jamkris Apr 8, 2026
d2ebe62
chore: remove reusable release workflow configuration
Jamkris Apr 8, 2026
7f61955
chore: rename .claude directory references to .gemini across command …
Jamkris Apr 8, 2026
46a9fd4
chore: update file paths from ~/.claude/ to ~/.gemini/ across all ski…
Jamkris Apr 8, 2026
211a28b
feat: add descriptive summaries to command configuration files
Jamkris Apr 8, 2026
6e07967
refactor: rename CLAUDE_PLUGIN_ROOT to GEMINI_EXTENSION_ROOT across d…
Jamkris Apr 8, 2026
5a884ae
refactor: rename Claude references to Gemini and update session path …
Jamkris Apr 8, 2026
54d4372
chore: update project homepage URLs to the new repository location
Jamkris Apr 8, 2026
4c6362d
chore: update project references from Everything Claude Code to Every…
Jamkris Apr 8, 2026
a9d2656
refactor: introduce shared validation library and migrate CI scripts …
Jamkris Apr 8, 2026
174bb4e
feat: add utility module for standardized hook execution and stdin pr…
Jamkris Apr 8, 2026
b4ff96f
refactor: migrate all hook scripts to use standardized runHook and ru…
Jamkris Apr 8, 2026
c32171f
test: add comprehensive unit tests for session-manager and session-al…
Jamkris Apr 8, 2026
66b9800
test: update invalid session filename test case to use a non-matching…
Jamkris Apr 8, 2026
ffabac5
test: update test runner to include new test suites and improve outpu…
Jamkris Apr 8, 2026
90bbbb9
feat: add YAML frontmatter with name and description metadata to all …
Jamkris Apr 8, 2026
68d5ab6
refactor: rename "When to Activate" headers to "When to Use" across a…
Jamkris Apr 8, 2026
2577c97
refactor: disable command shim generation for extension installs to p…
Jamkris Apr 8, 2026
6be1e66
refactor: rename "When to Use" headers to "Ideal For" across all skil…
Jamkris Apr 8, 2026
7b7aadf
refactor: improve hook execution reliability and normalize line endin…
Jamkris Apr 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 8 additions & 70 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,107 +15,45 @@ permissions:

jobs:
test:
name: Test (${{ matrix.os }}, Node ${{ matrix.node }})
runs-on: ${{ matrix.os }}
timeout-minutes: 15

strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
node: ['20.x', '22.x']

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node.js ${{ matrix.node }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Run Tests
run: npm test
env:
GEMINI_CODE_PACKAGE_MANAGER: npm

- name: Debug Info
if: failure()
run: |
echo "Node version: $(node -v)"
echo "NPM version: $(npm -v)"
ls -R tests
uses: ./.github/workflows/reusable-test.yml
with:
os: ${{ matrix.os }}
node-version: ${{ matrix.node }}
package-manager: 'npm'

validate:
name: Validate Components
runs-on: ubuntu-latest
timeout-minutes: 5

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22.x'

- name: Debug Working Directory
run: |
pwd
ls -F
ls -F scripts/ci/

- name: Validate agents
run: node scripts/ci/validate-agents.js

- name: Validate hooks
run: node scripts/ci/validate-hooks.js

- name: Validate commands
run: node scripts/ci/validate-commands.js

- name: Validate skills
run: node scripts/ci/validate-skills.js
uses: ./.github/workflows/reusable-validate.yml
with:
node-version: '22.x'

security:
name: Security Scan
runs-on: ubuntu-latest
timeout-minutes: 5

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22.x'

- name: Run npm audit
run: npm audit --audit-level=high

lint:
name: Lint
runs-on: ubuntu-latest
timeout-minutes: 5

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22.x'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Run ESLint
run: npm run lint
3 changes: 1 addition & 2 deletions .github/workflows/maintenance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ jobs:
- name: Run security audit
run: |
if [ -f package-lock.json ]; then
npm ci
npm audit --audit-level=high
else
echo "No package-lock.json found; skipping npm audit"
Expand All @@ -43,7 +42,7 @@ jobs:
name: Stale Issues/PRs
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
- uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9
with:
stale-issue-message: 'This issue is stale due to inactivity.'
stale-pr-message: 'This PR is stale due to inactivity.'
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,10 +103,8 @@ jobs:
fs.writeFileSync('RELEASE_NOTES.md', changelog);

- name: Create GitHub Release
uses: softprops/action-gh-release@v2
uses: softprops/action-gh-release@153bb8e04406b158c6c84fc1615b65b24149a1fe # v2
with:
tag_name: ${{ github.ref_name }}
name: ${{ github.ref_name }}
body_path: RELEASE_NOTES.md
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
59 changes: 0 additions & 59 deletions .github/workflows/reusable-release.yml

This file was deleted.

7 changes: 5 additions & 2 deletions .github/workflows/reusable-test.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
name: Reusable Test Workflow

permissions:
contents: read

on:
workflow_call:
inputs:
Expand Down Expand Up @@ -36,13 +39,13 @@ jobs:

- name: Setup pnpm
if: inputs.package-manager == 'pnpm'
uses: pnpm/action-setup@v4
uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
with:
version: latest

- name: Setup Bun
if: inputs.package-manager == 'bun'
uses: oven-sh/setup-bun@v2
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2

- name: Get npm cache directory
if: inputs.package-manager == 'npm'
Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/reusable-validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,3 @@ jobs:

- name: Validate skills
run: node scripts/ci/validate-skills.js

- name: Validate rules
run: node scripts/ci/validate-rules.js
2 changes: 1 addition & 1 deletion commands/checkpoint.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
description = ""
description = "Create or verify a workflow checkpoint"
prompt = '''
# Checkpoint Command

Expand Down
2 changes: 1 addition & 1 deletion commands/claw.toml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ exit Quit
## Notes

- NanoClaw remains zero-dependency.
- Sessions are stored at `~/.claude/claw/<session>.md`.
- Sessions are stored at `~/.gemini/claw/<session>.md`.
- Compaction keeps the most recent turns and writes a compaction header.
- Export supports markdown, JSON turns, and plain text.

Expand Down
2 changes: 1 addition & 1 deletion commands/code-review.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
description = ""
description = "Run security and quality review on uncommitted changes"
prompt = '''
# Code Review

Expand Down
2 changes: 1 addition & 1 deletion commands/e2e.toml
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,7 @@ For PMX, prioritize these E2E tests:
## Related Agents

This command invokes the `e2e-runner` agent located at:
`~/.claude/agents/e2e-runner.md`
`~/.gemini/agents/e2e-runner.md`

## Quick Commands

Expand Down
2 changes: 1 addition & 1 deletion commands/eval.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
description = ""
description = "Manage eval-driven development workflow"
prompt = '''
# Eval Command

Expand Down
16 changes: 8 additions & 8 deletions commands/evolve.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ prompt = '''
Run the instinct CLI using the plugin root path:

```bash
python3 "${CLAUDE_PLUGIN_ROOT}/skills/continuous-learning-v2/scripts/instinct-cli.py" evolve [--generate]
python3 "${GEMINI_EXTENSION_ROOT}/skills/continuous-learning-v2/scripts/instinct-cli.py" evolve [--generate]
```

Or if `CLAUDE_PLUGIN_ROOT` is not set (manual installation):
Or if `GEMINI_EXTENSION_ROOT` is not set (manual installation):

```bash
python3 ~/.claude/skills/continuous-learning-v2/scripts/instinct-cli.py evolve [--generate]
python3 ~/.gemini/skills/continuous-learning-v2/scripts/instinct-cli.py evolve [--generate]
```

Analyzes instincts and clusters related ones into higher-level structures:
Expand Down Expand Up @@ -74,15 +74,15 @@ Example:

## What to Do

1. Read all instincts from `~/.claude/homunculus/instincts/`
1. Read all instincts from `~/.gemini/homunculus/instincts/`
2. Group instincts by:
- Domain similarity
- Trigger pattern overlap
- Action sequence relationship
3. For each cluster of 3+ related instincts:
- Determine evolution type (command/skill/agent)
- Generate the appropriate file
- Save to `~/.claude/homunculus/evolved/{commands,skills,agents}/`
- Save to `~/.gemini/homunculus/evolved/{commands,skills,agents}/`
4. Link evolved structure back to source instincts

## Output Format
Expand All @@ -100,7 +100,7 @@ Confidence: 85% (based on 12 observations)

Would create: /new-table command
Files:
- ~/.claude/homunculus/evolved/commands/new-table.md
- ~/.gemini/homunculus/evolved/commands/new-table.md

## Cluster 2: Functional Code Style
Instincts: prefer-functional, use-immutable, avoid-classes, pure-functions
Expand All @@ -109,7 +109,7 @@ Confidence: 78% (based on 8 observations)

Would create: functional-patterns skill
Files:
- ~/.claude/homunculus/evolved/skills/functional-patterns.md
- ~/.gemini/homunculus/evolved/skills/functional-patterns.md

## Cluster 3: Debugging Process
Instincts: debug-check-logs, debug-isolate, debug-reproduce, debug-verify
Expand All @@ -118,7 +118,7 @@ Confidence: 72% (based on 6 observations)

Would create: debugger agent
Files:
- ~/.claude/homunculus/evolved/agents/debugger.md
- ~/.gemini/homunculus/evolved/agents/debugger.md

---
Run `/evolve --execute` to create these files.
Expand Down
2 changes: 1 addition & 1 deletion commands/instinct-export.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Exports instincts to a shareable format. Perfect for:

## What to Do

1. Read instincts from `~/.claude/homunculus/instincts/personal/`
1. Read instincts from `~/.gemini/homunculus/instincts/personal/`
2. Filter based on flags
3. Strip sensitive information:
- Remove session IDs
Expand Down
10 changes: 5 additions & 5 deletions commands/instinct-import.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ prompt = '''
Run the instinct CLI using the plugin root path:

```bash
python3 "${CLAUDE_PLUGIN_ROOT}/skills/continuous-learning-v2/scripts/instinct-cli.py" import <file-or-url> [--dry-run] [--force] [--min-confidence 0.7]
python3 "${GEMINI_EXTENSION_ROOT}/skills/continuous-learning-v2/scripts/instinct-cli.py" import <file-or-url> [--dry-run] [--force] [--min-confidence 0.7]
```

Or if `CLAUDE_PLUGIN_ROOT` is not set (manual installation):
Or if `GEMINI_EXTENSION_ROOT` is not set (manual installation):

```bash
python3 ~/.claude/skills/continuous-learning-v2/scripts/instinct-cli.py import <file-or-url>
python3 ~/.gemini/skills/continuous-learning-v2/scripts/instinct-cli.py import <file-or-url>
```

Import instincts from:
Expand All @@ -36,7 +36,7 @@ Import instincts from:
2. Parse and validate the format
3. Check for duplicates with existing instincts
4. Merge or add new instincts
5. Save to `~/.claude/homunculus/instincts/inherited/`
5. Save to `~/.gemini/homunculus/instincts/inherited/`

## Import Process

Expand Down Expand Up @@ -132,7 +132,7 @@ Added: 8 instincts
Updated: 1 instinct
Skipped: 3 instincts (2 duplicates, 1 conflict)

New instincts saved to: ~/.claude/homunculus/instincts/inherited/
New instincts saved to: ~/.gemini/homunculus/instincts/inherited/

Run /instinct-status to see all instincts.
```
Expand Down
Loading
Loading