@wabot-dev/create 0.0.3 → 2.0.0-beta.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 +45 -144
- package/lib/cli.mjs +1 -0
- package/lib/create-project.mjs +185 -75
- package/lib/i18n.mjs +167 -0
- package/lib/skills/framework-source.mjs +68 -0
- package/lib/skills/install.mjs +67 -3
- package/lib/skills/registry.mjs +29 -12
- package/package.json +5 -3
- package/skills/wabot-framework/SKILL.md +0 -32
- package/skills/wabot-framework/agents/openai.yaml +0 -5
- package/skills/wabot-framework/references/async-and-cron.md +0 -57
- package/skills/wabot-framework/references/controllers-and-auth.md +0 -104
- package/skills/wabot-framework/references/core-patterns.md +0 -83
- package/skills/wabot-framework/references/full-example.md +0 -278
- package/skills/wabot-framework/references/mindset-and-chat.md +0 -97
- package/skills/wabot-framework/references/ops.md +0 -58
- package/skills/wabot-framework/references/persistence.md +0 -85
- package/skills/wabot-framework/references/quickstart.md +0 -56
- package/skills/wabot-framework/references/validation-and-data.md +0 -88
package/README.md
CHANGED
|
@@ -1,189 +1,90 @@
|
|
|
1
1
|
# `@wabot-dev/create`
|
|
2
2
|
|
|
3
|
-
CLI para
|
|
3
|
+
CLI para crear un nuevo proyecto Wabot desde el template oficial e instalar las
|
|
4
|
+
skills de agente que **vienen empaquetadas con `@wabot-dev/framework`**.
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
> Las skills ya no viven en este paquete: son propiedad de `@wabot-dev/framework`
|
|
7
|
+
> y se versionan junto con su API. Este CLI las descubre desde el framework
|
|
8
|
+
> instalado en el proyecto y las copia a `.claude/`, `.codex/` y/o `.agents/`.
|
|
7
9
|
|
|
8
|
-
##
|
|
10
|
+
## Uso rápido
|
|
9
11
|
|
|
10
12
|
```bash
|
|
11
|
-
npm
|
|
13
|
+
npm create @wabot-dev my-wabot-app
|
|
14
|
+
# o
|
|
15
|
+
npx @wabot-dev/create my-wabot-app
|
|
12
16
|
```
|
|
13
17
|
|
|
14
|
-
|
|
18
|
+
El asistente pregunta: nombre, almacenamiento (memoria/postgres), proveedores de
|
|
19
|
+
IA e instalación de skills de agente (por defecto sí). Luego:
|
|
15
20
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
21
|
+
1. clona el template oficial,
|
|
22
|
+
2. corre `npm install` (deja `@wabot-dev/framework` en `node_modules`),
|
|
23
|
+
3. copia las skills de ese framework a las carpetas de agente elegidas.
|
|
19
24
|
|
|
20
|
-
|
|
25
|
+
Si no pasás `project-directory`, se pregunta el nombre en modo interactivo.
|
|
21
26
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
create-wabot <project-directory>
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
Ejemplo:
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
create-wabot my-wabot-app
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Variaciones:
|
|
27
|
+
Opciones:
|
|
35
28
|
|
|
36
29
|
```bash
|
|
37
30
|
create-wabot my-wabot-app --db-url "postgres://localhost:5432/wabot"
|
|
38
|
-
create-wabot my-wabot-app --
|
|
39
|
-
create-wabot my-wabot-app --api-key "my-api-key"
|
|
40
|
-
create-wabot my-wabot-app --db-url "postgres://localhost:5432/wabot" --llm-url "http://localhost:3000" --api-key "my-api-key"
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
Si no pasás `project-directory`, el CLI pregunta el nombre del proyecto en modo interactivo.
|
|
44
|
-
|
|
45
|
-
## Comando de skills
|
|
46
|
-
|
|
47
|
-
Instalar una skill empaquetada:
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
create-wabot skill add <skill-name>
|
|
31
|
+
create-wabot my-wabot-app --lang es
|
|
51
32
|
```
|
|
52
33
|
|
|
53
|
-
|
|
34
|
+
## Canal beta
|
|
54
35
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
## Variaciones de `skill add`
|
|
36
|
+
Las builds beta de `@wabot-dev/create` (versión `X.Y.Z-beta.N`) scaffoldean desde
|
|
37
|
+
la rama **`beta`** del template (`wabot-dev/wabot-template#beta`), que fija la
|
|
38
|
+
versión beta del framework. Las builds estables usan la rama por defecto.
|
|
60
39
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
Usa el home del sistema y, si no se indica target, instala para `codex`.
|
|
40
|
+
Para forzar una fuente concreta del template (p. ej. probar una rama antes de
|
|
41
|
+
publicar) usá la variable de entorno:
|
|
64
42
|
|
|
65
43
|
```bash
|
|
66
|
-
create-wabot
|
|
44
|
+
WABOT_TEMPLATE_REF="wabot-dev/wabot-template#beta" create-wabot my-app
|
|
67
45
|
```
|
|
68
46
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
- `<os.homedir()>/.codex/skills/wabot-framework`
|
|
47
|
+
## Skills en un proyecto existente
|
|
72
48
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
49
|
+
Las skills se instalan solas al crear el proyecto. Para **agregarlas o
|
|
50
|
+
actualizarlas** más tarde (por ejemplo tras subir la versión del framework), usá
|
|
51
|
+
el bin que ships el propio framework:
|
|
76
52
|
|
|
77
53
|
```bash
|
|
78
|
-
|
|
54
|
+
npx wabot-skills list # lista las skills empaquetadas
|
|
55
|
+
npx wabot-skills sync # refresca las skills del proyecto a la
|
|
56
|
+
# versión de framework instalada
|
|
57
|
+
npx wabot-skills sync --agents claude,codex
|
|
79
58
|
```
|
|
80
59
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
- `./.agents/skills/wabot-framework`
|
|
60
|
+
`sync` sobrescribe en el lugar (resync); detecta las carpetas de agente ya
|
|
61
|
+
presentes en el proyecto (`.claude`, `.codex`, `.agents`) o usá `--agents`.
|
|
84
62
|
|
|
85
|
-
|
|
63
|
+
## `create-wabot skill add` (instalación puntual)
|
|
86
64
|
|
|
87
|
-
|
|
65
|
+
También podés instalar una skill suelta con este CLI. La fuente es el
|
|
66
|
+
`@wabot-dev/framework` resoluble desde el proyecto/entorno actual.
|
|
88
67
|
|
|
89
68
|
```bash
|
|
90
|
-
create-wabot skill add wabot-framework --
|
|
91
|
-
create-wabot skill add wabot-framework --global --home "C:\\Users\\demo"
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
### 4. Instalación global para un target único
|
|
95
|
-
|
|
96
|
-
```bash
|
|
97
|
-
create-wabot skill add wabot-framework --global --target codex
|
|
69
|
+
create-wabot skill add wabot-framework --local # ./.agents/skills/...
|
|
98
70
|
create-wabot skill add wabot-framework --global --target claude
|
|
99
|
-
create-wabot skill add wabot-framework --global --
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
Con `--home`:
|
|
103
|
-
|
|
104
|
-
```bash
|
|
105
|
-
create-wabot skill add wabot-framework --global --home "C:\\Users\\demo" --target codex
|
|
106
|
-
create-wabot skill add wabot-framework --global --home "C:\\Users\\demo" --target claude
|
|
107
|
-
create-wabot skill add wabot-framework --global --home "C:\\Users\\demo" --target agents
|
|
71
|
+
create-wabot skill add wabot-framework --global --targets agents,codex,claude --home "/Users/demo"
|
|
108
72
|
```
|
|
109
73
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
- `codex` -> `<home>/.codex/skills/wabot-framework`
|
|
113
|
-
- `claude` -> `<home>/.claude/skills/wabot-framework`
|
|
114
|
-
- `agents` -> `<home>/.agents/skills/wabot-framework`
|
|
115
|
-
|
|
116
|
-
### 5. Instalación global para múltiples targets
|
|
117
|
-
|
|
118
|
-
```bash
|
|
119
|
-
create-wabot skill add wabot-framework --global --targets codex,claude
|
|
120
|
-
create-wabot skill add wabot-framework --global --targets agents,codex,claude
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
Con `--home`:
|
|
124
|
-
|
|
125
|
-
```bash
|
|
126
|
-
create-wabot skill add wabot-framework --global --home "C:\\Users\\demo" --targets agents,codex,claude
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
Esto instala la misma skill en múltiples destinos dentro del mismo home root.
|
|
130
|
-
|
|
131
|
-
## Reglas útiles
|
|
74
|
+
Reglas:
|
|
132
75
|
|
|
133
76
|
- `--local` y `--global` son excluyentes.
|
|
134
77
|
- `--home`, `--target` y `--targets` aplican solo con `--global`.
|
|
135
|
-
- Si no se pasa `--target
|
|
136
|
-
- Si el destino ya existe,
|
|
137
|
-
- Si el target no existe en la lista soportada, el comando falla.
|
|
138
|
-
|
|
139
|
-
## Targets soportados
|
|
140
|
-
|
|
141
|
-
```text
|
|
142
|
-
agents
|
|
143
|
-
codex
|
|
144
|
-
claude
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
## Ejemplos completos
|
|
148
|
-
|
|
149
|
-
Crear un proyecto:
|
|
150
|
-
|
|
151
|
-
```bash
|
|
152
|
-
create-wabot my-bot
|
|
153
|
-
```
|
|
78
|
+
- Si no se pasa `--target`/`--targets`, el default es `codex`.
|
|
79
|
+
- Si el destino ya existe, falla y no sobrescribe (usá `wabot-skills sync` para refrescar).
|
|
154
80
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
```bash
|
|
158
|
-
create-wabot my-bot \
|
|
159
|
-
--db-url "postgres://localhost:5432/mybot" \
|
|
160
|
-
--llm-url "http://localhost:3000" \
|
|
161
|
-
--api-key "secret"
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
Instalar la skill local al repo:
|
|
165
|
-
|
|
166
|
-
```bash
|
|
167
|
-
create-wabot skill add wabot-framework --local
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
Instalar la skill para Claude en otro home:
|
|
171
|
-
|
|
172
|
-
```bash
|
|
173
|
-
create-wabot skill add wabot-framework --global --home "C:\\Users\\another-user" --target claude
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
Instalar la skill para varios agentes en el mismo home:
|
|
177
|
-
|
|
178
|
-
```bash
|
|
179
|
-
create-wabot skill add wabot-framework --global --home "C:\\Users\\another-user" --targets agents,codex,claude
|
|
180
|
-
```
|
|
81
|
+
Targets soportados: `agents`, `codex`, `claude`.
|
|
181
82
|
|
|
182
83
|
## Desarrollo
|
|
183
84
|
|
|
184
|
-
Mostrar ayuda:
|
|
185
|
-
|
|
186
85
|
```bash
|
|
86
|
+
npm install # linkea @wabot-dev/framework (file:../wabot-ts) para tests
|
|
87
|
+
npm run test:smoke # smokes del instalador de skills
|
|
187
88
|
node ./bin/create-wabot.mjs --help
|
|
188
89
|
node ./bin/create-wabot.mjs skill add --help
|
|
189
90
|
```
|
package/lib/cli.mjs
CHANGED
|
@@ -12,6 +12,7 @@ export function buildProgram() {
|
|
|
12
12
|
.description('Create a new Wabot project and install packaged Wabot skills')
|
|
13
13
|
.argument('[project-directory]', 'project name')
|
|
14
14
|
.option('--db-url <dbUrl>', 'postgres connection string (used as default when prompting)')
|
|
15
|
+
.option('--lang <code>', 'language for wizard messages (en, es)', 'en')
|
|
15
16
|
.action(async (projectDirectory, options) => {
|
|
16
17
|
await runCreateProjectCommand(projectDirectory, options)
|
|
17
18
|
})
|