agent-ctx 1.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.
Files changed (115) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +133 -0
  3. package/dist/bin/agent-ctx.d.ts +7 -0
  4. package/dist/bin/agent-ctx.d.ts.map +1 -0
  5. package/dist/bin/agent-ctx.js +8 -0
  6. package/dist/bin/agent-ctx.js.map +1 -0
  7. package/dist/bin/agentrc.d.ts +7 -0
  8. package/dist/bin/agentrc.d.ts.map +1 -0
  9. package/dist/bin/agentrc.js +8 -0
  10. package/dist/bin/agentrc.js.map +1 -0
  11. package/dist/commands/add.d.ts +12 -0
  12. package/dist/commands/add.d.ts.map +1 -0
  13. package/dist/commands/add.js +17 -0
  14. package/dist/commands/add.js.map +1 -0
  15. package/dist/commands/centralize.d.ts +12 -0
  16. package/dist/commands/centralize.d.ts.map +1 -0
  17. package/dist/commands/centralize.js +111 -0
  18. package/dist/commands/centralize.js.map +1 -0
  19. package/dist/commands/clean.d.ts +13 -0
  20. package/dist/commands/clean.d.ts.map +1 -0
  21. package/dist/commands/clean.js +109 -0
  22. package/dist/commands/clean.js.map +1 -0
  23. package/dist/commands/doctor.d.ts +12 -0
  24. package/dist/commands/doctor.d.ts.map +1 -0
  25. package/dist/commands/doctor.js +168 -0
  26. package/dist/commands/doctor.js.map +1 -0
  27. package/dist/commands/init.d.ts +14 -0
  28. package/dist/commands/init.d.ts.map +1 -0
  29. package/dist/commands/init.js +189 -0
  30. package/dist/commands/init.js.map +1 -0
  31. package/dist/commands/update.d.ts +13 -0
  32. package/dist/commands/update.d.ts.map +1 -0
  33. package/dist/commands/update.js +97 -0
  34. package/dist/commands/update.js.map +1 -0
  35. package/dist/index.d.ts +6 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +76 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/lib/bridges.d.ts +35 -0
  40. package/dist/lib/bridges.d.ts.map +1 -0
  41. package/dist/lib/bridges.js +171 -0
  42. package/dist/lib/bridges.js.map +1 -0
  43. package/dist/lib/config.d.ts +31 -0
  44. package/dist/lib/config.d.ts.map +1 -0
  45. package/dist/lib/config.js +75 -0
  46. package/dist/lib/config.js.map +1 -0
  47. package/dist/lib/i18n.d.ts +22 -0
  48. package/dist/lib/i18n.d.ts.map +1 -0
  49. package/dist/lib/i18n.js +170 -0
  50. package/dist/lib/i18n.js.map +1 -0
  51. package/dist/lib/logger.d.ts +55 -0
  52. package/dist/lib/logger.d.ts.map +1 -0
  53. package/dist/lib/logger.js +168 -0
  54. package/dist/lib/logger.js.map +1 -0
  55. package/dist/lib/templates.d.ts +46 -0
  56. package/dist/lib/templates.d.ts.map +1 -0
  57. package/dist/lib/templates.js +88 -0
  58. package/dist/lib/templates.js.map +1 -0
  59. package/dist/lib/utils.d.ts +39 -0
  60. package/dist/lib/utils.d.ts.map +1 -0
  61. package/dist/lib/utils.js +127 -0
  62. package/dist/lib/utils.js.map +1 -0
  63. package/dist/lib/wizard.d.ts +22 -0
  64. package/dist/lib/wizard.d.ts.map +1 -0
  65. package/dist/lib/wizard.js +197 -0
  66. package/dist/lib/wizard.js.map +1 -0
  67. package/package.json +63 -0
  68. package/src/templates/en/base/_agents.md +62 -0
  69. package/src/templates/en/base/_architecture.md +90 -0
  70. package/src/templates/en/base/_bootstrap.md +89 -0
  71. package/src/templates/en/base/_doc.md +65 -0
  72. package/src/templates/en/base/_mcp.md +81 -0
  73. package/src/templates/en/base/_project_state.md +48 -0
  74. package/src/templates/en/base/_rule.md +56 -0
  75. package/src/templates/en/base/_skill.md +60 -0
  76. package/src/templates/en/docs/doc-readme.md +43 -0
  77. package/src/templates/en/docs/mcp-readme.md +21 -0
  78. package/src/templates/en/memory/active_context.md +38 -0
  79. package/src/templates/en/memory/progress.md +35 -0
  80. package/src/templates/en/memory/project_brief.md +34 -0
  81. package/src/templates/en/memory/tech_context.md +44 -0
  82. package/src/templates/en/rules/rule-coding-standards.md +22 -0
  83. package/src/templates/en/skills/skill-agents.md +74 -0
  84. package/src/templates/en/skills/skill-api.md +117 -0
  85. package/src/templates/en/skills/skill-architecture.md +87 -0
  86. package/src/templates/en/skills/skill-generating.md +116 -0
  87. package/src/templates/en/skills/skill-git.md +109 -0
  88. package/src/templates/en/skills/skill-project-state.md +99 -0
  89. package/src/templates/en/skills/skill-react.md +94 -0
  90. package/src/templates/en/skills/skill-rules.md +100 -0
  91. package/src/templates/en/skills/skill-testing.md +139 -0
  92. package/src/templates/es/base/_agents.md +62 -0
  93. package/src/templates/es/base/_architecture.md +90 -0
  94. package/src/templates/es/base/_bootstrap.md +89 -0
  95. package/src/templates/es/base/_doc.md +65 -0
  96. package/src/templates/es/base/_mcp.md +81 -0
  97. package/src/templates/es/base/_project_state.md +48 -0
  98. package/src/templates/es/base/_rule.md +56 -0
  99. package/src/templates/es/base/_skill.md +60 -0
  100. package/src/templates/es/docs/doc-readme.md +43 -0
  101. package/src/templates/es/docs/mcp-readme.md +21 -0
  102. package/src/templates/es/memory/active_context.md +38 -0
  103. package/src/templates/es/memory/progress.md +35 -0
  104. package/src/templates/es/memory/project_brief.md +34 -0
  105. package/src/templates/es/memory/tech_context.md +44 -0
  106. package/src/templates/es/rules/rule-coding-standards.md +22 -0
  107. package/src/templates/es/skills/skill-agents.md +74 -0
  108. package/src/templates/es/skills/skill-api.md +117 -0
  109. package/src/templates/es/skills/skill-architecture.md +87 -0
  110. package/src/templates/es/skills/skill-generating.md +116 -0
  111. package/src/templates/es/skills/skill-git.md +108 -0
  112. package/src/templates/es/skills/skill-project-state.md +99 -0
  113. package/src/templates/es/skills/skill-react.md +94 -0
  114. package/src/templates/es/skills/skill-rules.md +100 -0
  115. package/src/templates/es/skills/skill-testing.md +139 -0
