agent-sory 1.0.0 → 1.0.1
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 +9 -9
- package/dist/core/prompts/system.d.ts +2 -2
- package/dist/core/prompts/system.d.ts.map +1 -1
- package/dist/core/prompts/system.js +28 -21
- package/dist/core/prompts/system.js.map +1 -1
- package/dist/utils/file-ops.d.ts.map +1 -1
- package/dist/utils/file-ops.js +12 -4
- package/dist/utils/file-ops.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -43,24 +43,24 @@ A few customization ideas to get started:
|
|
|
43
43
|
|
|
44
44
|
## Installation
|
|
45
45
|
|
|
46
|
-
###
|
|
46
|
+
### Via NPM (Recommended)
|
|
47
|
+
```bash
|
|
48
|
+
npm install -g agent-sory
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### For Development
|
|
47
52
|
```bash
|
|
48
53
|
git clone https://github.com/build-with-Sory/Sory-code-cli.git
|
|
49
54
|
cd Sory-code-cli
|
|
50
55
|
npm install
|
|
51
56
|
npm run build
|
|
52
|
-
npm link # Enables the `
|
|
57
|
+
npm link # Enables the `sory` command globally
|
|
53
58
|
```
|
|
54
59
|
|
|
60
|
+
### Run Instantly (No Install)
|
|
55
61
|
```bash
|
|
56
|
-
|
|
57
|
-
npm run dev
|
|
62
|
+
npx agent-sory@latest
|
|
58
63
|
```
|
|
59
|
-
|
|
60
|
-
### Run Instantly
|
|
61
|
-
```bash
|
|
62
|
-
# Using npx, no installation required
|
|
63
|
-
npx Sory-code-cli@latest
|
|
64
64
|
```
|
|
65
65
|
|
|
66
66
|
### Install Globally
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Prompt système
|
|
3
|
-
*
|
|
2
|
+
* Prompt système ÉLITE pour SORY.
|
|
3
|
+
* Ce prompt transforme l'IA en un architecte proactif et autonome.
|
|
4
4
|
*/
|
|
5
5
|
export declare function getSystemPrompt(): string;
|
|
6
6
|
//# sourceMappingURL=system.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/core/prompts/system.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAgB,eAAe,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/core/prompts/system.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAgB,eAAe,IAAI,MAAM,CAsCxC"}
|
|
@@ -1,36 +1,43 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Prompt système
|
|
3
|
-
*
|
|
2
|
+
* Prompt système ÉLITE pour SORY.
|
|
3
|
+
* Ce prompt transforme l'IA en un architecte proactif et autonome.
|
|
4
4
|
*/
|
|
5
5
|
export function getSystemPrompt() {
|
|
6
6
|
const cwd = process.cwd();
|
|
7
|
-
return `Tu es SORY, un
|
|
7
|
+
return `Tu es SORY, un Ingénieur Logiciel Principal et Architecte Système. Tu n'es pas un simple assistant, tu es un partenaire d'ingénierie d'élite.
|
|
8
8
|
|
|
9
9
|
# RÈGLES DE LANGUE
|
|
10
10
|
- **RÉPONDS TOUJOURS EN FRANÇAIS**.
|
|
11
11
|
|
|
12
|
-
#
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
12
|
+
# PHILOSOPHIE D'INGÉNIERIE (LA PUISSANCE SORY)
|
|
13
|
+
1. **PROACTIVITÉ ABSOLUE** : Ne sois jamais passif. Si l'utilisateur demande une petite chose, analyse l'impact sur tout le projet. Anticipe les bugs, les problèmes de performance et de sécurité.
|
|
14
|
+
2. **PLANIFICATION STRUCTURÉE** : Avant de coder, tu DOIS toujours :
|
|
15
|
+
- Analyser les dépendances (quels fichiers sont impactés ?).
|
|
16
|
+
- Proposer une stratégie en 3-4 points clairs.
|
|
17
|
+
- Attendre ou valider mentalement la cohérence.
|
|
18
|
+
3. **ZÉRO BAVARDAGE** : Pas de politesses inutiles. Va droit au but technique. Moins de 3 lignes de texte, sauf pour les rapports d'analyse.
|
|
19
|
+
4. **QUALITÉ DE CODE** : Tu écris du code de niveau production. Modularité, gestion d'erreurs, commentaires utiles (le "pourquoi", pas le "quoi").
|
|
18
20
|
|
|
19
|
-
#
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
3. **PAS DE JSON** : Ne génère jamais de JSON textuel dans tes réponses. Déclenche les outils via l'interface.
|
|
21
|
+
# STRATÉGIE DE RECHERCHE ET EXPLORATION
|
|
22
|
+
- **GitHub & NPM** : Utilise-les systématiquement pour vérifier les dernières versions des librairies.
|
|
23
|
+
- **Investigation** : Si un fichier semble importer un autre fichier inconnu, utilise 'list_files' ou 'glob' immédiatement pour le trouver. Ne dis jamais "Je ne trouve pas", cherche jusqu'à trouver.
|
|
23
24
|
|
|
24
|
-
#
|
|
25
|
-
|
|
25
|
+
# MANDATS TECHNIQUES
|
|
26
|
+
- **Tests** : Après chaque création ou modification de fichier, propose ou crée un test unitaire.
|
|
27
|
+
- **Mémoire** : Utilise 'save_memory' pour chaque décision d'architecture importante.
|
|
28
|
+
- **Pas de JSON** : Ne montre jamais tes outils au format JSON. Utilise-les en silence ou avec une brève explication.
|
|
26
29
|
|
|
27
|
-
#
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
# MODÈLE D'ANALYSE (Sur demande ou au démarrage d'une tâche)
|
|
31
|
+
1. **VUE D'ENSEMBLE** : Diagnostic rapide.
|
|
32
|
+
2. **IMPACT** : Quels composants sont touchés ?
|
|
33
|
+
3. **PRÉDICTION** : Ce qui risque de casser et comment l'éviter.
|
|
34
|
+
4. **PROPOSITION** : La solution optimale.
|
|
31
35
|
|
|
32
36
|
# CONTEXTE
|
|
33
|
-
- Répertoire : ${cwd}
|
|
34
|
-
- Capacités : FS, RipGrep,
|
|
37
|
+
- Répertoire actuel : ${cwd}
|
|
38
|
+
- Capacités : Full FS, RipGrep, Multi-Source Search (GitHub/NPM/Wiki), Long-term Memory.
|
|
39
|
+
|
|
40
|
+
# RÈGLE D'OR
|
|
41
|
+
Agis comme si tu étais le propriétaire du code. Prends soin de sa santé à long terme.`;
|
|
35
42
|
}
|
|
36
43
|
//# sourceMappingURL=system.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/core/prompts/system.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,OAAO
|
|
1
|
+
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/core/prompts/system.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA8Be,GAAG;;;;sFAI2D,CAAC;AACvF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-ops.d.ts","sourceRoot":"","sources":["../../src/utils/file-ops.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe,EAAE,MAAM,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAapI;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO7E;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAsB3F;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,SAAS,GAAE,MAAY,EACvB,OAAO,GAAE,MAAY,EACrB,SAAS,GAAE,OAAe,EAC1B,UAAU,GAAE,OAAe,GAC1B,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"file-ops.d.ts","sourceRoot":"","sources":["../../src/utils/file-ops.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe,EAAE,MAAM,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAapI;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO7E;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAsB3F;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,SAAS,GAAE,MAAY,EACvB,OAAO,GAAE,MAAY,EACrB,SAAS,GAAE,OAAe,EAC1B,UAAU,GAAE,OAAe,GAC1B,OAAO,CAAC,MAAM,CAAC,CA4CjB;AAGD;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CA2BtD"}
|
package/dist/utils/file-ops.js
CHANGED
|
@@ -77,16 +77,24 @@ export async function displayTree(directory = '.', pattern = '*', recursive = fa
|
|
|
77
77
|
return a.name.toLowerCase().localeCompare(b.name.toLowerCase());
|
|
78
78
|
});
|
|
79
79
|
let output = `${path.basename(directoryPath)}/\n`;
|
|
80
|
-
validItems.
|
|
81
|
-
const
|
|
80
|
+
for (let i = 0; i < validItems.length; i++) {
|
|
81
|
+
const item = validItems[i];
|
|
82
|
+
const isLast = i === validItems.length - 1;
|
|
82
83
|
const prefix = isLast ? '└── ' : '├── ';
|
|
83
84
|
if (item.isDirectory()) {
|
|
84
85
|
output += `${prefix}${item.name}/\n`;
|
|
85
86
|
}
|
|
86
87
|
else {
|
|
87
|
-
|
|
88
|
+
try {
|
|
89
|
+
const stats = await fs.promises.stat(path.join(directoryPath, item.name));
|
|
90
|
+
const sizeKb = (stats.size / 1024).toFixed(1);
|
|
91
|
+
output += `${prefix}${item.name} (${sizeKb} KB)\n`;
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
output += `${prefix}${item.name}\n`;
|
|
95
|
+
}
|
|
88
96
|
}
|
|
89
|
-
}
|
|
97
|
+
}
|
|
90
98
|
return output.trim();
|
|
91
99
|
}
|
|
92
100
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-ops.js","sourceRoot":"","sources":["../../src/utils/file-ops.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"file-ops.js","sourceRoot":"","sources":["../../src/utils/file-ops.ts"],"names":[],"mappings":"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"}
|