@xelth/eck-snapshot 4.3.2 → 5.0.0

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.

Potentially problematic release.


This version of @xelth/eck-snapshot might be problematic. Click here for more details.

package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- # eckSnapshot
2
+ # eckSnapshot (v5.0.0)
3
3
 
4
4
  A lightweight, platform-independent CLI for creating focused, AI-ready project snapshots.
5
5
 
@@ -7,6 +7,11 @@ A lightweight, platform-independent CLI for creating focused, AI-ready project s
7
7
 
8
8
  This tool is built for a modern workflow where you act as the architect, guiding the overall strategy, while AI agents handle the detailed implementation.
9
9
 
10
+ ## 🤖 Hybrid AI Support (MiniMax Integration)
11
+
12
+ This project supports a **Supervisor-Worker** mode to save tokens and costs.
13
+ 👉 **[Read the Integration Guide](./MINIMAX_INTEGRATION.md)** to enable this feature.
14
+
10
15
  ## The Core Workflow
11
16
 
12
17
  `eckSnapshot` is designed to support a two-part AI workflow for maximum efficiency and quality:
@@ -47,13 +52,17 @@ This is your primary command. It scans your project and packs all relevant code
47
52
 
48
53
  * **What it does:** Creates a file like `myProject_snapshot_... .md` in the `.eck/snapshots/` directory. This file contains your project's directory structure and the complete code. You can now pass this file to your Architect LLM for analysis.
49
54
 
50
- #### Step 2: Handle Large Projects with Auto-Profiling
55
+ #### Step 2: Working with Profiles for Large Projects
56
+
57
+ When your project is too large for an LLM's context window, you can use **profiles** to slice it into logical parts. There are two methods:
58
+
59
+ ##### Option A: Auto-Detection (Quick but can be fragile on huge projects)
51
60
 
52
- If your project is too large for an LLM's context window, `profile-detect` can automatically slice it into logical parts (profiles) using AI.
61
+ Uses local AI (Claude CLI) to automatically analyze your project and suggest profiles.
53
62
 
54
63
  > **Usage:**
55
64
  > ```bash
56
- > dimi@xelth:/mnt/c/Users/xelth/myProject$ eck-snapshot profile-detect
65
+ > eck-snapshot profile-detect
57
66
  > ```
58
67
 
59
68
  * **Output Example:**
@@ -67,7 +76,60 @@ If your project is too large for an LLM's context window, `profile-detect` can a
67
76
  - docs
68
77
  - config