@@ -0,0 +1,94 @@
1
+ ---
2
+ name: react-patterns
3
+ description: Patrones de componentes React, hooks y mejores prácticas con TypeScript. Usar cuando se crean componentes, custom hooks u optimización de renderizado.
4
+ ---
5
+
6
+ # React Patterns
7
+
8
+ Patrones y mejores prácticas para desarrollo React.
9
+
10
+ ## Cuándo usar
11
+
12
+ - Crear componentes reutilizables
13
+ - Manejar estado complejo
14
+ - Optimizar rendimiento de renderizado
15
+ - Construir custom hooks
16
+
17
+ ## Patrones de Componentes
18
+
19
+ ### Componente Funcional con Props Tipadas
20
+
21
+ ```tsx
22
+ interface ButtonProps {
23
+ variant: 'primary' | 'secondary';
24
+ children: React.ReactNode;
25
+ onClick?: () => void;
26
+ disabled?: boolean;
27
+ }
28
+
29
+ export function Button({ variant, children, onClick, disabled }: ButtonProps) {
30
+ return (
31
+ <button
32
+ className={`btn btn-${variant}`}
33
+ onClick={onClick}
34
+ disabled={disabled}
35
+ >
36
+ {children}
37
+ </button>
38
+ );
39
+ }
40
+ ```
41
+
42
+ ### Custom Hook
43
+
44
+ ```tsx
45
+ function useToggle(initialValue = false) {
46
+ const [value, setValue] = useState(initialValue);
47
+
48
+ const toggle = useCallback(() => setValue(v => !v), []);
49
+ const setTrue = useCallback(() => setValue(true), []);
50
+ const setFalse = useCallback(() => setValue(false), []);
51
+
52
+ return { value, toggle, setTrue, setFalse };
53
+ }
54
+ ```
55
+
56
+ ### Compound Components
57
+
58
+ ```tsx
59
+ const Card = ({ children }) => <div className="card">{children}</div>;
60
+ Card.Header = ({ children }) => <div className="card-header">{children}</div>;
61
+ Card.Body = ({ children }) => <div className="card-body">{children}</div>;
62
+
63
+ // Uso:
64
+ <Card>
65
+ <Card.Header>Título</Card.Header>
66
+ <Card.Body>Contenido</Card.Body>
67
+ </Card>
68
+ ```
69
+
70
+ ## Estructura de Directorios
71
+
72
+ ```
73
+ components/
74
+ ├── ui/ # Componentes base (Button, Input, Modal)
75
+ ├── features/ # Componentes específicos de features
76
+ ├── layouts/ # Layouts y wrappers
77
+ └── hooks/ # Custom hooks reutilizables
78
+ ```
79
+
80
+ ## Mejores prácticas
81
+
82
+ ### ✅ Hacer
83
+
84
+ - Usar `useMemo` y `useCallback` para optimización
85
+ - Tipar todas las props con TypeScript
86
+ - Extraer lógica a custom hooks
87
+ - Composición sobre herencia
88
+
89
+ ### ❌ Evitar
90
+
91
+ - Props drilling excesivo (usar Context)
92
+ - useEffect sin dependencias correctas
93
+ - Estado en el componente incorrecto
94
+ - Listas sin `key`
@@ -0,0 +1,100 @@
1
+ ---
2
+ name: creating-rules
3
+ description: Definir documentación de reglas y estándares de código. Usar cuando se establecen o actualizan convenciones de código, reglas de linter o estándares de equipo.
4
+ ---
5
+
6
+ # Creando Reglas de Código
7
+
8
+ Definir y documentar estándares de código que agentes AI y desarrolladores deben seguir.
9
+
10
+ ## Cuándo usar
11
+
12
+ - Establecer nuevas convenciones de código
13
+ - Documentar estándares de equipo existentes
14
+ - Añadir reglas de linter o formatter
15
+ - Clarificar patrones de código ambiguos
16
+
17
+ ## Estructura del Documento de Regla
18
+
19
+ ```markdown
20
+ # Regla: [Nombre de la Regla]
21
+
22
+ > Descripción breve de la regla
23
+
24
+ ## Por qué existe esta regla
25
+
26
+ [Explica el problema que previene o beneficio que proporciona]
27
+
28
+ ## Requisitos
29
+
30
+ - Requisito 1
31
+ - Requisito 2
32
+
33
+ ## ✅ Ejemplos Correctos
34
+
35
+ [Código mostrando uso correcto]
36
+
37
+ ## ❌ Ejemplos Incorrectos
38
+
39
+ [Código mostrando qué evitar]
40
+
41
+ ## Excepciones
42
+
43
+ [Excepciones válidas o "Sin excepciones"]
44
+
45
+ ## Enforcement
46
+
47
+ - [ ] Regla de linter: [nombre de regla]
48
+ - [ ] Checklist de code review
49
+ - [ ] Test automatizado
50
+ ```
51
+
52
+ ## Categorías Comunes de Reglas
53
+
54
+ ### Estilo de Código
55
+
56
+ - Convenciones de nombres (camelCase, PascalCase)
57
+ - Organización de archivos
58
+ - Orden de imports
59
+ - Estándares de comentarios
60
+
61
+ ### Arquitectura
62
+
63
+ - Estructura de componentes
64
+ - Patrones de gestión de estado
65
+ - Patrones de diseño de API
66
+ - Manejo de errores
67
+
68
+ ### Calidad
69
+
70
+ - Requisitos de cobertura de tests
71
+ - Umbrales de rendimiento
72
+ - Prácticas de seguridad
73
+ - Estándares de accesibilidad
74
+
75
+ ## Escribiendo Reglas Efectivas
76
+
77
+ ### ✅ Hacer
78
+
79
+ - Proporcionar ejemplos concretos
80
+ - Explicar el "por qué" no solo el "qué"
81
+ - Incluir ejemplos correctos e incorrectos
82
+ - Hacer reglas aplicables (linter, tests)
83
+
84
+ ### ❌ Evitar
85
+
86
+ - Requisitos vagos
87
+ - Reglas sin ejemplos
88
+ - Reglas conflictivas
89
+ - Excepciones demasiado estrictas
90
+
91
+ ## Organización de Archivos
92
+
93
+ ```
94
+ .context/
95
+ └── rules/
96
+ ├── coding-standards.md # Estándares principales
97
+ ├── naming-conventions.md # Reglas de nombres
98
+ ├── testing-rules.md # Requisitos de tests
99
+ └── security-rules.md # Prácticas de seguridad
100
+ ```
@@ -0,0 +1,139 @@
1
+ ---
2
+ name: testing-practices
3
+ description: Estrategias de testing, patrones y mejores prácticas con Jest/Vitest. Usar cuando se escriben unit tests, integration tests o mocking de dependencias.
4
+ ---
5
+
6
+ # Testing Practices
7
+
8
+ Estrategias y patrones para testing efectivo.
9
+
10
+ ## Cuándo usar
11
+
12
+ - Escribir unit tests
13
+ - Crear integration tests
14
+ - Mockear dependencias
15
+ - Testear componentes React
16
+
17
+ ## Pirámide de Testing
18
+
19
+ ```
20
+ /\
21
+ / \ E2E Tests (Playwright, Cypress)
22
+ /----\
23
+ / \ Integration Tests
24
+ /--------\
25
+ / \ Unit Tests
26
+ /____________\
27
+ ```
28
+
29
+ ## Unit Tests (Vitest)
30
+
31
+ ### Test Básico
32
+
33
+ ```typescript
34
+ import { describe, it, expect } from 'vitest';
35
+ import { sum } from './sum';
36
+
37
+ describe('sum', () => {
38
+ it('debería sumar dos números positivos', () => {
39
+ expect(sum(1, 2)).toBe(3);
40
+ });
41
+
42
+ it('debería manejar números negativos', () => {
43
+ expect(sum(-1, 1)).toBe(0);
44
+ });
45
+ });
46
+ ```
47
+
48
+ ### Test con Setup/Teardown
49
+
50
+ ```typescript
51
+ describe('UserService', () => {
52
+ let service: UserService;
53
+
54
+ beforeEach(() => {
55
+ service = new UserService();
56
+ });
57
+
58
+ afterEach(() => {
59
+ vi.clearAllMocks();
60
+ });
61
+
62
+ it('debería crear un usuario', async () => {
63
+ const user = await service.create({ name: 'Test' });
64
+ expect(user.id).toBeDefined();
65
+ });
66
+ });
67
+ ```
68
+
69
+ ## Mocking
70
+
71
+ ```typescript
72
+ // Mock de módulo
73
+ vi.mock('./database', () => ({
74
+ query: vi.fn().mockResolvedValue([{ id: 1, name: 'Test' }])
75
+ }));
76
+
77
+ // Mock de función
78
+ const mockFetch = vi.fn().mockResolvedValue({
79
+ json: () => Promise.resolve({ data: 'test' })
80
+ });
81
+
82
+ // Spy
83
+ const spy = vi.spyOn(console, 'log');
84
+ myFunction();
85
+ expect(spy).toHaveBeenCalledWith('mensaje esperado');
86
+ ```
87
+
88
+ ## React Testing Library
89
+
90
+ ```typescript
91
+ import { render, screen, fireEvent } from '@testing-library/react';
92
+
93
+ test('debería mostrar e interactuar con botón', async () => {
94
+ const handleClick = vi.fn();
95
+ render(<Button onClick={handleClick}>Click me</Button>);
96
+
97
+ const button = screen.getByRole('button', { name: /click me/i });
98
+ expect(button).toBeInTheDocument();
99
+
100
+ await fireEvent.click(button);
101
+ expect(handleClick).toHaveBeenCalledTimes(1);
102
+ });
103
+ ```
104
+
105
+ ## Estructura de Tests
106
+
107
+ ```
108
+ __tests__/
109
+ ├── unit/
110
+ │ ├── services/
111
+ │ └── utils/
112
+ ├── integration/
113
+ │ └── api/
114
+ └── e2e/
115
+ └── flows/
116
+ ```
117
+
118
+ ## Mejores prácticas
119
+
120
+ ### ✅ Hacer
121
+
122
+ - Una aserción por test (cuando sea posible)
123
+ - Nombres descriptivos: `debería_X_cuando_Y`
124
+ - Arrange-Act-Assert (AAA)
125
+ - Tests independientes
126
+
127
+ ### ❌ Evitar
128
+
129
+ - Tests que dependen del orden
130
+ - Lógica en tests
131
+ - Tests flaky (intermitentes)
132
+ - Mockear todo indiscriminadamente
133
+
134
+ ## Cobertura Recomendada
135
+
136
+ - Statements: 80%
137
+ - Branches: 75%
138
+ - Functions: 80%
139
+ - Lines: 80%