agent-ctx 1.0.0 → 2.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.
- package/README.md +56 -51
- package/dist/commands/add.d.ts +1 -1
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +1 -1
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/centralize.d.ts +3 -3
- package/dist/commands/centralize.d.ts.map +1 -1
- package/dist/commands/centralize.js +21 -21
- package/dist/commands/centralize.js.map +1 -1
- package/dist/commands/clean.d.ts +3 -3
- package/dist/commands/clean.d.ts.map +1 -1
- package/dist/commands/clean.js +31 -31
- package/dist/commands/clean.js.map +1 -1
- package/dist/commands/doctor.d.ts +3 -3
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +132 -50
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts +3 -3
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +97 -38
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/update.d.ts +3 -4
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +169 -52
- package/dist/commands/update.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -12
- package/dist/index.js.map +1 -1
- package/dist/lib/bridges.d.ts +8 -8
- package/dist/lib/bridges.d.ts.map +1 -1
- package/dist/lib/bridges.js +108 -108
- package/dist/lib/bridges.js.map +1 -1
- package/dist/lib/config.d.ts +18 -6
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +54 -18
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/i18n.d.ts.map +1 -1
- package/dist/lib/i18n.js +56 -6
- package/dist/lib/i18n.js.map +1 -1
- package/dist/lib/logger.d.ts +7 -7
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +17 -17
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/templates.d.ts +1 -5
- package/dist/lib/templates.d.ts.map +1 -1
- package/dist/lib/templates.js +28 -18
- package/dist/lib/templates.js.map +1 -1
- package/dist/lib/utils.d.ts +8 -8
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +49 -21
- package/dist/lib/utils.js.map +1 -1
- package/package.json +77 -63
- package/src/templates/en/skills/skill-agents.md +43 -18
- package/src/templates/en/skills/skill-memory.md +97 -0
- package/src/templates/es/skills/skill-agents.md +43 -18
- package/src/templates/es/skills/skill-memory.md +97 -0
- package/dist/bin/agentrc.d.ts +0 -7
- package/dist/bin/agentrc.d.ts.map +0 -1
- package/dist/bin/agentrc.js +0 -8
- package/dist/bin/agentrc.js.map +0 -1
- package/dist/lib/wizard.d.ts +0 -22
- package/dist/lib/wizard.d.ts.map +0 -1
- package/dist/lib/wizard.js +0 -197
- package/dist/lib/wizard.js.map +0 -1
- package/src/templates/en/skills/skill-api.md +0 -117
- package/src/templates/en/skills/skill-git.md +0 -109
- package/src/templates/en/skills/skill-react.md +0 -94
- package/src/templates/en/skills/skill-testing.md +0 -139
- package/src/templates/es/skills/skill-api.md +0 -117
- package/src/templates/es/skills/skill-git.md +0 -108
- package/src/templates/es/skills/skill-react.md +0 -94
- package/src/templates/es/skills/skill-testing.md +0 -139
package/README.md
CHANGED
|
@@ -1,59 +1,60 @@
|
|
|
1
|
-
# agent-ctx
|
|
1
|
+
# agent-ctx
|
|
2
2
|
|
|
3
|
-
> CLI
|
|
3
|
+
> CLI to initialize and manage AI agent context in your projects
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/agent-ctx)
|
|
6
6
|
[](https://opensource.org/licenses/MIT)
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
**[Español](./docs/README.es.md)** | English
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
## What is agent-ctx?
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
**agent-ctx** is a CLI tool that sets up a standardized context structure (`.context/`) so any AI agent (Cursor, Windsurf, Claude, Copilot, Cline, etc.) can understand your project consistently.
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
- 📦 **Fácil de distribuir** - `npx agent-ctx init` y listo
|
|
16
|
-
- 🔄 **Centralización** - Una sola fuente de verdad para todos los agentes
|
|
17
|
-
- 🏥 **Auto-reparación** - Detecta y arregla archivos rotos
|
|
18
|
-
- 📚 **Skills reutilizables** - Estructura modular para compartir conocimiento
|
|
14
|
+
### Why use it?
|
|
19
15
|
|
|
20
|
-
|
|
16
|
+
- **Cross-platform** — Works on Windows, Mac, and Linux without bash dependencies
|
|
17
|
+
- **Easy to distribute** — Just run `npx agent-ctx init` and you're done
|
|
18
|
+
- **Single source of truth** — Centralized context for all your agents
|
|
19
|
+
- **Self-healing** — Detects and repairs broken configuration files
|
|
20
|
+
- **Modular skills** — Reusable skill structure for sharing knowledge across projects
|
|
21
|
+
|
|
22
|
+
## Installation
|
|
21
23
|
|
|
22
24
|
```bash
|
|
23
|
-
#
|
|
25
|
+
# Direct usage with npx (recommended)
|
|
24
26
|
npx agent-ctx init
|
|
25
27
|
|
|
26
|
-
#
|
|
28
|
+
# Or install globally
|
|
27
29
|
npm install -g agent-ctx
|
|
28
30
|
```
|
|
29
31
|
|
|
30
|
-
##
|
|
32
|
+
## Commands
|
|
31
33
|
|
|
32
34
|
### `agent-ctx init`
|
|
33
35
|
|
|
34
|
-
|
|
36
|
+
Initializes the `.context/` structure and generates bridge files for different editors.
|
|
35
37
|
|
|
36
38
|
```bash
|
|
37
|
-
npx agent-ctx init #
|
|
38
|
-
npx agent-ctx init ./
|
|
39
|
-
npx agent-ctx init --yes #
|
|
40
|
-
npx agent-ctx init --force #
|
|
41
|
-
npx agent-ctx init --dry-run #
|
|
39
|
+
npx agent-ctx init # Current directory
|
|
40
|
+
npx agent-ctx init ./my-project # Specific directory
|
|
41
|
+
npx agent-ctx init --yes # Non-interactive mode
|
|
42
|
+
npx agent-ctx init --force # Overwrite existing files
|
|
43
|
+
npx agent-ctx init --dry-run # Preview changes only
|
|
42
44
|
```
|
|
43
45
|
|
|
44
|
-
|
|
45
46
|
### `agent-ctx update`
|
|
46
47
|
|
|
47
|
-
|
|
48
|
+
Regenerates bridge files with the latest templates without touching `.context/`.
|
|
48
49
|
|
|
49
50
|
```bash
|
|
50
|
-
npx agent-ctx update #
|
|
51
|
-
npx agent-ctx update --yes #
|
|
51
|
+
npx agent-ctx update # Interactive
|
|
52
|
+
npx agent-ctx update --yes # Update all
|
|
52
53
|
```
|
|
53
54
|
|
|
54
55
|
### `agent-ctx centralize`
|
|
55
56
|
|
|
56
|
-
|
|
57
|
+
Finds scattered skills in editor folders (`.cursor/skills`, `.windsurf/skills`, etc.) and moves them to `.context/skills/`.
|
|
57
58
|
|
|
58
59
|
```bash
|
|
59
60
|
npx agent-ctx centralize
|
|
@@ -62,50 +63,50 @@ npx agent-ctx centralize --dry-run
|
|
|
62
63
|
|
|
63
64
|
### `agent-ctx clean`
|
|
64
65
|
|
|
65
|
-
|
|
66
|
+
Removes redundant editor folders that duplicate skills/rules.
|
|
66
67
|
|
|
67
68
|
```bash
|
|
68
69
|
npx agent-ctx clean
|
|
69
|
-
npx agent-ctx clean --yes #
|
|
70
|
+
npx agent-ctx clean --yes # Skip confirmation
|
|
70
71
|
npx agent-ctx clean --dry-run
|
|
71
72
|
```
|
|
72
73
|
|
|
73
74
|
### `agent-ctx doctor`
|
|
74
75
|
|
|
75
|
-
|
|
76
|
+
Checks the integrity of `.context/` and bridge files, offers repairs.
|
|
76
77
|
|
|
77
78
|
```bash
|
|
78
|
-
npx agent-ctx doctor #
|
|
79
|
-
npx agent-ctx doctor --fix #
|
|
79
|
+
npx agent-ctx doctor # Diagnosis only
|
|
80
|
+
npx agent-ctx doctor --fix # Auto-repair
|
|
80
81
|
```
|
|
81
82
|
|
|
82
|
-
## Flags
|
|
83
|
+
## Global Flags
|
|
83
84
|
|
|
84
|
-
| Flag |
|
|
85
|
+
| Flag | Description |
|
|
85
86
|
|------|-------------|
|
|
86
|
-
| `-q, --quiet` |
|
|
87
|
-
| `-v, --version` |
|
|
88
|
-
| `-h, --help` |
|
|
87
|
+
| `-q, --quiet` | Suppress non-essential output |
|
|
88
|
+
| `-v, --version` | Show version |
|
|
89
|
+
| `-h, --help` | Show help |
|
|
89
90
|
|
|
90
|
-
##
|
|
91
|
+
## Project Configuration
|
|
91
92
|
|
|
92
|
-
|
|
93
|
+
Create an `.agent-ctx.json` file in your project root:
|
|
93
94
|
|
|
94
95
|
```json
|
|
95
96
|
{
|
|
96
97
|
"editors": ["cursor", "claude", "copilot"],
|
|
97
|
-
"language": "
|
|
98
|
+
"language": "en",
|
|
98
99
|
"backups": true
|
|
99
100
|
}
|
|
100
101
|
```
|
|
101
102
|
|
|
102
|
-
##
|
|
103
|
+
## Generated Structure
|
|
103
104
|
|
|
104
105
|
```
|
|
105
|
-
|
|
106
|
+
your-project/
|
|
106
107
|
├── .context/
|
|
107
|
-
│ ├── architecture.md # Stack
|
|
108
|
-
│ ├── project_state.md #
|
|
108
|
+
│ ├── architecture.md # Stack and project structure
|
|
109
|
+
│ ├── project_state.md # Current state, TODOs, bugs
|
|
109
110
|
│ ├── rules/
|
|
110
111
|
│ │ └── coding-standards.md
|
|
111
112
|
│ ├── skills/
|
|
@@ -114,19 +115,23 @@ tu-proyecto/
|
|
|
114
115
|
│ │ └── README.md
|
|
115
116
|
│ └── mcp/
|
|
116
117
|
│ └── README.md
|
|
117
|
-
├── AGENTS.md #
|
|
118
|
-
├── CLAUDE.md #
|
|
119
|
-
├── .
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
├── .
|
|
118
|
+
├── AGENTS.md # Master index for agents
|
|
119
|
+
├── CLAUDE.md # Instructions for Claude Code
|
|
120
|
+
├── .cursor/
|
|
121
|
+
│ └── rules/
|
|
122
|
+
│ └── global.md # Bridge for Cursor (modern format)
|
|
123
|
+
├── .agent/
|
|
124
|
+
│ └── rules/
|
|
125
|
+
│ └── context.md # Bridge for Antigravity
|
|
123
126
|
└── .github/
|
|
124
|
-
|
|
127
|
+
├── copilot-instructions.md # Bridge for Copilot (global)
|
|
128
|
+
└── instructions/
|
|
129
|
+
└── context.instructions.md # Bridge for Copilot (scoped)
|
|
125
130
|
```
|
|
126
131
|
|
|
127
|
-
##
|
|
132
|
+
## Contributing
|
|
128
133
|
|
|
129
|
-
|
|
134
|
+
Found a bug or have an idea? Feel free to open an issue or PR.
|
|
130
135
|
|
|
131
136
|
## License
|
|
132
137
|
|
package/dist/commands/add.d.ts
CHANGED
|
@@ -8,5 +8,5 @@ export interface AddOptions {
|
|
|
8
8
|
/**
|
|
9
9
|
* Ejecuta el comando add
|
|
10
10
|
*/
|
|
11
|
-
export declare function addCommand(
|
|
11
|
+
export declare function addCommand(_skillName: string | undefined, _options: AddOptions): Promise<void>;
|
|
12
12
|
//# sourceMappingURL=add.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,UAAU,GACnB,OAAO,CAAC,IAAI,CAAC,CAYf"}
|
package/dist/commands/add.js
CHANGED
|
@@ -6,7 +6,7 @@ import { logger } from '../lib/logger.js';
|
|
|
6
6
|
/**
|
|
7
7
|
* Ejecuta el comando add
|
|
8
8
|
*/
|
|
9
|
-
export async function addCommand(
|
|
9
|
+
export async function addCommand(_skillName, _options) {
|
|
10
10
|
logger.warning('🚧 Comando en desarrollo / Command under development');
|
|
11
11
|
logger.log('\nEl comando "add" está siendo refactorizado para soportar repositorios git y URLs directas.');
|
|
12
12
|
logger.log('The "add" command is being refactored to support git repositories and direct URLs.');
|
package/dist/commands/add.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAM1C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAA8B,EAC9B,QAAoB;IAEpB,MAAM,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC;IACvE,MAAM,CAAC,GAAG,CACR,8FAA8F,CAC/F,CAAC;IACF,MAAM,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAC;IACjG,MAAM,CAAC,GAAG,CACR,sFAAsF,CACvF,CAAC;IACF,MAAM,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;IAErF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* Command: centralize
|
|
3
|
+
* Finds scattered skills and moves them to .context/skills/
|
|
4
4
|
*/
|
|
5
5
|
export interface CentralizeOptions {
|
|
6
6
|
dryRun?: boolean;
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Executes the centralize command
|
|
10
10
|
*/
|
|
11
11
|
export declare function centralizeCommand(directory: string, options: CentralizeOptions): Promise<void>;
|
|
12
12
|
//# sourceMappingURL=centralize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"centralize.d.ts","sourceRoot":"","sources":["../../src/commands/centralize.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"centralize.d.ts","sourceRoot":"","sources":["../../src/commands/centralize.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CA4Gf"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* Command: centralize
|
|
3
|
+
* Finds scattered skills and moves them to .context/skills/
|
|
4
4
|
*/
|
|
5
5
|
import { join } from 'path';
|
|
6
6
|
import { existsSync, readdirSync, rmSync, renameSync, statSync } from 'fs';
|
|
7
7
|
import { logger, startSpinner, succeedSpinner } from '../lib/logger.js';
|
|
8
8
|
import { resolveDirectory, validateNotRoot, ensureDir, EDITOR_FOLDERS } from '../lib/utils.js';
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Executes the centralize command
|
|
11
11
|
*/
|
|
12
12
|
export async function centralizeCommand(directory, options) {
|
|
13
13
|
try {
|
|
@@ -15,21 +15,21 @@ export async function centralizeCommand(directory, options) {
|
|
|
15
15
|
validateNotRoot(targetDir);
|
|
16
16
|
const { dryRun = false } = options;
|
|
17
17
|
// Header
|
|
18
|
-
logger.header('🔄
|
|
19
|
-
logger.log(`\n📁
|
|
18
|
+
logger.header('🔄 Starting Skills centralization');
|
|
19
|
+
logger.log(`\n📁 Working directory: ${targetDir}`);
|
|
20
20
|
if (dryRun) {
|
|
21
|
-
logger.log('🔍
|
|
21
|
+
logger.log('🔍 DRY-RUN mode (simulation only)');
|
|
22
22
|
}
|
|
23
23
|
const contextDir = join(targetDir, '.context');
|
|
24
24
|
const skillsDir = join(contextDir, 'skills');
|
|
25
25
|
const rulesDir = join(contextDir, 'rules');
|
|
26
|
-
//
|
|
26
|
+
// Create directories if they don't exist
|
|
27
27
|
if (!dryRun) {
|
|
28
28
|
ensureDir(skillsDir, { dryRun });
|
|
29
29
|
ensureDir(rulesDir, { dryRun });
|
|
30
30
|
}
|
|
31
|
-
//
|
|
32
|
-
|
|
31
|
+
// Find scattered skills
|
|
32
|
+
startSpinner('Searching for scattered skills...');
|
|
33
33
|
let foundSkills = 0;
|
|
34
34
|
const processedFolders = [];
|
|
35
35
|
for (const folder of EDITOR_FOLDERS) {
|
|
@@ -38,7 +38,7 @@ export async function centralizeCommand(directory, options) {
|
|
|
38
38
|
if (!existsSync(sourceSkills))
|
|
39
39
|
continue;
|
|
40
40
|
processedFolders.push(folder);
|
|
41
|
-
//
|
|
41
|
+
// List skills in folder
|
|
42
42
|
const items = readdirSync(sourceSkills);
|
|
43
43
|
for (const item of items) {
|
|
44
44
|
const itemPath = join(sourceSkills, item);
|
|
@@ -49,7 +49,7 @@ export async function centralizeCommand(directory, options) {
|
|
|
49
49
|
foundSkills++;
|
|
50
50
|
if (existsSync(targetPath)) {
|
|
51
51
|
if (dryRun) {
|
|
52
|
-
logger.dryRun(`
|
|
52
|
+
logger.dryRun(`Would delete redundant copy: ${item}`);
|
|
53
53
|
}
|
|
54
54
|
else {
|
|
55
55
|
rmSync(itemPath, { recursive: true });
|
|
@@ -57,7 +57,7 @@ export async function centralizeCommand(directory, options) {
|
|
|
57
57
|
}
|
|
58
58
|
else {
|
|
59
59
|
if (dryRun) {
|
|
60
|
-
logger.dryRun(`
|
|
60
|
+
logger.dryRun(`Would move: ${item} → .context/skills/`);
|
|
61
61
|
}
|
|
62
62
|
else {
|
|
63
63
|
renameSync(itemPath, targetPath);
|
|
@@ -65,12 +65,12 @@ export async function centralizeCommand(directory, options) {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
if (!dryRun) {
|
|
68
|
-
//
|
|
68
|
+
// Clean empty skills folder
|
|
69
69
|
try {
|
|
70
70
|
rmSync(sourceSkills, { recursive: true });
|
|
71
71
|
}
|
|
72
72
|
catch { }
|
|
73
|
-
//
|
|
73
|
+
// Try to delete editor folder if empty
|
|
74
74
|
try {
|
|
75
75
|
const remaining = readdirSync(folderPath);
|
|
76
76
|
if (remaining.length === 0) {
|
|
@@ -81,10 +81,10 @@ export async function centralizeCommand(directory, options) {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
if (foundSkills === 0) {
|
|
84
|
-
succeedSpinner('No
|
|
84
|
+
succeedSpinner('No scattered skills found');
|
|
85
85
|
}
|
|
86
86
|
else {
|
|
87
|
-
succeedSpinner(`
|
|
87
|
+
succeedSpinner(`Processed ${foundSkills} skills from ${processedFolders.length} folder(s)`);
|
|
88
88
|
if (!dryRun) {
|
|
89
89
|
logger.newline();
|
|
90
90
|
for (const folder of processedFolders) {
|
|
@@ -92,14 +92,14 @@ export async function centralizeCommand(directory, options) {
|
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
-
//
|
|
95
|
+
// Final summary
|
|
96
96
|
if (dryRun) {
|
|
97
|
-
logger.summary('🔍
|
|
98
|
-
logger.log('\
|
|
97
|
+
logger.summary('🔍 SIMULATION COMPLETE', false);
|
|
98
|
+
logger.log('\nRun without --dry-run to apply changes.');
|
|
99
99
|
}
|
|
100
100
|
else {
|
|
101
|
-
logger.summary('🎉
|
|
102
|
-
logger.log('\n📁
|
|
101
|
+
logger.summary('🎉 Centralization complete!');
|
|
102
|
+
logger.log('\n📁 Your project now uses a clean architecture in .context/');
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"centralize.js","sourceRoot":"","sources":["../../src/commands/centralize.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"centralize.js","sourceRoot":"","sources":["../../src/commands/centralize.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/clean.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* Command: clean
|
|
3
|
+
* Removes redundant editor folders
|
|
4
4
|
*/
|
|
5
5
|
export interface CleanOptions {
|
|
6
6
|
yes?: boolean;
|
|
7
7
|
dryRun?: boolean;
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Executes the clean command
|
|
11
11
|
*/
|
|
12
12
|
export declare function cleanCommand(directory: string, options: CleanOptions): Promise<void>;
|
|
13
13
|
//# sourceMappingURL=clean.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../../src/commands/clean.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../../src/commands/clean.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAoH1F"}
|
package/dist/commands/clean.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* Command: clean
|
|
3
|
+
* Removes redundant editor folders
|
|
4
4
|
*/
|
|
5
5
|
import { join } from 'path';
|
|
6
6
|
import { existsSync, readdirSync, rmSync, statSync } from 'fs';
|
|
@@ -8,7 +8,7 @@ import inquirer from 'inquirer';
|
|
|
8
8
|
import { logger, startSpinner, succeedSpinner } from '../lib/logger.js';
|
|
9
9
|
import { resolveDirectory, validateNotRoot, WHITELIST } from '../lib/utils.js';
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* Executes the clean command
|
|
12
12
|
*/
|
|
13
13
|
export async function cleanCommand(directory, options) {
|
|
14
14
|
try {
|
|
@@ -16,23 +16,23 @@ export async function cleanCommand(directory, options) {
|
|
|
16
16
|
validateNotRoot(targetDir);
|
|
17
17
|
const { yes, dryRun } = options;
|
|
18
18
|
// Header
|
|
19
|
-
logger.header('🧹
|
|
20
|
-
logger.log(`\n📁
|
|
19
|
+
logger.header('🧹 Scanning for redundant agent folders');
|
|
20
|
+
logger.log(`\n📁 Working directory: ${targetDir}`);
|
|
21
21
|
if (dryRun) {
|
|
22
|
-
logger.log('🔍
|
|
22
|
+
logger.log('🔍 DRY-RUN mode (simulation only)');
|
|
23
23
|
}
|
|
24
24
|
if (yes) {
|
|
25
25
|
logger.log('🤖 Modo AUTO-CONFIRM');
|
|
26
26
|
}
|
|
27
|
-
//
|
|
28
|
-
|
|
27
|
+
// Find folders to delete
|
|
28
|
+
startSpinner('Searching for redundant folders...');
|
|
29
29
|
const items = readdirSync(targetDir);
|
|
30
30
|
const candidates = [];
|
|
31
31
|
for (const item of items) {
|
|
32
|
-
//
|
|
32
|
+
// Only hidden folders
|
|
33
33
|
if (!item.startsWith('.'))
|
|
34
34
|
continue;
|
|
35
|
-
//
|
|
35
|
+
// Check whitelist
|
|
36
36
|
if (WHITELIST.includes(item))
|
|
37
37
|
continue;
|
|
38
38
|
const itemPath = join(targetDir, item);
|
|
@@ -44,60 +44,60 @@ export async function cleanCommand(directory, options) {
|
|
|
44
44
|
catch {
|
|
45
45
|
continue;
|
|
46
46
|
}
|
|
47
|
-
//
|
|
47
|
+
// Check if it has skills or rules inside
|
|
48
48
|
const hasSkills = existsSync(join(itemPath, 'skills'));
|
|
49
49
|
const hasRules = existsSync(join(itemPath, 'rules'));
|
|
50
50
|
if (hasSkills || hasRules) {
|
|
51
51
|
candidates.push({
|
|
52
52
|
path: itemPath,
|
|
53
53
|
name: item,
|
|
54
|
-
contents: [hasSkills && 'skills', hasRules && 'rules'].filter(Boolean).join(', ')
|
|
54
|
+
contents: [hasSkills && 'skills', hasRules && 'rules'].filter(Boolean).join(', '),
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
//
|
|
58
|
+
// Check if we found anything
|
|
59
59
|
if (candidates.length === 0) {
|
|
60
|
-
succeedSpinner('
|
|
60
|
+
succeedSpinner('All clean! No redundant folders found');
|
|
61
61
|
return;
|
|
62
62
|
}
|
|
63
|
-
succeedSpinner(`
|
|
64
|
-
//
|
|
63
|
+
succeedSpinner(`Found ${candidates.length} redundant folder(s)`);
|
|
64
|
+
// List candidates
|
|
65
65
|
logger.newline();
|
|
66
66
|
logger.divider();
|
|
67
67
|
for (const candidate of candidates) {
|
|
68
|
-
logger.log(` ❌ ${candidate.name} (
|
|
68
|
+
logger.log(` ❌ ${candidate.name} (contains: ${candidate.contents})`);
|
|
69
69
|
}
|
|
70
70
|
logger.divider();
|
|
71
|
-
//
|
|
71
|
+
// Dry-run mode
|
|
72
72
|
if (dryRun) {
|
|
73
|
-
logger.dryRun('
|
|
74
|
-
logger.log('
|
|
73
|
+
logger.dryRun('The folders listed above would be deleted.');
|
|
74
|
+
logger.log('Run without --dry-run to apply changes.');
|
|
75
75
|
return;
|
|
76
76
|
}
|
|
77
|
-
//
|
|
77
|
+
// Confirmation
|
|
78
78
|
if (!yes) {
|
|
79
|
-
logger.log(
|
|
79
|
+
logger.log("\n⚠️ Estas carpetas NO son '.context' y parecen ser generadas por herramientas externas.");
|
|
80
80
|
const { confirm } = await inquirer.prompt([
|
|
81
81
|
{
|
|
82
82
|
type: 'confirm',
|
|
83
83
|
name: 'confirm',
|
|
84
|
-
message: '
|
|
85
|
-
default: false
|
|
86
|
-
}
|
|
84
|
+
message: 'Are you sure you want to PERMANENTLY DELETE these folders?',
|
|
85
|
+
default: false,
|
|
86
|
+
},
|
|
87
87
|
]);
|
|
88
88
|
if (!confirm) {
|
|
89
|
-
logger.success('🛑
|
|
89
|
+
logger.success('🛑 Operation cancelled. Nothing was deleted.');
|
|
90
90
|
return;
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
|
-
//
|
|
94
|
-
|
|
93
|
+
// Delete
|
|
94
|
+
startSpinner('Deleting folders...');
|
|
95
95
|
for (const candidate of candidates) {
|
|
96
96
|
rmSync(candidate.path, { recursive: true });
|
|
97
97
|
}
|
|
98
|
-
succeedSpinner(`
|
|
99
|
-
//
|
|
100
|
-
logger.summary('✨
|
|
98
|
+
succeedSpinner(`Deleted ${candidates.length} folder(s)`);
|
|
99
|
+
// Final summary
|
|
100
|
+
logger.summary('✨ Cleanup completed successfully');
|
|
101
101
|
logger.log(`\nAhora solo usa '.context/'.`);
|
|
102
102
|
}
|
|
103
103
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clean.js","sourceRoot":"","sources":["../../src/commands/clean.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC/D,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAO/E;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,SAAiB,EAAE,OAAqB;IACzE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC9C,eAAe,CAAC,SAAS,CAAC,CAAC;QAE3B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAEhC,SAAS;QACT,MAAM,CAAC,MAAM,CAAC
|
|
1
|
+
{"version":3,"file":"clean.js","sourceRoot":"","sources":["../../src/commands/clean.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC/D,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAO/E;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,SAAiB,EAAE,OAAqB;IACzE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC9C,eAAe,CAAC,SAAS,CAAC,CAAC;QAE3B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAEhC,SAAS;QACT,MAAM,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC;QACzD,MAAM,CAAC,GAAG,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAC;QAEnD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACrC,CAAC;QAED,yBAAyB;QACzB,YAAY,CAAC,oCAAoC,CAAC,CAAC;QAEnD,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,EAAE,CAAC;QAEtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,sBAAsB;YACtB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAEpC,kBAAkB;YAClB,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,SAAS;YAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAEvC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBAAE,SAAS;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YAED,yCAAyC;YACzC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YACvD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YAErD,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;gBAC1B,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,CAAC,SAAS,IAAI,QAAQ,EAAE,QAAQ,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;iBAClF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,cAAc,CAAC,uCAAuC,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,cAAc,CAAC,SAAS,UAAU,CAAC,MAAM,sBAAsB,CAAC,CAAC;QAEjE,kBAAkB;QAClB,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,CAAC,OAAO,EAAE,CAAC;QAEjB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,CAAC,QAAQ,SAAS,CAAC,IAAI,gBAAgB,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,CAAC,OAAO,EAAE,CAAC;QAEjB,eAAe;QACf,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC;YAC5D,MAAM,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,eAAe;QACf,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,CAAC,GAAG,CACR,2FAA2F,CAC5F,CAAC;YAEF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACxC;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,4DAA4D;oBACrE,OAAO,EAAE,KAAK;iBACf;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;QACH,CAAC;QAED,SAAS;QACT,YAAY,CAAC,qBAAqB,CAAC,CAAC;QAEpC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,cAAc,CAAC,WAAW,UAAU,CAAC,MAAM,YAAY,CAAC,CAAC;QAEzD,gBAAgB;QAChB,MAAM,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* Command: doctor
|
|
3
|
+
* Checks integrity of .context and bridge files, offers repairs
|
|
4
4
|
*/
|
|
5
5
|
export interface DoctorOptions {
|
|
6
6
|
fix?: boolean;
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Executes the doctor command
|
|
10
10
|
*/
|
|
11
11
|
export declare function doctorCommand(directory: string, options: DoctorOptions): Promise<void>;
|
|
12
12
|
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAkBD;;GAEG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAsQ5F"}
|