69
78
  ```
70
- * **What it does:** Analyzes your project and saves these logical groupings into a `.eck/profiles.json` file, which you can use in the next step.
79
+ * **What it does:** Analyzes your project and saves these logical groupings into a `.eck/profiles.json` file.
80
+ * **Limitation:** Can fail on very large projects (thousands of files) because the directory tree becomes too large for the local Claude CLI.
81
+
82
+ ##### Option B: Manual Guide (Reliable for massive projects)
83
+
84
+ Generates a guide file that you can use with any AI assistant that has a large context window (Gemini 1.5 Pro, GPT-4, etc.). This is the **recommended approach for large monorepos**.
85
+
86
+ > **Usage:**
87
+ > ```bash
88
+ > eck-snapshot generate-profile-guide
89
+ > ```
90
+
91
+ **What happens:**
92
+ 1. Creates `.eck/profile_generation_guide.md` containing:
93
+ - A ready-to-use prompt for the AI
94
+ - Your complete project directory tree
95
+ 2. You open this file and copy its contents
96
+ 3. Paste into your preferred AI assistant (web UI with large context)
97
+ 4. The AI analyzes the structure and returns a JSON with suggested profiles
98
+ 5. Save the JSON to `.eck/profiles.json`
99
+
100
+ **Example workflow:**
101
+ ```bash
102
+ # 1. Generate the guide
103
+ eck-snapshot generate-profile-guide
104
+
105
+ # 2. Open the guide file
106
+ cat .eck/profile_generation_guide.md
107
+
108
+ # 3. Copy the prompt and directory tree, paste into Gemini/ChatGPT
109
+ # 4. AI returns something like:
110
+ # {
111
+ # "backend": {
112
+ # "include": ["src/api/**", "src/database/**"],
113
+ # "exclude": ["**/*.test.js"]
114
+ # },
115
+ # "frontend": {
116
+ # "include": ["src/components/**", "src/pages/**"],
117
+ # "exclude": ["**/*.spec.js"]
118
+ # }
119
+ # }
120
+
121
+ # 5. Save the JSON to .eck/profiles.json
122
+ # (manually create/edit the file)
123
+
124
+ # 6. Now you can use the profiles
125
+ eck-snapshot --profile backend
126
+ ```
127
+
128
+ **Why use this instead of auto-detect?**
129
+ - Works with projects of any size (no local context limits)
130
+ - Uses powerful web-based LLMs with large context windows
131
+ - More reliable - doesn't crash on huge directory trees
132
+ - You can review and edit the suggestions before saving
71
133
 
72
134
  #### Step 3: Use Profiles to Create Focused Snapshots
73
135
 
@@ -173,10 +235,10 @@ This generates `.eck/snapshots/update_<timestamp>.md`.
173
235
  ## Auxiliary Commands
174
236
 
175
237
  * `restore <snapshot_file>`: Recreates a project's file structure from a snapshot.
176
- * `generate-profile-guide`: Creates a guide for manual profile creation. Use this if `profile-detect` fails on very large projects, as it allows you to use an LLM with a larger context window (e.g., a web UI).
177
238
  * `detect`: Shows how `eckSnapshot` has identified your project type and what default file filters are being applied.
178
239
  * `ask-claude`: Directly delegate a task to your configured Claude Code CLI agent from the command line.
179
240
  * `setup-gemini`: A utility to automatically configure integration with the `gemini-cli`.
241
+ * `show <file1> <file2> ...`: Display full content of specific files (used for lazy loading in skeleton workflow).
180
242
 
181
243
  For a full list of commands and options, run `eck-snapshot --help`.
182
244
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xelth/eck-snapshot",
3
- "version": "4.3.2",
3
+ "version": "5.0.0",
4
4
  "description": "A powerful CLI tool to create and restore single-file text snapshots of Git repositories and directories. Optimized for AI context and LLM workflows.",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -28,6 +28,8 @@
28
28
  "url": "https://github.com/xelth-com/eckSnapshot.git"
29
29
  },
30
30
  "dependencies": {
31
+ "@anthropic-ai/sdk": "^0.33.1",
32
+ "@modelcontextprotocol/sdk": "^1.0.1",
31
33
  "@babel/generator": "^7.25.6",
32
34
  "@babel/parser": "^7.25.6",
33
35
  "@babel/traverse": "^7.25.6",
package/setup.json CHANGED
@@ -716,6 +716,25 @@
716
716
  "Runs only in native Windows",
717
717
  "Cannot access WSL-only tools like claude"
718
718
  ]
719
+ },
720
+ "minimax_worker": {
721
+ "active": true,
722
+ "name": "MiniMax M2.1 Worker (MCP)",
723
+ "description": "High-context, low-cost worker for heavy lifting. Accessed via 'delegate_coding_task' tool.",
724
+ "guiSupport": false,
725
+ "identification": {
726
+ "markers": ["minimax", "delegate_coding_task"]
727
+ },
728
+ "capabilities": [
729
+ "read large files internally",
730
+ "generate massive code blocks",
731
+ "refactor huge modules",
732
+ "analyze project structure"
733
+ ],
734
+ "restrictions": [
735
+ "Cannot execute system commands directly (delegates back to Sonnet)",
736
+ "Requires MINIMAX_API_KEY"
737
+ ]
719
738
  }
720
739
  },
721
740
  "browserAutomation": {
package/src/cli/cli.js CHANGED
@@ -64,7 +64,7 @@ async function checkCodeBoundaries(filePath, agentId) {
64
64
  export function run() {
65
65
  const program = new Command();
66
66
 
67
- const helpGuide = `eck-snapshot (v4.1.0) - AI-Native Repository Context Tool.
67
+ const helpGuide = `eck-snapshot (v5.0.0) - AI-Native Repository Context Tool.
68
68
 
69
69
  --- 🚀 Core Workflow: Optimized for Web LLMs (Gemini/ChatGPT) ---
70
70
 
@@ -118,7 +118,7 @@ Option C: Using Profiles
118
118
  program
119
119
  .name('eck-snapshot')
120
120
  .description('A lightweight, platform-independent CLI for creating project snapshots.')
121
- .version('4.1.0')
121
+ .version('5.0.0')
122
122
  .addHelpText('before', helpGuide);
123
123
 
124
124
  // Main snapshot command
@@ -134,7 +134,7 @@ args = ["${indexJsPath}", "ask-claude"]
134
134
  # gemini-cli claude "Generate a project overview"
135
135
 
136
136
  [claude.metadata]
137
- version = "4.1.0"
137
+ version = "5.0.0"
138
138
  author = "eck-snapshot"
139
139
  generated_at = "${new Date().toISOString()}"
140
140
  platform = "${process.platform}"