sandboxbox 3.0.64 ā 3.0.65
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/settings.json +11 -0
- package/.claude/settings.local.json +17 -0
- package/.claude-sandbox/plugins/config.json +8 -0
- package/.claude-sandbox/plugins/marketplaces/anentrypoint-glootie-cc/.claude/settings.local.json +14 -0
- package/.claude-sandbox/plugins/marketplaces/anentrypoint-glootie-cc/.claude-plugin/marketplace.json +19 -0
- package/.claude-sandbox/plugins/marketplaces/anentrypoint-glootie-cc/.mcp.json +17 -0
- package/.claude-sandbox/plugins/marketplaces/anentrypoint-glootie-cc/CHANGELOG.md +19 -0
- package/.claude-sandbox/plugins/marketplaces/anentrypoint-glootie-cc/CLAUDE.md +135 -0
- package/.claude-sandbox/plugins/marketplaces/anentrypoint-glootie-cc/README.md +55 -0
- package/.claude-sandbox/plugins/marketplaces/anentrypoint-glootie-cc/hooks/hooks.json +28 -0
- package/.claude-sandbox/plugins/marketplaces/anentrypoint-glootie-cc/package-lock.json +4007 -0
- package/.claude-sandbox/plugins/marketplaces/anentrypoint-glootie-cc/package.json +53 -0
- package/.claude-sandbox/plugins/marketplaces/anentrypoint-glootie-cc/plugin.json +18 -0
- package/.claude-sandbox/plugins/marketplaces/anentrypoint-glootie-cc/prompt-submit-hook.js +59 -0
- package/.claude-sandbox/plugins/marketplaces/anentrypoint-glootie-cc/start.md +33 -0
- package/.claude-sandbox/plugins/marketplaces/anentrypoint-glootie-cc/stop-hook.js +108 -0
- package/.claude-sandbox/settings.json +11 -0
- package/CHANGELOG.md +12 -0
- package/CLAUDE.md +17 -0
- package/package.json +1 -1
- package/utils/commands/claude.js +1 -14
- package/utils/sandbox.js +40 -34
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(git add:*)",
|
|
5
|
+
"Bash(git commit -m \"$(cat <<''EOF''\nAdd Claude config and simplify tool configuration\n\n- Add .claude/settings.json with glootie plugin and bash timeout config\n- Remove hardcoded tool allow list from claude.js\n- Update .gitignore to allow committing .claude directory\n\nš¤ Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\nEOF\n)\")",
|
|
6
|
+
"Bash(git push:*)",
|
|
7
|
+
"Bash(cat:*)",
|
|
8
|
+
"Bash(SANDBOX_VERBOSE=true node cli.js:*)",
|
|
9
|
+
"Bash(git rm:*)",
|
|
10
|
+
"Bash(git commit:*)",
|
|
11
|
+
"Bash(npm version:*)",
|
|
12
|
+
"Bash(npm publish)"
|
|
13
|
+
],
|
|
14
|
+
"deny": [],
|
|
15
|
+
"ask": []
|
|
16
|
+
}
|
|
17
|
+
}
|
package/.claude-sandbox/plugins/marketplaces/anentrypoint-glootie-cc/.claude-plugin/marketplace.json
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
},
|
|
8
|
+
"playwright": {
|
|
9
|
+
"command": "node",
|
|
10
|
+
"args": ["${CLAUDE_PLUGIN_ROOT}/node_modules/@playwright/mcp/cli.js"]
|
|
11
|
+
},
|
|
12
|
+
"vexify": {
|
|
13
|
+
"command": "node",
|
|
14
|
+
"args": ["${CLAUDE_PLUGIN_ROOT}/node_modules/vexify/lib/bin/cli.js", "mcp"]
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# CHANGELOG
|
|
2
|
+
|
|
3
|
+
## [2.0.5] - 2025-11-04
|
|
4
|
+
|
|
5
|
+
### Fixes
|
|
6
|
+
- Fixed MCP server paths to work when plugin is used in different folders
|
|
7
|
+
- Updated .mcp.json to use ${CLAUDE_PLUGIN_ROOT} environment variable instead of relative paths
|
|
8
|
+
- MCP servers now correctly resolve paths regardless of instantiation directory
|
|
9
|
+
|
|
10
|
+
### Performance
|
|
11
|
+
- Eliminated npx overhead by bundling MCP packages directly in node_modules
|
|
12
|
+
- Updated .mcp.json to invoke MCP tools via direct node invocation instead of npx
|
|
13
|
+
- All three tools (glootie, playwright, vexify) now have zero startup overhead
|
|
14
|
+
- Startup improvement: 30-60s (npx overhead) ā 100-200ms (direct invocation)
|
|
15
|
+
- Improvement factor: 150-600x faster
|
|
16
|
+
|
|
17
|
+
### Dependencies
|
|
18
|
+
- Added @playwright/mcp, mcp-glootie, vexify as dependencies
|
|
19
|
+
- Included node_modules in npm distribution for zero-latency access
|
|
@@ -0,0 +1,135 @@
|
|
|
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 Handling
|
|
73
|
+
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.
|
|
74
|
+
|
|
75
|
+
### Hook Output Format
|
|
76
|
+
- SessionStart hook outputs JSON with `hookSpecificOutput` containing `hookEventName` and `additionalContext`
|
|
77
|
+
- Stop hook should output nothing (silent pass) unless blocking - outputs `{decision: "block", reason: "..."}` if blocking is needed
|
|
78
|
+
- All hooks must handle errors gracefully and avoid process crashes
|
|
79
|
+
|
|
80
|
+
### Important: Never Run eval.js Manually
|
|
81
|
+
The eval.js file runs automatically at the end of processes - never invoke it manually.
|
|
82
|
+
|
|
83
|
+
## Available Tools
|
|
84
|
+
Through the bundled MCP servers and Claude Code:
|
|
85
|
+
- **Execution**: glootie execute, bash, nodejs, deno
|
|
86
|
+
- **Browser**: playwright for DOM manipulation, navigation, snapshots
|
|
87
|
+
- **Search**: vexify for code search and AST analysis
|
|
88
|
+
- **File ops**: Read, Write, Edit, Glob, Grep
|
|
89
|
+
- **Automation**: Task tool for complex workflows
|
|
90
|
+
|
|
91
|
+
## Publishing & Deployment
|
|
92
|
+
|
|
93
|
+
The package is published to npm as `glootie-cc`:
|
|
94
|
+
```bash
|
|
95
|
+
npm publish # Publish current version to npm
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Update version in package.json before publishing. Main entry point is `.claude-plugin/plugin.json`.
|
|
99
|
+
|
|
100
|
+
## Testing Context Sessions
|
|
101
|
+
|
|
102
|
+
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.
|
|
103
|
+
|
|
104
|
+
## Git Workflow
|
|
105
|
+
|
|
106
|
+
Recent work has focused on fixing the stop-hook timeout issues:
|
|
107
|
+
- Removed shell mode git commands that caused ETIMEDOUT
|
|
108
|
+
- Removed npm registry lookups that could hang
|
|
109
|
+
- Simplified to minimal no-op to ensure hook completes quickly
|
|
110
|
+
|
|
111
|
+
Check git history for regression troubleshooting - always use differential comparisons and manual edits rather than reverts.
|
|
112
|
+
|
|
113
|
+
## Performance Optimization
|
|
114
|
+
|
|
115
|
+
### MCP Startup via Direct Node Invocation
|
|
116
|
+
Eliminated npx overhead by bundling MCP packages directly. All three MCP servers now invoke node directly against local binaries:
|
|
117
|
+
|
|
118
|
+
- **glootie**: `node ${CLAUDE_PLUGIN_ROOT}/node_modules/mcp-glootie/src/index.js`
|
|
119
|
+
- **playwright**: `node ${CLAUDE_PLUGIN_ROOT}/node_modules/@playwright/mcp/cli.js`
|
|
120
|
+
- **vexify**: `node ${CLAUDE_PLUGIN_ROOT}/node_modules/vexify/lib/bin/cli.js mcp`
|
|
121
|
+
|
|
122
|
+
**Benefits**:
|
|
123
|
+
- Zero npx startup overhead (no npm registry queries)
|
|
124
|
+
- Instant binary resolution (no package resolution phase)
|
|
125
|
+
- All packages included in npm distribution
|
|
126
|
+
- Single `npm install` provides complete setup
|
|
127
|
+
- **MCP works correctly in any folder** - uses ${CLAUDE_PLUGIN_ROOT} environment variable expansion
|
|
128
|
+
|
|
129
|
+
**Performance Impact**:
|
|
130
|
+
- Previous approach: ~30-60s (first run, npx overhead + download) ā ~3-8s (cached)
|
|
131
|
+
- Current approach: ~100-200ms (direct node invocation, zero overhead)
|
|
132
|
+
- Improvement: **150-600x faster startup**
|
|
133
|
+
|
|
134
|
+
### MCP Path Resolution Fix
|
|
135
|
+
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.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# WFGY Enhanced Claude Code Plugin
|
|
2
|
+
|
|
3
|
+
An advanced Claude Code plugin that provides comprehensive automated workflows, WFGY integration, and bundled MCP tools for enhanced development productivity.
|
|
4
|
+
|
|
5
|
+
## Structure
|
|
6
|
+
|
|
7
|
+
- `claude-plugin.json` - Main plugin configuration with advanced hooks and bundled MCP servers
|
|
8
|
+
- `context/work-guidelines.md` - Work guidelines loaded on user prompts
|
|
9
|
+
- `context/cleanup-guidelines.md` - Cleanup guidelines loaded on session stop
|
|
10
|
+
|
|
11
|
+
## Installation
|
|
12
|
+
|
|
13
|
+
1. Copy the plugin files to your desired location
|
|
14
|
+
2. Load the plugin in Claude Code settings
|
|
15
|
+
3. MCP tools are automatically bundled and available
|
|
16
|
+
|
|
17
|
+
## Features
|
|
18
|
+
|
|
19
|
+
### Automated Hooks
|
|
20
|
+
- **UserPromptSubmit**: Automatically loads work guidelines and runs WFGY hook on every user prompt
|
|
21
|
+
- **Stop**: Automatically runs cleanup guidelines and WFGY hook when session stops
|
|
22
|
+
- **SessionStart**: Automatically initializes MCP thorns when session begins
|
|
23
|
+
- **PreToolUse**: Shows notifications before Write/Edit/Bash operations
|
|
24
|
+
- **PostToolUse**: Confirms completion of Write/Edit/Bash operations
|
|
25
|
+
- **SessionEnd**: Automatically saves WFGY context on session end
|
|
26
|
+
|
|
27
|
+
### Bundled MCP Tools
|
|
28
|
+
- **glootie** - Code execution and testing via `mcp-glootie@latest`
|
|
29
|
+
- **vexify** - Code search and AST analysis via `vexify@latest`
|
|
30
|
+
- **playwright** - Browser automation and testing via `@playwright/mcp@latest`
|
|
31
|
+
- **mcp-thorns** - WFGY integration (loaded via hooks)
|
|
32
|
+
|
|
33
|
+
### Comprehensive Permissions
|
|
34
|
+
Full tool access including:
|
|
35
|
+
- **Core Tools**: Read, Write, Edit, Bash, Task, WebFetch, Glob, Grep, TodoWrite
|
|
36
|
+
- **MCP Tools**: glootie (execute, ast_tool, caveat), playwright (browser automation), vexify (search_code)
|
|
37
|
+
|
|
38
|
+
### Plugin Settings
|
|
39
|
+
- **autoSave**: Enabled for automatic saving
|
|
40
|
+
- **compactOnStop**: Disabled to preserve context
|
|
41
|
+
- **notificationTimeout**: 5 seconds
|
|
42
|
+
- **debugMode**: Disabled for production use
|
|
43
|
+
|
|
44
|
+
## Workflow Automation
|
|
45
|
+
|
|
46
|
+
The plugin provides fully automated workflows:
|
|
47
|
+
|
|
48
|
+
1. **Session Start**: Initializes WFGY and MCP tools
|
|
49
|
+
2. **During Work**: Provides guidance and notifications for all operations
|
|
50
|
+
3. **Session End**: Saves context and runs cleanup procedures
|
|
51
|
+
|
|
52
|
+
No manual command invocation needed - everything runs automatically through hooks.
|
|
53
|
+
|
|
54
|
+
## Version
|
|
55
|
+
**v2.0.0** - Enhanced with advanced hooks and comprehensive MCP integration
|
|
@@ -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
|
+
}
|