@samline/notify 0.1.6 → 0.1.8
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 +5 -5
- package/dist/index.cjs.js +0 -11
- package/dist/index.esm.js +0 -11
- package/docs/browser.md +4 -4
- package/package.json +9 -8
- package/rollup.config.mjs +11 -2
- package/.local/agent-index.md +0 -63
- package/.local/deploy-and-release-guide.md +0 -277
- package/.local/lessons.md +0 -76
- package/.local/package-replication-guide.md +0 -501
- package/.local/todo.md +0 -49
- package/AGENTS.md +0 -55
- package/dist/notifications.umd.js +0 -1133
- package/dist/samline.notifications.umd.js +0 -1131
package/README.md
CHANGED
|
@@ -47,8 +47,8 @@ CDN / Browser
|
|
|
47
47
|
Use the browser build when your project loads scripts directly and cannot compile npm modules (Shopify, WordPress, plain HTML). Example CDN usage (replace version):
|
|
48
48
|
|
|
49
49
|
```html
|
|
50
|
-
<script src="https://unpkg.com/@samline/notify@
|
|
51
|
-
<link rel="stylesheet" href="https://unpkg.com/@samline/notify@
|
|
50
|
+
<script src="https://unpkg.com/@samline/notify@0.1.7/dist/notify.umd.js"></script>
|
|
51
|
+
<link rel="stylesheet" href="https://unpkg.com/@samline/notify@0.1.7/dist/styles.css">
|
|
52
52
|
```
|
|
53
53
|
|
|
54
54
|
Entry Points
|
|
@@ -59,7 +59,7 @@ Choose the entrypoint matching your stack so you only import what you need.
|
|
|
59
59
|
| --- | --- | --- |
|
|
60
60
|
| Vanilla JS | `import { default as notifications } from '@samline/notify'` | [docs/vanilla.md](docs/vanilla.md) |
|
|
61
61
|
| Vanilla explicit subpath | `import { sileo } from '@samline/notify/vanilla'` | [docs/vanilla.md](docs/vanilla.md) |
|
|
62
|
-
| Browser / CDN | `<script src="https://unpkg.com/@samline/notify@
|
|
62
|
+
| Browser / CDN | `<script src="https://unpkg.com/@samline/notify@0.1.7/dist/notify.umd.js"></script>` | [docs/browser.md](docs/browser.md) |
|
|
63
63
|
| React | `import { Toaster } from '@samline/notify/react'` | [docs/react.md](docs/react.md) |
|
|
64
64
|
| Vue | `import Notifications from '@samline/notify/vue'` | [docs/vue.md](docs/vue.md) |
|
|
65
65
|
| Svelte | `import Toaster from '@samline/notify/svelte'` | [docs/svelte.md](docs/svelte.md) |
|
|
@@ -69,8 +69,8 @@ Quick Start
|
|
|
69
69
|
Vanilla example (UMD / modules):
|
|
70
70
|
|
|
71
71
|
```html
|
|
72
|
-
<script src="https://unpkg.com/@samline/notify@
|
|
73
|
-
<link rel="stylesheet" href="https://unpkg.com/@samline/notify@
|
|
72
|
+
<script src="https://unpkg.com/@samline/notify@0.1.7/dist/notify.umd.js"></script>
|
|
73
|
+
<link rel="stylesheet" href="https://unpkg.com/@samline/notify@0.1.7/dist/styles.css">
|
|
74
74
|
<script>
|
|
75
75
|
const api = window.notify || window.notifications;
|
|
76
76
|
api.initToasters(document.body, ['top-right']);
|
package/dist/index.cjs.js
CHANGED
|
@@ -413,15 +413,6 @@ class Animation {
|
|
|
413
413
|
}
|
|
414
414
|
}
|
|
415
415
|
|
|
416
|
-
var invariant = function () { };
|
|
417
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
418
|
-
invariant = function (check, message) {
|
|
419
|
-
if (!check) {
|
|
420
|
-
throw new Error(message);
|
|
421
|
-
}
|
|
422
|
-
};
|
|
423
|
-
}
|
|
424
|
-
|
|
425
416
|
/**
|
|
426
417
|
* The MotionValue tracks the state of a single animatable
|
|
427
418
|
* value. Currently, updatedAt and current are unused. The
|
|
@@ -964,8 +955,6 @@ function createAnimate(AnimatePolyfill) {
|
|
|
964
955
|
return function animate(elements, keyframes, options = {}) {
|
|
965
956
|
elements = resolveElements(elements);
|
|
966
957
|
const numElements = elements.length;
|
|
967
|
-
invariant(Boolean(numElements), "No valid element provided.");
|
|
968
|
-
invariant(Boolean(keyframes), "No keyframes defined.");
|
|
969
958
|
/**
|
|
970
959
|
* Create and start new animations
|
|
971
960
|
*/
|
package/dist/index.esm.js
CHANGED
|
@@ -409,15 +409,6 @@ class Animation {
|
|
|
409
409
|
}
|
|
410
410
|
}
|
|
411
411
|
|
|
412
|
-
var invariant = function () { };
|
|
413
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
414
|
-
invariant = function (check, message) {
|
|
415
|
-
if (!check) {
|
|
416
|
-
throw new Error(message);
|
|
417
|
-
}
|
|
418
|
-
};
|
|
419
|
-
}
|
|
420
|
-
|
|
421
412
|
/**
|
|
422
413
|
* The MotionValue tracks the state of a single animatable
|
|
423
414
|
* value. Currently, updatedAt and current are unused. The
|
|
@@ -960,8 +951,6 @@ function createAnimate(AnimatePolyfill) {
|
|
|
960
951
|
return function animate(elements, keyframes, options = {}) {
|
|
961
952
|
elements = resolveElements(elements);
|
|
962
953
|
const numElements = elements.length;
|
|
963
|
-
invariant(Boolean(numElements), "No valid element provided.");
|
|
964
|
-
invariant(Boolean(keyframes), "No keyframes defined.");
|
|
965
954
|
/**
|
|
966
955
|
* Create and start new animations
|
|
967
956
|
*/
|
package/docs/browser.md
CHANGED
|
@@ -5,8 +5,8 @@ Quick start
|
|
|
5
5
|
Include the UMD bundle and stylesheet in a static page:
|
|
6
6
|
|
|
7
7
|
```html
|
|
8
|
-
<link rel="stylesheet" href="https://unpkg.com/@samline/notify@
|
|
9
|
-
<script src="https://unpkg.com/@samline/notify@
|
|
8
|
+
<link rel="stylesheet" href="https://unpkg.com/@samline/notify@0.1.7/dist/styles.css">
|
|
9
|
+
<script src="https://unpkg.com/@samline/notify@0.1.7/dist/notify.umd.js"></script>
|
|
10
10
|
<script>
|
|
11
11
|
const api = window.notify || window.notifications;
|
|
12
12
|
api.initToasters(document.body, ['top-right']);
|
|
@@ -27,8 +27,8 @@ Use the browser build when your project loads scripts directly in the page and c
|
|
|
27
27
|
Example using the UMD build (replace path/version as needed):
|
|
28
28
|
|
|
29
29
|
```html
|
|
30
|
-
<link rel="stylesheet" href="https://unpkg.com/@samline/notify@
|
|
31
|
-
<script src="https://unpkg.com/@samline/notify@
|
|
30
|
+
<link rel="stylesheet" href="https://unpkg.com/@samline/notify@0.1.7/dist/styles.css">
|
|
31
|
+
<script src="https://unpkg.com/@samline/notify@0.1.7/dist/notify.umd.js"></script>
|
|
32
32
|
<script>
|
|
33
33
|
document.addEventListener('DOMContentLoaded', () => {
|
|
34
34
|
const api = window.notify || window.notifications;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@samline/notify",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "Notifications engine inspired by Sileo, with adapters for vanilla, React, Vue and Svelte.",
|
|
5
5
|
"main": "dist/index.cjs.js",
|
|
6
6
|
"module": "dist/index.esm.js",
|
|
@@ -26,22 +26,23 @@
|
|
|
26
26
|
"peerDependencies": {
|
|
27
27
|
"react": ">=18",
|
|
28
28
|
"react-dom": ">=18",
|
|
29
|
-
"
|
|
30
|
-
"
|
|
29
|
+
"svelte": "^5.55.0",
|
|
30
|
+
"vue": "^3.5.31"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@rollup/plugin-commonjs": "^25.0.0",
|
|
34
34
|
"@rollup/plugin-node-resolve": "^15.0.0",
|
|
35
|
+
"@rollup/plugin-replace": "^6.0.3",
|
|
35
36
|
"@rollup/plugin-typescript": "^11.0.0",
|
|
37
|
+
"@types/node": "^20.0.0",
|
|
38
|
+
"@types/react": "^18.2.0",
|
|
39
|
+
"@types/react-dom": "^18.2.0",
|
|
36
40
|
"rollup": "^3.0.0",
|
|
37
|
-
"tslib": "^2.8.1",
|
|
38
41
|
"rollup-plugin-copy": "^3.4.0",
|
|
39
42
|
"svelte-check": "^3.3.0",
|
|
43
|
+
"tslib": "^2.8.1",
|
|
40
44
|
"typescript": "^5.0.0",
|
|
41
|
-
"vitest": "^1.0.0"
|
|
42
|
-
"@types/node": "^20.0.0",
|
|
43
|
-
"@types/react": "^18.2.0",
|
|
44
|
-
"@types/react-dom": "^18.2.0"
|
|
45
|
+
"vitest": "^1.0.0"
|
|
45
46
|
},
|
|
46
47
|
"devDependenciesMeta": {
|
|
47
48
|
"@types/react": {
|
package/rollup.config.mjs
CHANGED
|
@@ -2,6 +2,7 @@ import resolve from '@rollup/plugin-node-resolve';
|
|
|
2
2
|
import commonjs from '@rollup/plugin-commonjs';
|
|
3
3
|
import typescript from '@rollup/plugin-typescript';
|
|
4
4
|
import copy from 'rollup-plugin-copy';
|
|
5
|
+
import replace from '@rollup/plugin-replace';
|
|
5
6
|
|
|
6
7
|
export default [
|
|
7
8
|
// ESM + CJS
|
|
@@ -11,13 +12,21 @@ export default [
|
|
|
11
12
|
{ file: 'dist/index.esm.js', format: 'es', exports: 'named' },
|
|
12
13
|
{ file: 'dist/index.cjs.js', format: 'cjs', exports: 'named' }
|
|
13
14
|
],
|
|
14
|
-
plugins: [
|
|
15
|
+
plugins: [
|
|
16
|
+
replace({
|
|
17
|
+
'process.env.NODE_ENV': JSON.stringify('production'),
|
|
18
|
+
preventAssignment: true
|
|
19
|
+
}),
|
|
20
|
+
resolve(),
|
|
21
|
+
commonjs(),
|
|
22
|
+
typescript({ tsconfig: './tsconfig.json' }),
|
|
15
23
|
copy({
|
|
16
24
|
targets: [
|
|
17
25
|
{ src: 'src/styles/sileo.css', dest: 'dist', rename: 'styles.css' }
|
|
18
26
|
],
|
|
19
27
|
verbose: true
|
|
20
|
-
})
|
|
28
|
+
})
|
|
29
|
+
]
|
|
21
30
|
},
|
|
22
31
|
// UMD build for browser (vanilla DOM use)
|
|
23
32
|
{
|
package/.local/agent-index.md
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# Agent Index
|
|
2
|
-
|
|
3
|
-
## Instrucción Para La IA
|
|
4
|
-
|
|
5
|
-
Este es el índice interno que la IA debe leer después de pasar por AGENTS.md en la raíz del repositorio.
|
|
6
|
-
|
|
7
|
-
La función de este archivo es actuar como índice maestro de los documentos internos en .local y orientar qué archivos revisar según el tipo de tarea.
|
|
8
|
-
|
|
9
|
-
## Regla Principal
|
|
10
|
-
|
|
11
|
-
Antes de comenzar cualquier tarea en este repositorio, la IA debe leer este archivo y usarlo para decidir qué otros documentos internos necesita revisar.
|
|
12
|
-
|
|
13
|
-
La memoria de sesión del chat no debe considerarse la fuente única de verdad para reglas, pendientes, lecciones o preferencias del proyecto. Si la IA guarda algo relevante allí, también debe llevarlo al documento persistente correspondiente dentro de .local.
|
|
14
|
-
|
|
15
|
-
## Nota Sobre AGENTS.md
|
|
16
|
-
|
|
17
|
-
AGENTS.md en la raíz funciona como bootstrap local para dirigir a la IA hacia este índice interno.
|
|
18
|
-
|
|
19
|
-
Ese archivo no debe versionarse ni subirse al repositorio. Debe tratarse como una instrucción local de arranque para la IA.
|
|
20
|
-
|
|
21
|
-
## Índice De Archivos Internos
|
|
22
|
-
|
|
23
|
-
### Siempre revisar según el contexto
|
|
24
|
-
|
|
25
|
-
1. package-replication-guide.md
|
|
26
|
-
Usar cuando se vaya a replicar este scaffold para otro paquete o producto similar.
|
|
27
|
-
|
|
28
|
-
2. deploy-and-release-guide.md
|
|
29
|
-
Usar cuando la tarea implique versionado, release, deploy, publicación npm, tags o GitHub Actions de publicación.
|
|
30
|
-
|
|
31
|
-
3. todo.md
|
|
32
|
-
Usar para revisar tareas pendientes, mejoras futuras, bugs por corregir y trabajo que el usuario dejó explícitamente pendiente.
|
|
33
|
-
|
|
34
|
-
4. lessons.md
|
|
35
|
-
Usar para revisar errores, correcciones, sugerencias y preferencias del usuario que la IA no debe olvidar ni repetir.
|
|
36
|
-
|
|
37
|
-
## Orden Recomendado De Lectura
|
|
38
|
-
|
|
39
|
-
### Si la tarea es general
|
|
40
|
-
|
|
41
|
-
1. agent-index.md
|
|
42
|
-
2. todo.md
|
|
43
|
-
3. lessons.md
|
|
44
|
-
|
|
45
|
-
### Si la tarea es crear un paquete o scaffold nuevo
|
|
46
|
-
|
|
47
|
-
1. agent-index.md
|
|
48
|
-
2. package-replication-guide.md
|
|
49
|
-
3. todo.md
|
|
50
|
-
4. lessons.md
|
|
51
|
-
|
|
52
|
-
### Si la tarea es publicar o hacer release
|
|
53
|
-
|
|
54
|
-
1. agent-index.md
|
|
55
|
-
2. deploy-and-release-guide.md
|
|
56
|
-
3. todo.md
|
|
57
|
-
4. lessons.md
|
|
58
|
-
|
|
59
|
-
## Alcance Actual
|
|
60
|
-
|
|
61
|
-
Por ahora este archivo solo funciona como índice de entrada para la IA.
|
|
62
|
-
|
|
63
|
-
En el futuro puede ampliarse con más instrucciones operativas, prioridades, reglas de lectura o flujos especializados.
|
|
@@ -1,277 +0,0 @@
|
|
|
1
|
-
# Guía Interna De Release, Deploy Y Tags Para La IA
|
|
2
|
-
|
|
3
|
-
## Instrucción Para La IA
|
|
4
|
-
|
|
5
|
-
Este archivo existe para que la IA pueda revisar el proceso correcto de versionado, release, publicación y tags antes de intentar desplegar una nueva versión del paquete.
|
|
6
|
-
|
|
7
|
-
Cuando una conversación pida publicar, desplegar, versionar o empujar un tag, la IA debe leer este documento y validar que el flujo propuesto coincide con el estado real del repositorio.
|
|
8
|
-
|
|
9
|
-
## Objetivo
|
|
10
|
-
|
|
11
|
-
Definir un playbook operativo para:
|
|
12
|
-
|
|
13
|
-
1. revisar si los cambios corresponden a major, minor o patch
|
|
14
|
-
2. actualizar la versión del paquete con criterio semver
|
|
15
|
-
3. preparar el release
|
|
16
|
-
4. empujar el commit y el tag correctos
|
|
17
|
-
5. disparar el workflow de publicación del repositorio
|
|
18
|
-
|
|
19
|
-
## Recomendación Previa Obligatoria
|
|
20
|
-
|
|
21
|
-
Antes de automatizar releases desde GitHub, se recomienda tener ya configurado en GitHub el secreto NPM_TOKEN.
|
|
22
|
-
|
|
23
|
-
Este repositorio ya tiene un workflow de publicación que depende de ese secreto. Si NPM_TOKEN no existe o no tiene permisos válidos, el tag se puede empujar correctamente pero la publicación en npm fallará.
|
|
24
|
-
|
|
25
|
-
## Nota Sobre npm publish --provenance
|
|
26
|
-
|
|
27
|
-
No usar `npm publish --provenance` en este repositorio a menos que primero se configure correctamente trusted publishing entre GitHub Actions y npm.
|
|
28
|
-
|
|
29
|
-
Contexto operativo:
|
|
30
|
-
|
|
31
|
-
1. el workflow llegó a validar tag, instalación, build, typecheck, tests y credenciales npm
|
|
32
|
-
2. aun así, el paso `Publish to npm` falló usando `--provenance`
|
|
33
|
-
3. el publish volvió a funcionar al cambiar el workflow a `npm publish`
|
|
34
|
-
|
|
35
|
-
Regla práctica:
|
|
36
|
-
|
|
37
|
-
1. mientras este repositorio dependa de `NPM_TOKEN`, usar `npm publish`
|
|
38
|
-
2. solo reintroducir `--provenance` si también se configura y verifica trusted publishing end-to-end
|
|
39
|
-
3. si se vuelve a intentar, validar primero en una release real o en documentación oficial actual de npm y GitHub Actions
|
|
40
|
-
|
|
41
|
-
## Flujo Real Del Repositorio
|
|
42
|
-
|
|
43
|
-
El workflow actual publica en npm cuando se hace push de un tag con formato v\*.
|
|
44
|
-
|
|
45
|
-
Resumen del flujo real:
|
|
46
|
-
|
|
47
|
-
1. se activa con push de tags tipo v1.2.3
|
|
48
|
-
2. valida que el tag coincida exactamente con la versión en package.json
|
|
49
|
-
3. ejecuta npm ci
|
|
50
|
-
4. ejecuta build
|
|
51
|
-
5. ejecuta typecheck
|
|
52
|
-
6. ejecuta tests
|
|
53
|
-
7. comprueba si esa versión ya existe en npm
|
|
54
|
-
8. publica con npm publish --provenance usando NPM_TOKEN solo si la versión todavía no existe
|
|
55
|
-
|
|
56
|
-
## Regla Inicial Antes De Versionar
|
|
57
|
-
|
|
58
|
-
La IA no debe subir una nueva versión sin revisar primero el tipo de cambio.
|
|
59
|
-
|
|
60
|
-
Primero debe clasificar los cambios en una de estas categorías:
|
|
61
|
-
|
|
62
|
-
### Patch
|
|
63
|
-
|
|
64
|
-
Usar patch cuando hay:
|
|
65
|
-
|
|
66
|
-
- correcciones de bugs sin romper compatibilidad
|
|
67
|
-
- mejoras internas sin cambios en la API pública
|
|
68
|
-
- documentación o ajustes pequeños si también van acompañados de una corrección publicada
|
|
69
|
-
- fixes de build o testing que no cambian el contrato público
|
|
70
|
-
|
|
71
|
-
Ejemplo:
|
|
72
|
-
|
|
73
|
-
- 0.5.0 -> 0.5.1
|
|
74
|
-
|
|
75
|
-
### Minor
|
|
76
|
-
|
|
77
|
-
Usar minor cuando hay:
|
|
78
|
-
|
|
79
|
-
- nuevas funciones compatibles hacia atrás
|
|
80
|
-
- nuevos exports o nuevos helpers sin romper la API actual
|
|
81
|
-
- soporte adicional para otro entorno o framework sin cambiar contratos existentes
|
|
82
|
-
- mejoras relevantes del producto manteniendo compatibilidad
|
|
83
|
-
|
|
84
|
-
Ejemplo:
|
|
85
|
-
|
|
86
|
-
- 0.5.0 -> 0.6.0
|
|
87
|
-
|
|
88
|
-
### Major
|
|
89
|
-
|
|
90
|
-
Usar major cuando hay:
|
|
91
|
-
|
|
92
|
-
- cambios incompatibles con la API actual
|
|
93
|
-
- eliminación o renombre de funciones públicas
|
|
94
|
-
- cambios de comportamiento que puedan romper consumidores existentes
|
|
95
|
-
- cambios de runtime mínimo o de estrategia de imports que obliguen migración
|
|
96
|
-
|
|
97
|
-
Ejemplo:
|
|
98
|
-
|
|
99
|
-
- 0.5.0 -> 1.0.0
|
|
100
|
-
|
|
101
|
-
## Checklist De Evaluación Semver
|
|
102
|
-
|
|
103
|
-
Antes de decidir la nueva versión, la IA debe responder:
|
|
104
|
-
|
|
105
|
-
1. ¿La API pública cambió de forma incompatible?
|
|
106
|
-
2. ¿Se eliminó o renombró algún export?
|
|
107
|
-
3. ¿Se añadió funcionalidad nueva sin romper compatibilidad?
|
|
108
|
-
4. ¿Solo se corrigieron bugs o detalles internos?
|
|
109
|
-
5. ¿Cambió la versión mínima de Node o alguna dependencia crítica?
|
|
110
|
-
6. ¿Cambió el comportamiento por defecto de una función pública?
|
|
111
|
-
7. ¿La documentación describe una nueva capacidad o una ruptura?
|
|
112
|
-
|
|
113
|
-
Regla práctica:
|
|
114
|
-
|
|
115
|
-
1. Si hay ruptura, major.
|
|
116
|
-
2. Si no hay ruptura pero sí nueva capacidad, minor.
|
|
117
|
-
3. Si solo hay corrección o ajuste compatible, patch.
|
|
118
|
-
|
|
119
|
-
## Secuencia Recomendada De Release
|
|
120
|
-
|
|
121
|
-
### Paso 1: revisar el estado del repositorio
|
|
122
|
-
|
|
123
|
-
La IA debe comprobar:
|
|
124
|
-
|
|
125
|
-
1. rama actual
|
|
126
|
-
2. cambios sin commit
|
|
127
|
-
3. si el branch está alineado con origin
|
|
128
|
-
4. si hay tags locales o remotos pendientes de considerar
|
|
129
|
-
|
|
130
|
-
### Paso 2: revisar el alcance del cambio
|
|
131
|
-
|
|
132
|
-
La IA debe leer el diff o el resumen de cambios y clasificar el release como major, minor o patch.
|
|
133
|
-
|
|
134
|
-
No debe saltar directamente a npm version sin esa revisión.
|
|
135
|
-
|
|
136
|
-
### Paso 3: validar que el repositorio está listo
|
|
137
|
-
|
|
138
|
-
Antes de versionar, comprobar:
|
|
139
|
-
|
|
140
|
-
1. npm run build
|
|
141
|
-
2. npm run typecheck
|
|
142
|
-
3. npm test
|
|
143
|
-
|
|
144
|
-
Si alguno falla, no se debe crear versión ni tag.
|
|
145
|
-
|
|
146
|
-
### Paso 4: actualizar la versión
|
|
147
|
-
|
|
148
|
-
Usar una de estas rutas según el caso:
|
|
149
|
-
|
|
150
|
-
```bash
|
|
151
|
-
npm version patch
|
|
152
|
-
npm version minor
|
|
153
|
-
npm version major
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
Si se requiere controlar el mensaje de commit o separar pasos, la IA puede actualizar package.json manualmente y crear el tag después, pero el camino simple recomendado es usar npm version.
|
|
157
|
-
|
|
158
|
-
### Paso 5: verificar la versión resultante
|
|
159
|
-
|
|
160
|
-
Después de cambiar la versión, confirmar:
|
|
161
|
-
|
|
162
|
-
1. package.json actualizado
|
|
163
|
-
2. commit de versionado creado, si aplica
|
|
164
|
-
3. tag local creado con formato vX.Y.Z
|
|
165
|
-
|
|
166
|
-
### Paso 6: empujar commit y tag
|
|
167
|
-
|
|
168
|
-
Flujo recomendado:
|
|
169
|
-
|
|
170
|
-
```bash
|
|
171
|
-
git push origin main
|
|
172
|
-
git push origin vX.Y.Z
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
También puede usarse:
|
|
176
|
-
|
|
177
|
-
```bash
|
|
178
|
-
git push origin main --follow-tags
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
si el tag ya quedó asociado al commit local correcto.
|
|
182
|
-
|
|
183
|
-
### Paso 7: verificar publicación
|
|
184
|
-
|
|
185
|
-
Una vez empujado el tag, la IA debe confirmar:
|
|
186
|
-
|
|
187
|
-
1. que GitHub Actions se disparó
|
|
188
|
-
2. que el workflow validó el tag contra package.json
|
|
189
|
-
3. que build, typecheck y tests pasaron
|
|
190
|
-
4. que npm publish terminó sin error
|
|
191
|
-
|
|
192
|
-
## Relación Entre Tag Y package.json
|
|
193
|
-
|
|
194
|
-
Este repositorio tiene una validación explícita: el tag debe coincidir exactamente con la versión en package.json.
|
|
195
|
-
|
|
196
|
-
Ejemplo válido:
|
|
197
|
-
|
|
198
|
-
- package.json version: 0.5.1
|
|
199
|
-
- tag: v0.5.1
|
|
200
|
-
|
|
201
|
-
Ejemplos inválidos:
|
|
202
|
-
|
|
203
|
-
- package.json version: 0.5.1 y tag: v0.5.2
|
|
204
|
-
- package.json version: 0.5.1 y tag: 0.5.1
|
|
205
|
-
|
|
206
|
-
Si no coinciden, el workflow falla antes de publicar.
|
|
207
|
-
|
|
208
|
-
## Casos En Los Que No Debe Hacerse Release
|
|
209
|
-
|
|
210
|
-
La IA no debe crear versión nueva si ocurre alguno de estos casos:
|
|
211
|
-
|
|
212
|
-
1. solo hay cambios locales sin commit y no se pidió release real
|
|
213
|
-
2. el tipo de cambio todavía no está claro
|
|
214
|
-
3. build, typecheck o tests fallan
|
|
215
|
-
4. package.json no está alineado con el release propuesto
|
|
216
|
-
5. no existe NPM_TOKEN válido en GitHub y el objetivo es publicar automáticamente
|
|
217
|
-
6. el repositorio local no está en el commit correcto para etiquetar
|
|
218
|
-
|
|
219
|
-
## Comportamiento Cuando La Versión Ya Existe
|
|
220
|
-
|
|
221
|
-
Si la versión del tag ya fue publicada manualmente en npm antes de que corra GitHub Actions, el workflow no debe fallar por intentar republicarla.
|
|
222
|
-
|
|
223
|
-
Debe:
|
|
224
|
-
|
|
225
|
-
1. validar igualmente que tag y package.json coincidan
|
|
226
|
-
2. ejecutar npm ci, build, typecheck y tests
|
|
227
|
-
3. detectar que la versión ya existe en npm
|
|
228
|
-
4. omitir el paso de npm publish sin marcar error
|
|
229
|
-
|
|
230
|
-
Esto evita falsos negativos en releases donde la publicación manual y el tag ocurrieron en momentos distintos.
|
|
231
|
-
|
|
232
|
-
## Recomendación Para Controlar Mejor El Historial
|
|
233
|
-
|
|
234
|
-
Antes de cada release, la IA debería revisar si los cambios del periodo ameritan major, minor o patch para mantener un historial semántico confiable.
|
|
235
|
-
|
|
236
|
-
No conviene tratar todas las publicaciones como patch por costumbre. Eso degrada el valor del versionado y complica la expectativa del consumidor.
|
|
237
|
-
|
|
238
|
-
## Comandos De Referencia
|
|
239
|
-
|
|
240
|
-
### Revisar estado
|
|
241
|
-
|
|
242
|
-
```bash
|
|
243
|
-
git status --short --branch
|
|
244
|
-
git log --oneline --decorate -5
|
|
245
|
-
git tag --sort=-version:refname | head
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
### Validar proyecto antes de release
|
|
249
|
-
|
|
250
|
-
```bash
|
|
251
|
-
npm run build
|
|
252
|
-
npm run typecheck
|
|
253
|
-
npm test
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
### Versionar y publicar por tag
|
|
257
|
-
|
|
258
|
-
```bash
|
|
259
|
-
npm version patch
|
|
260
|
-
git push origin main
|
|
261
|
-
git push origin vX.Y.Z
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
Reemplazar patch por minor o major cuando corresponda.
|
|
265
|
-
|
|
266
|
-
## Regla Operativa Final Para La IA
|
|
267
|
-
|
|
268
|
-
Si una conversación futura pide publicar una nueva versión, la IA debe:
|
|
269
|
-
|
|
270
|
-
1. revisar este documento
|
|
271
|
-
2. clasificar el release como major, minor o patch
|
|
272
|
-
3. verificar build, typecheck y tests
|
|
273
|
-
4. confirmar que package.json y el tag coinciden
|
|
274
|
-
5. empujar commit y tag
|
|
275
|
-
6. asumir que la publicación depende del workflow y del secreto NPM_TOKEN en GitHub
|
|
276
|
-
|
|
277
|
-
No debe tratar release, tag y deploy como un solo paso ciego.
|
package/.local/lessons.md
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
# Lessons
|
|
2
|
-
|
|
3
|
-
## Instrucción Para La IA
|
|
4
|
-
|
|
5
|
-
Este archivo guarda lecciones operativas del proyecto para evitar repetir errores y para mantener presentes las recomendaciones del usuario durante futuras tareas.
|
|
6
|
-
|
|
7
|
-
La IA debe revisarlo antes de ejecutar trabajo importante y actualizarlo cuando el usuario marque un comportamiento como incorrecto, mejorable o deseable.
|
|
8
|
-
|
|
9
|
-
## Qué Debe Guardarse Aquí
|
|
10
|
-
|
|
11
|
-
1. errores de la IA que el usuario indique como tales
|
|
12
|
-
2. comportamientos que no deben repetirse
|
|
13
|
-
3. preferencias explícitas del usuario
|
|
14
|
-
4. recomendaciones prácticas para futuras sesiones
|
|
15
|
-
5. aclaraciones sobre cómo interpretar instrucciones del proyecto
|
|
16
|
-
|
|
17
|
-
## Regla De Uso
|
|
18
|
-
|
|
19
|
-
Solo deben registrarse lecciones confirmadas por el usuario o aprendidas con claridad durante el trabajo en este proyecto.
|
|
20
|
-
|
|
21
|
-
No deben agregarse opiniones vagas ni reglas inventadas.
|
|
22
|
-
|
|
23
|
-
Si la IA guarda en memoria de sesión una lección, preferencia o corrección operativa que deba sobrevivir a la sesión, también debe escribirla aquí para mantener la continuidad del proyecto.
|
|
24
|
-
|
|
25
|
-
## Lecciones Actuales
|
|
26
|
-
|
|
27
|
-
### Persistencia de contexto operativo
|
|
28
|
-
|
|
29
|
-
- lección: la memoria de sesión del chat puede perderse y no debe ser la única ubicación para información operativa importante.
|
|
30
|
-
- implicación: si una nota de sesión corresponde a un pendiente, lección, regla interna o preferencia persistente, la IA debe duplicarla en el archivo adecuado de .local.
|
|
31
|
-
|
|
32
|
-
### Documentos internos para la IA
|
|
33
|
-
|
|
34
|
-
- lección: los archivos dentro de .local son instrucciones internas para la IA, no documentación pública del paquete.
|
|
35
|
-
- implicación: la IA debe tratarlos como notas de operación y referencia antes de actuar.
|
|
36
|
-
|
|
37
|
-
### AGENTS.md local
|
|
38
|
-
|
|
39
|
-
- lección: AGENTS.md en la raíz debe funcionar como instrucción local para la IA, pero no debe subirse al repositorio.
|
|
40
|
-
- implicación: la IA debe mantener AGENTS.md fuera de Git y no asumir que es un archivo destinado a versionarse.
|
|
41
|
-
|
|
42
|
-
### Honestidad sobre el estado de implementación
|
|
43
|
-
|
|
44
|
-
- lección: no afirmar que un cambio quedó escrito si no fue persistido realmente en el workspace.
|
|
45
|
-
- implicación: la IA debe reportar con precisión lo que sí quedó aplicado y lo que sigue pendiente.
|
|
46
|
-
|
|
47
|
-
### Pendientes explícitos
|
|
48
|
-
|
|
49
|
-
- lección: las tareas futuras deben quedar en todo.md solo si el usuario dijo explícitamente que quedan pendientes.
|
|
50
|
-
- implicación: la IA no debe promover ideas implícitas a backlog sin confirmación.
|
|
51
|
-
|
|
52
|
-
### Documentación pública en inglés
|
|
53
|
-
|
|
54
|
-
- lección: la documentación pública del paquete debe escribirse en inglés.
|
|
55
|
-
- implicación: README y docs/ no deben mezclar español en futuras iteraciones.
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
### Versiones del CDN en releases
|
|
59
|
-
|
|
60
|
-
- lección: cuando se cambia la versión publicada del paquete, también deben actualizarse las URLs versionadas del CDN en la documentación pública.
|
|
61
|
-
- implicación: antes de crear commit, tag o release, la IA debe revisar README y docs para confirmar que las referencias usan la misma versión que package.json.
|
|
62
|
-
|
|
63
|
-
### Pre-task reading enforcement
|
|
64
|
-
|
|
65
|
-
- lección: la IA debe leer `.local/agent-index.md` antes de comenzar cualquier tarea en el repositorio.
|
|
66
|
-
- implicación: si la IA inicia trabajo sin haber leído `agent-index.md`, debe reconocer el error, corregirlo, y anotar la lección en este archivo para evitar repetirla.
|
|
67
|
-
|
|
68
|
-
Ejemplo de corrección aplicada: la IA inició la implementación inicial del paquete sin leer `agent-index.md` primero; al detectarlo, leyó `agent-index.md`, actualizó `.local/lessons.md` con esta lección y continuará aplicando la regla en tareas futuras.
|
|
69
|
-
|
|
70
|
-
## Cómo Añadir Nuevas Lecciones
|
|
71
|
-
|
|
72
|
-
Usar bloques simples con:
|
|
73
|
-
|
|
74
|
-
- situación
|
|
75
|
-
- error o preferencia detectada
|
|
76
|
-
- regla a mantener en adelante
|