@xelth/eck-snapshot 4.3.2 → 4.4.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 +62 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -47,13 +47,17 @@ This is your primary command. It scans your project and packs all relevant code
|
|
|
47
47
|
|
|
48
48
|
* **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
49
|
|
|
50
|
-
#### Step 2:
|
|
50
|
+
#### Step 2: Working with Profiles for Large Projects
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
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:
|
|
53
|
+
|
|
54
|
+
##### Option A: Auto-Detection (Quick but can be fragile on huge projects)
|
|
55
|
+
|
|
56
|
+
Uses local AI (Claude CLI) to automatically analyze your project and suggest profiles.
|
|
53
57
|
|
|
54
58
|
> **Usage:**
|
|
55
59
|
> ```bash
|
|
56
|
-
>
|
|
60
|
+
> eck-snapshot profile-detect
|
|
57
61
|
> ```
|
|
58
62
|
|
|
59
63
|
* **Output Example:**
|
|
@@ -67,7 +71,60 @@ If your project is too large for an LLM's context window, `profile-detect` can a
|
|
|
67
71
|
- docs
|
|
68
72
|
- config
|
|
69
73
|
```
|
|
70
|
-
* **What it does:** Analyzes your project and saves these logical groupings into a `.eck/profiles.json` file
|
|
74
|
+
* **What it does:** Analyzes your project and saves these logical groupings into a `.eck/profiles.json` file.
|
|
75
|
+
* **Limitation:** Can fail on very large projects (thousands of files) because the directory tree becomes too large for the local Claude CLI.
|
|
76
|
+
|
|
77
|
+
##### Option B: Manual Guide (Reliable for massive projects)
|
|
78
|
+
|
|
79
|
+
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**.
|
|
80
|
+
|
|
81
|
+
> **Usage:**
|
|
82
|
+
> ```bash
|
|
83
|
+
> eck-snapshot generate-profile-guide
|
|
84
|
+
> ```
|
|
85
|
+
|
|
86
|
+
**What happens:**
|
|
87
|
+
1. Creates `.eck/profile_generation_guide.md` containing:
|
|
88
|
+
- A ready-to-use prompt for the AI
|
|
89
|
+
- Your complete project directory tree
|
|
90
|
+
2. You open this file and copy its contents
|
|
91
|
+
3. Paste into your preferred AI assistant (web UI with large context)
|
|
92
|
+
4. The AI analyzes the structure and returns a JSON with suggested profiles
|
|
93
|
+
5. Save the JSON to `.eck/profiles.json`
|
|
94
|
+
|
|
95
|
+
**Example workflow:**
|
|
96
|
+
```bash
|
|
97
|
+
# 1. Generate the guide
|
|
98
|
+
eck-snapshot generate-profile-guide
|
|
99
|
+
|
|
100
|
+
# 2. Open the guide file
|
|
101
|
+
cat .eck/profile_generation_guide.md
|
|
102
|
+
|
|
103
|
+
# 3. Copy the prompt and directory tree, paste into Gemini/ChatGPT
|
|
104
|
+
# 4. AI returns something like:
|
|
105
|
+
# {
|
|
106
|
+
# "backend": {
|
|
107
|
+
# "include": ["src/api/**", "src/database/**"],
|
|
108
|
+
# "exclude": ["**/*.test.js"]
|
|
109
|
+
# },
|
|
110
|
+
# "frontend": {
|
|
111
|
+
# "include": ["src/components/**", "src/pages/**"],
|
|
112
|
+
# "exclude": ["**/*.spec.js"]
|
|
113
|
+
# }
|
|
114
|
+
# }
|
|
115
|
+
|
|
116
|
+
# 5. Save the JSON to .eck/profiles.json
|
|
117
|
+
# (manually create/edit the file)
|
|
118
|
+
|
|
119
|
+
# 6. Now you can use the profiles
|
|
120
|
+
eck-snapshot --profile backend
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Why use this instead of auto-detect?**
|
|
124
|
+
- Works with projects of any size (no local context limits)
|
|
125
|
+
- Uses powerful web-based LLMs with large context windows
|
|
126
|
+
- More reliable - doesn't crash on huge directory trees
|
|
127
|
+
- You can review and edit the suggestions before saving
|
|
71
128
|
|
|
72
129
|
#### Step 3: Use Profiles to Create Focused Snapshots
|
|
73
130
|
|
|
@@ -173,10 +230,10 @@ This generates `.eck/snapshots/update_<timestamp>.md`.
|
|
|
173
230
|
## Auxiliary Commands
|
|
174
231
|
|
|
175
232
|
* `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
233
|
* `detect`: Shows how `eckSnapshot` has identified your project type and what default file filters are being applied.
|
|
178
234
|
* `ask-claude`: Directly delegate a task to your configured Claude Code CLI agent from the command line.
|
|
179
235
|
* `setup-gemini`: A utility to automatically configure integration with the `gemini-cli`.
|
|
236
|
+
* `show <file1> <file2> ...`: Display full content of specific files (used for lazy loading in skeleton workflow).
|
|
180
237
|
|
|
181
238
|
For a full list of commands and options, run `eck-snapshot --help`.
|
|
182
239
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xelth/eck-snapshot",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.4.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",
|