glootie-cc 2.0.4 → 2.0.8
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/.claude-plugin/marketplace.json +20 -0
- package/.mcp.json +20 -0
- package/CHANGELOG.md +43 -0
- package/CLAUDE.md +144 -0
- package/hooks/hooks.json +28 -0
- package/package.json +55 -42
- package/claude-plugin.json +0 -106
- package/cli.js +0 -16
- package/context/cleanup-guidelines.md +0 -3
- package/context/work-guidelines.md +0 -24
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "AnEntrypoint-glootie-cc",
|
|
3
|
+
"owner": {
|
|
4
|
+
"name": "AnEntrypoint"
|
|
5
|
+
},
|
|
6
|
+
"description": "Advanced Claude Code plugins by AnEntrypoint with WFGY integration and MCP tools",
|
|
7
|
+
"version": "1.0.1",
|
|
8
|
+
"metadata": {
|
|
9
|
+
"description": "Advanced Claude Code plugins featuring WFGY integration, automated workflows, and comprehensive MCP tool support for enhanced development productivity"
|
|
10
|
+
},
|
|
11
|
+
"plugins": [
|
|
12
|
+
{
|
|
13
|
+
"name": "glootie-cc",
|
|
14
|
+
"source": "./"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
package/.mcp.json
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://schemas.modelcontextprotocol.io/0.1.0/mcp.json",
|
|
3
|
+
"mcpServers": {
|
|
4
|
+
"glootie": {
|
|
5
|
+
"command": "node",
|
|
6
|
+
"args": ["${CLAUDE_PLUGIN_ROOT}/node_modules/mcp-glootie/src/index.js"],
|
|
7
|
+
"timeout": 360000
|
|
8
|
+
},
|
|
9
|
+
"playwright": {
|
|
10
|
+
"command": "node",
|
|
11
|
+
"args": ["${CLAUDE_PLUGIN_ROOT}/node_modules/@playwright/mcp/cli.js"],
|
|
12
|
+
"timeout": 360000
|
|
13
|
+
},
|
|
14
|
+
"vexify": {
|
|
15
|
+
"command": "node",
|
|
16
|
+
"args": ["${CLAUDE_PLUGIN_ROOT}/node_modules/vexify/lib/bin/cli.js", "mcp"],
|
|
17
|
+
"timeout": 360000
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# CHANGELOG
|
|
2
|
+
|
|
3
|
+
## [2.0.6] - 2025-11-14
|
|
4
|
+
|
|
5
|
+
### Performance
|
|
6
|
+
- Bundled mcp-thorns and wfgy directly into node_modules (like MCP tools)
|
|
7
|
+
- Eliminated npx overhead for hook commands (~4-5s faster)
|
|
8
|
+
- Hook uses direct node invocation instead of npx
|
|
9
|
+
- Hook completes in ~50s instead of hanging indefinitely
|
|
10
|
+
|
|
11
|
+
### Fixes
|
|
12
|
+
- Fixed AbortError by preventing hooks from timing out
|
|
13
|
+
- Changed hook commands from npx to bundled node invocation
|
|
14
|
+
- Hook gracefully skips mcp-thorns/wfgy if they timeout (3min) or error
|
|
15
|
+
- MCP server timeouts set to 180000ms (3min) for reliability
|
|
16
|
+
|
|
17
|
+
### Configuration
|
|
18
|
+
- prompt-submit-hook.js: 180000ms (3min) timeout with bundled packages
|
|
19
|
+
- hooks.json: 7200s framework timeout
|
|
20
|
+
- .mcp.json: 360000ms (6min) for glootie/playwright/vexify
|
|
21
|
+
- killSignal: 'SIGTERM' for clean process termination
|
|
22
|
+
|
|
23
|
+
### Dependencies
|
|
24
|
+
- Added mcp-thorns and wfgy as bundled dependencies
|
|
25
|
+
- Included in node_modules for zero npx overhead
|
|
26
|
+
|
|
27
|
+
## [2.0.5] - 2025-11-04
|
|
28
|
+
|
|
29
|
+
### Fixes
|
|
30
|
+
- Fixed MCP server paths to work when plugin is used in different folders
|
|
31
|
+
- Updated .mcp.json to use ${CLAUDE_PLUGIN_ROOT} environment variable instead of relative paths
|
|
32
|
+
- MCP servers now correctly resolve paths regardless of instantiation directory
|
|
33
|
+
|
|
34
|
+
### Performance
|
|
35
|
+
- Eliminated npx overhead by bundling MCP packages directly in node_modules
|
|
36
|
+
- Updated .mcp.json to invoke MCP tools via direct node invocation instead of npx
|
|
37
|
+
- All three tools (glootie, playwright, vexify) now have zero startup overhead
|
|
38
|
+
- Startup improvement: 30-60s (npx overhead) → 100-200ms (direct invocation)
|
|
39
|
+
- Improvement factor: 150-600x faster
|
|
40
|
+
|
|
41
|
+
### Dependencies
|
|
42
|
+
- Added @playwright/mcp, mcp-glootie, vexify as dependencies
|
|
43
|
+
- Included node_modules in npm distribution for zero-latency access
|
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
+
|
|
5
|
+
## Project Overview
|
|
6
|
+
|
|
7
|
+
**glootie-cc** is an advanced Claude Code plugin that integrates MCP (Model Context Protocol) tools, WFGY workflow automation, and automated hooks for enhanced development productivity. It bundles three MCP servers and provides comprehensive automation for Claude Code sessions.
|
|
8
|
+
|
|
9
|
+
**Version:** 2.0.4
|
|
10
|
+
**Repository:** https://github.com/AnEntrypoint/glootie-cc
|
|
11
|
+
**Type:** Node.js npm package
|
|
12
|
+
|
|
13
|
+
## Architecture
|
|
14
|
+
|
|
15
|
+
### Plugin Structure
|
|
16
|
+
- **prompt-submit-hook.js** - SessionStart hook that loads workflow context and WFGY integration
|
|
17
|
+
- **stop-hook.js** - Stop hook that provides session cleanup (currently minimal no-op to avoid timeouts)
|
|
18
|
+
- **hooks/hooks.json** - Hook configuration mapping
|
|
19
|
+
- **start.md** - Mandatory dev workflow rules and absolute requirements
|
|
20
|
+
- **.mcp.json** - MCP server definitions for bundled tools
|
|
21
|
+
- **package.json** - npm package metadata
|
|
22
|
+
|
|
23
|
+
### Bundled MCP Servers
|
|
24
|
+
1. **glootie** - Code execution and testing (`mcp-glootie@latest`)
|
|
25
|
+
2. **playwright** - Browser automation (`@playwright/mcp@latest`)
|
|
26
|
+
3. **vexify** - Code search and AST analysis (`vexify@latest`)
|
|
27
|
+
|
|
28
|
+
### Hook System
|
|
29
|
+
- **SessionStart**: Runs `prompt-submit-hook.js` to load start.md and initialize WFGY context
|
|
30
|
+
- **Stop**: Runs `stop-hook.js` (minimal cleanup)
|
|
31
|
+
|
|
32
|
+
## Development Commands
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npm install # Install dependencies
|
|
36
|
+
npm view glootie-cc # Check npm registry info
|
|
37
|
+
git status # Check working directory status
|
|
38
|
+
git push # Push changes to remote
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Workflow Rules (from start.md)
|
|
42
|
+
|
|
43
|
+
These are mandatory requirements enforced in all work:
|
|
44
|
+
|
|
45
|
+
### File Management
|
|
46
|
+
- Maintain permanent structure only - no temp/mock/simulation files
|
|
47
|
+
- Single primary implementation - zero failovers/fallbacks
|
|
48
|
+
- Hard 200-line limit per file - split immediately if exceeded
|
|
49
|
+
- Delete all non-essential files (keep only CHANGELOG.md, CLAUDE.md, README.md, TODO.md)
|
|
50
|
+
- No report files or comments
|
|
51
|
+
|
|
52
|
+
### Code Quality
|
|
53
|
+
- Errors must fail with clear logs, never hide through fallbacks
|
|
54
|
+
- All code must be dynamic/modular with ground truth values (no hardcoded values)
|
|
55
|
+
- DRY architecture - resolve duplicate code immediately
|
|
56
|
+
- Keep code concise and functional
|
|
57
|
+
|
|
58
|
+
### Testing & Validation
|
|
59
|
+
- Manual testing only - no test files
|
|
60
|
+
- Use glootie MCP and playwright MCP for execution and debugging
|
|
61
|
+
- Troubleshoot via execution before editing files
|
|
62
|
+
- Hypothesize and verify through live execution
|
|
63
|
+
|
|
64
|
+
### Session Management
|
|
65
|
+
- TODO.md must be completely cleared before stopping (no items remaining)
|
|
66
|
+
- CLAUDE.md tracks technical info in realtime
|
|
67
|
+
- CHANGELOG.md captures concise change summaries
|
|
68
|
+
- Logs should be kept <4KB ideal, max 30KB
|
|
69
|
+
|
|
70
|
+
## Key Technical Notes
|
|
71
|
+
|
|
72
|
+
### Timeout Configuration
|
|
73
|
+
**MCP Server Timeouts**: All three MCP servers have explicit timeout values in .mcp.json:
|
|
74
|
+
- glootie: 360000ms (6min)
|
|
75
|
+
- playwright: 360000ms (6min)
|
|
76
|
+
- vexify: 360000ms (6min)
|
|
77
|
+
|
|
78
|
+
**Hook Script Execution**: prompt-submit-hook.js uses bundled mcp-thorns and wfgy (direct node invocation, no npx). Timeout: 180000ms (3min) per command with SIGTERM killSignal. If tools timeout/error, they are gracefully skipped. Hook completes in ~50s typical, ~6min worst case.
|
|
79
|
+
|
|
80
|
+
**Project-Level Configuration**: Projects can set MCP_TIMEOUT and MCP_TOOL_TIMEOUT in .claude/settings.json env section. Example values: MCP_TIMEOUT: 360000ms, MCP_TOOL_TIMEOUT: 360000ms.
|
|
81
|
+
|
|
82
|
+
**Stop Hook**: The stop-hook was simplified to a minimal no-op after experiencing ETIMEDOUT errors. Previous iterations that attempted git checks, npm lookups, or subprocess execution caused timeouts in the Claude Code hook framework. The current implementation exits immediately to avoid blocking session stops.
|
|
83
|
+
|
|
84
|
+
### Hook Output Format
|
|
85
|
+
- SessionStart hook outputs JSON with `hookSpecificOutput` containing `hookEventName` and `additionalContext`
|
|
86
|
+
- Stop hook should output nothing (silent pass) unless blocking - outputs `{decision: "block", reason: "..."}` if blocking is needed
|
|
87
|
+
- All hooks must handle errors gracefully and avoid process crashes
|
|
88
|
+
|
|
89
|
+
### Important: Never Run eval.js Manually
|
|
90
|
+
The eval.js file runs automatically at the end of processes - never invoke it manually.
|
|
91
|
+
|
|
92
|
+
## Available Tools
|
|
93
|
+
Through the bundled MCP servers and Claude Code:
|
|
94
|
+
- **Execution**: glootie execute, bash, nodejs, deno
|
|
95
|
+
- **Browser**: playwright for DOM manipulation, navigation, snapshots
|
|
96
|
+
- **Search**: vexify for code search and AST analysis
|
|
97
|
+
- **File ops**: Read, Write, Edit, Glob, Grep
|
|
98
|
+
- **Automation**: Task tool for complex workflows
|
|
99
|
+
|
|
100
|
+
## Publishing & Deployment
|
|
101
|
+
|
|
102
|
+
The package is published to npm as `glootie-cc`:
|
|
103
|
+
```bash
|
|
104
|
+
npm publish # Publish current version to npm
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Update version in package.json before publishing. Main entry point is `.claude-plugin/plugin.json`.
|
|
108
|
+
|
|
109
|
+
## Testing Context Sessions
|
|
110
|
+
|
|
111
|
+
The plugin is tested with DocStudio E2E evaluation suite. The suite runs 14 tests covering auth, marketplace, documents, chat, and tools. Session Stop should pass silently without blocking.
|
|
112
|
+
|
|
113
|
+
## Git Workflow
|
|
114
|
+
|
|
115
|
+
Recent work has focused on fixing the stop-hook timeout issues:
|
|
116
|
+
- Removed shell mode git commands that caused ETIMEDOUT
|
|
117
|
+
- Removed npm registry lookups that could hang
|
|
118
|
+
- Simplified to minimal no-op to ensure hook completes quickly
|
|
119
|
+
|
|
120
|
+
Check git history for regression troubleshooting - always use differential comparisons and manual edits rather than reverts.
|
|
121
|
+
|
|
122
|
+
## Performance Optimization
|
|
123
|
+
|
|
124
|
+
### MCP Startup via Direct Node Invocation
|
|
125
|
+
Eliminated npx overhead by bundling MCP packages directly. All three MCP servers now invoke node directly against local binaries:
|
|
126
|
+
|
|
127
|
+
- **glootie**: `node ${CLAUDE_PLUGIN_ROOT}/node_modules/mcp-glootie/src/index.js`
|
|
128
|
+
- **playwright**: `node ${CLAUDE_PLUGIN_ROOT}/node_modules/@playwright/mcp/cli.js`
|
|
129
|
+
- **vexify**: `node ${CLAUDE_PLUGIN_ROOT}/node_modules/vexify/lib/bin/cli.js mcp`
|
|
130
|
+
|
|
131
|
+
**Benefits**:
|
|
132
|
+
- Zero npx startup overhead (no npm registry queries)
|
|
133
|
+
- Instant binary resolution (no package resolution phase)
|
|
134
|
+
- All packages included in npm distribution
|
|
135
|
+
- Single `npm install` provides complete setup
|
|
136
|
+
- **MCP works correctly in any folder** - uses ${CLAUDE_PLUGIN_ROOT} environment variable expansion
|
|
137
|
+
|
|
138
|
+
**Performance Impact**:
|
|
139
|
+
- Previous approach: ~30-60s (first run, npx overhead + download) → ~3-8s (cached)
|
|
140
|
+
- Current approach: ~100-200ms (direct node invocation, zero overhead)
|
|
141
|
+
- Improvement: **150-600x faster startup**
|
|
142
|
+
|
|
143
|
+
### MCP Path Resolution Fix
|
|
144
|
+
Previous versions used relative paths (`./node_modules/...`) which broke when plugin was used in different folders. Now uses `${CLAUDE_PLUGIN_ROOT}` environment variable that Claude Code expands to the actual plugin directory, ensuring MCP servers work correctly regardless of where the plugin is instantiated. This is the documented standard for plugin-relative paths in Claude Code MCP configurations.
|
package/hooks/hooks.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "SessionStart hook for glootie-cc plugin",
|
|
3
|
+
"hooks": {
|
|
4
|
+
"SessionStart": [
|
|
5
|
+
{
|
|
6
|
+
"matcher" : "*",
|
|
7
|
+
"hooks": [
|
|
8
|
+
{
|
|
9
|
+
"type": "command",
|
|
10
|
+
"command": "${CLAUDE_PLUGIN_ROOT}/prompt-submit-hook.js",
|
|
11
|
+
"timeout": 7200
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"Stop": [
|
|
17
|
+
{
|
|
18
|
+
"hooks": [
|
|
19
|
+
{
|
|
20
|
+
"type": "command",
|
|
21
|
+
"command": "${CLAUDE_PLUGIN_ROOT}/stop-hook.js",
|
|
22
|
+
"timeout": 7200
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
}
|
package/package.json
CHANGED
|
@@ -1,42 +1,55 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "glootie-cc",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "Advanced Claude Code plugin with WFGY integration, MCP tools, and automated hooks",
|
|
5
|
-
"main": "claude-plugin.json",
|
|
6
|
-
"bin": {
|
|
7
|
-
"glootie-cc": "./cli.js"
|
|
8
|
-
},
|
|
9
|
-
"files": [
|
|
10
|
-
"claude-plugin
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"mcp"
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
},
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
}
|
|
42
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "glootie-cc",
|
|
3
|
+
"version": "2.0.8",
|
|
4
|
+
"description": "Advanced Claude Code plugin with WFGY integration, MCP tools, and automated hooks",
|
|
5
|
+
"main": ".claude-plugin/plugin.json",
|
|
6
|
+
"bin": {
|
|
7
|
+
"glootie-cc": "./cli.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
".claude-plugin/",
|
|
11
|
+
"hooks/",
|
|
12
|
+
"context/",
|
|
13
|
+
"node_modules/",
|
|
14
|
+
"package-lock.json",
|
|
15
|
+
"README.md",
|
|
16
|
+
"CLAUDE.md",
|
|
17
|
+
"CHANGELOG.md",
|
|
18
|
+
"cli.js",
|
|
19
|
+
".mcp.json"
|
|
20
|
+
],
|
|
21
|
+
"keywords": [
|
|
22
|
+
"claude-code",
|
|
23
|
+
"claude-plugin",
|
|
24
|
+
"wfgy",
|
|
25
|
+
"mcp",
|
|
26
|
+
"automation",
|
|
27
|
+
"glootie"
|
|
28
|
+
],
|
|
29
|
+
"author": "AnEntrypoint",
|
|
30
|
+
"license": "MIT",
|
|
31
|
+
"repository": {
|
|
32
|
+
"type": "git",
|
|
33
|
+
"url": "https://github.com/AnEntrypoint/glootie-cc.git"
|
|
34
|
+
},
|
|
35
|
+
"homepage": "https://github.com/AnEntrypoint/glootie-cc#readme",
|
|
36
|
+
"bugs": {
|
|
37
|
+
"url": "https://github.com/AnEntrypoint/glootie-cc/issues"
|
|
38
|
+
},
|
|
39
|
+
"engines": {
|
|
40
|
+
"node": ">=16.0.0"
|
|
41
|
+
},
|
|
42
|
+
"peerDependencies": {
|
|
43
|
+
"@anthropic-ai/claude-code": "*"
|
|
44
|
+
},
|
|
45
|
+
"publishConfig": {
|
|
46
|
+
"access": "public"
|
|
47
|
+
},
|
|
48
|
+
"dependencies": {
|
|
49
|
+
"@playwright/mcp": "^0.0.45",
|
|
50
|
+
"mcp-glootie": "^3.4.67",
|
|
51
|
+
"mcp-thorns": "^5.1.1",
|
|
52
|
+
"vexify": "^0.16.28",
|
|
53
|
+
"wfgy": "^1.0.1"
|
|
54
|
+
}
|
|
55
|
+
}
|
package/claude-plugin.json
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"permissions": {
|
|
3
|
-
"allow": ["Read", "Write", "Edit", "Bash", "Task", "WebFetch", "Glob", "Grep", "TodoWrite", "mcp__glootie__execute", "mcp__glootie__ast_tool", "mcp__glootie__caveat", "mcp__playwright__browser_navigate", "mcp__playwright__browser_click", "mcp__playwright__browser_type", "mcp__playwright__browser_snapshot", "mcp__playwright__browser_close", "mcp__vexify__search_code"]
|
|
4
|
-
},
|
|
5
|
-
"mcpServers": "./.mcp.json",
|
|
6
|
-
"hooks": {
|
|
7
|
-
"UserPromptSubmit": [
|
|
8
|
-
{
|
|
9
|
-
"matcher": "*",
|
|
10
|
-
"hooks": [
|
|
11
|
-
{
|
|
12
|
-
"type": "command",
|
|
13
|
-
"command": "npx -y wfgy hook && cat CLAUDE.md && npx -y mcp-thorns@latest && cat ./context/work-guidelines.md"
|
|
14
|
-
}
|
|
15
|
-
]
|
|
16
|
-
}
|
|
17
|
-
],
|
|
18
|
-
"Stop": [
|
|
19
|
-
{
|
|
20
|
-
"matcher": "*",
|
|
21
|
-
"hooks": [
|
|
22
|
-
{
|
|
23
|
-
"type": "command",
|
|
24
|
-
"command": "npx -y wfgy@latest hook && cat ./context/cleanup-guidelines.md"
|
|
25
|
-
}
|
|
26
|
-
]
|
|
27
|
-
}
|
|
28
|
-
],
|
|
29
|
-
"SessionStart": [
|
|
30
|
-
{
|
|
31
|
-
"matcher": "*",
|
|
32
|
-
"hooks": [
|
|
33
|
-
{
|
|
34
|
-
"type": "command",
|
|
35
|
-
"command": "npx -y mcp-thorns@latest"
|
|
36
|
-
}
|
|
37
|
-
]
|
|
38
|
-
}
|
|
39
|
-
],
|
|
40
|
-
"PreToolUse": [
|
|
41
|
-
{
|
|
42
|
-
"matcher": ["Write", "Edit"],
|
|
43
|
-
"hooks": [
|
|
44
|
-
{
|
|
45
|
-
"type": "command",
|
|
46
|
-
"command": "echo \"🔧 Preparing to modify codebase...\""
|
|
47
|
-
}
|
|
48
|
-
]
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
"matcher": ["Bash"],
|
|
52
|
-
"hooks": [
|
|
53
|
-
{
|
|
54
|
-
"type": "command",
|
|
55
|
-
"command": "echo \"💻 Executing shell command...\""
|
|
56
|
-
}
|
|
57
|
-
]
|
|
58
|
-
}
|
|
59
|
-
],
|
|
60
|
-
"PostToolUse": [
|
|
61
|
-
{
|
|
62
|
-
"matcher": ["Write", "Edit"],
|
|
63
|
-
"hooks": [
|
|
64
|
-
{
|
|
65
|
-
"type": "command",
|
|
66
|
-
"command": "echo \"✅ Code modification complete\""
|
|
67
|
-
}
|
|
68
|
-
]
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
"matcher": ["Bash"],
|
|
72
|
-
"hooks": [
|
|
73
|
-
{
|
|
74
|
-
"type": "command",
|
|
75
|
-
"command": "echo \"✅ Shell command executed\""
|
|
76
|
-
}
|
|
77
|
-
]
|
|
78
|
-
}
|
|
79
|
-
],
|
|
80
|
-
"SessionEnd": [
|
|
81
|
-
{
|
|
82
|
-
"matcher": "*",
|
|
83
|
-
"hooks": [
|
|
84
|
-
{
|
|
85
|
-
"type": "command",
|
|
86
|
-
"command": "echo \"👋 Session ended - WFGY context saved\""
|
|
87
|
-
}
|
|
88
|
-
]
|
|
89
|
-
}
|
|
90
|
-
]
|
|
91
|
-
},
|
|
92
|
-
"alwaysThinkingEnabled": false,
|
|
93
|
-
"settings": {
|
|
94
|
-
"autoSave": true,
|
|
95
|
-
"compactOnStop": false,
|
|
96
|
-
"notificationTimeout": 5000,
|
|
97
|
-
"debugMode": false
|
|
98
|
-
},
|
|
99
|
-
"metadata": {
|
|
100
|
-
"name": "glootie-cc",
|
|
101
|
-
"version": "2.0.0",
|
|
102
|
-
"description": "Advanced Claude Code plugin with WFGY integration, MCP tools, and automated hooks",
|
|
103
|
-
"author": "AnEntrypoint",
|
|
104
|
-
"homepage": "https://github.com/AnEntrypoint/glootie-cc"
|
|
105
|
-
}
|
|
106
|
-
}
|
package/cli.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
console.log('glootie-cc Claude Code Plugin v2.0.0');
|
|
4
|
-
console.log('Advanced plugin with WFGY integration and MCP tools');
|
|
5
|
-
console.log('');
|
|
6
|
-
console.log('This plugin should be installed via Claude Code plugin system:');
|
|
7
|
-
console.log(' /plugin install glootie-cc');
|
|
8
|
-
console.log('');
|
|
9
|
-
console.log('Features:');
|
|
10
|
-
console.log(' - 6 automated hooks for complete workflow automation');
|
|
11
|
-
console.log(' - 3 bundled MCP servers (glootie, vexify, playwright)');
|
|
12
|
-
console.log(' - WFGY integration and architectural guidance');
|
|
13
|
-
console.log(' - Complete tool permissions for enhanced productivity');
|
|
14
|
-
console.log('');
|
|
15
|
-
console.log('GitHub: https://github.com/AnEntrypoint/glootie-cc');
|
|
16
|
-
console.log('NPM: https://www.npmjs.com/package/glootie-cc');
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
Assign wfgy mutables to any issues that remain, to troubleshoot and fix them then scan the codebase to see if there are any other areas that should also be updated because of these changes, then use WFGY to determine if there's architectural changes that must now happen, and finally if the project is deployable, deploy it, if it's an npm project, publish it, and merge and sync the github intelligently, then clean up any files we've left behind in the codebase, that aren't part of the program's permanent structure, and use WFGY the selection of code if there's any complexity in the github merge to ensure we intelligently merge additions and removals whenever they represent an intentional advancement in the codebase.
|
|
2
|
-
|
|
3
|
-
Mandatory: there must only be one comment in every file, at the top of the file, with a super compact description of the technical caveats, intended exports and imports, relationship to the rest of the program structure and internal function of it, we must ALWAYS update the spec of each file we edited, if we see a code file with no spec at the top, it must immediately be added, we must immediately remove any comments we find that's not that comment, no exceptions. Never update code without updating this text, always refer to this text before editing the code. If our codebase analysis exposes files with more or less than one comment, fix it immediately. Use MCP playwright never use regular playwright.
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
Do not create files that aren't a part of the permanent structure of the codebase unless asked for.
|
|
2
|
-
Never add any mocks or simulations anywhere.
|
|
3
|
-
Only write primary implementations and never make fallbacks of any kind.
|
|
4
|
-
Always first check that we're not re-implementing an existing part before making new parts.
|
|
5
|
-
|
|
6
|
-
Memorize everything you learn to make it work to CLAUDE.md. We want to memorize how things work (NO CHANGELOGS JUST TECH INFO) not what's been done (IN THE PROJECT CODEBASE) continuously. It's not a log or a work history, it's for all the technical caveats and notes. Always clean it up while editing it, remove any changelogs from it, it must be as concise as possible without losing any meaning, zero additional tokens. Otherwise if the information applies to all projects edit ~/.claude/CLAUDE.md so you don't make mistakes in the future, update it and remove things that no longer apply.
|
|
7
|
-
|
|
8
|
-
# VERY IMPORTANT YOU MUST **ALWAYS DO THIS USING MCP** **(NO EXCEPTIONS)**:
|
|
9
|
-
- If there's client side code create global to access client side parts in real time for debugging
|
|
10
|
-
- Analyze and handle all issues before implementing in code, be as methodical and deal with all corner cases first, find ground truth by executing code to make sure you measure-twice-cut-once
|
|
11
|
-
- Use the mop-and-bucket approach to check the rest of the codebase and make sure we don't make duplicate implementations, consolidate all duplicates, keep the codebase simple, well frameworked, convention-over-configuration, configuration-over-code at all times
|
|
12
|
-
- Make all outstanding codebase changes immediately, don't stop when there's work left to do
|
|
13
|
-
- Before making changes to client side code, do code executions in playwright mcp to find out if the changes will work
|
|
14
|
-
- Test and change as many times as needed to finish all the work requested, never under any circumstances finish or summarize when there's work left to do. Check what mcp tools are available and use what's useful
|
|
15
|
-
|
|
16
|
-
Be forward thinking about architectural sanity, if something should be done, to improve the architecture, generalize or DRY the code, do it immediately before continuing. Our code style must be at all times concise, DRY, generalized and forward thinking structurally.
|
|
17
|
-
|
|
18
|
-
If a file is more than 200 lines split it immediately before continuing.
|
|
19
|
-
When troubleshooting any issue look back a few versions in the git history to see if it's a regression, use the history to guide to back to a working version if possible, otherwise choose a solution.
|
|
20
|
-
|
|
21
|
-
Always use a persistent background shell to do your tests.
|
|
22
|
-
|
|
23
|
-
When using playwright, always close everything before you start your test, this will sort out the cache.
|
|
24
|
-
Use vexify, glootie, and playwright as much as possible when available. Test server side ideas in glootie execute and client side ideas in playwright code execution before changing code, use them to debug in real time by executing, use vexify for code lookups when you don't know the exact syntax or for searching for multiple things that are similar.
|