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,197 @@
1
+ /**
2
+ * @fileoverview Wizard interactivo para configuración de proyectos
3
+ * @module lib/wizard
4
+ */
5
+ import inquirer from 'inquirer';
6
+ import { logger } from './logger.js';
7
+ const frameworksByType = {
8
+ frontend: [
9
+ { name: 'React', value: 'react' },
10
+ { name: 'Vue.js', value: 'vue' },
11
+ { name: 'Next.js', value: 'nextjs' },
12
+ { name: 'Nuxt.js', value: 'nuxt' },
13
+ { name: 'Astro', value: 'astro' },
14
+ { name: 'Angular', value: 'angular' },
15
+ { name: 'Svelte/SvelteKit', value: 'svelte' },
16
+ { name: 'Vanilla JS/HTML', value: 'vanilla' }
17
+ ],
18
+ backend: [
19
+ { name: 'Node.js (Express)', value: 'express' },
20
+ { name: 'Node.js (Fastify)', value: 'fastify' },
21
+ { name: 'Node.js (NestJS)', value: 'nestjs' },
22
+ { name: 'Python (FastAPI)', value: 'fastapi' },
23
+ { name: 'Python (Django)', value: 'django' },
24
+ { name: 'PHP (Laravel)', value: 'laravel' },
25
+ { name: 'Go', value: 'go' },
26
+ { name: 'Rust', value: 'rust' }
27
+ ],
28
+ fullstack: [
29
+ { name: 'Next.js', value: 'nextjs' },
30
+ { name: 'Nuxt.js', value: 'nuxt' },
31
+ { name: 'Remix', value: 'remix' },
32
+ { name: 'T3 Stack', value: 't3' },
33
+ { name: 'Laravel + Vue/React', value: 'laravel-inertia' },
34
+ { name: 'Ruby on Rails', value: 'rails' }
35
+ ],
36
+ library: [
37
+ { name: 'TypeScript/JavaScript', value: 'ts-lib' },
38
+ { name: 'Python', value: 'python-lib' },
39
+ { name: 'Rust', value: 'rust-lib' }
40
+ ],
41
+ cli: [
42
+ { name: 'Node.js', value: 'node-cli' },
43
+ { name: 'Python', value: 'python-cli' },
44
+ { name: 'Bash/Shell', value: 'bash' },
45
+ { name: 'Go', value: 'go-cli' }
46
+ ]
47
+ };
48
+ /**
49
+ * Ejecuta el wizard interactivo para configurar el proyecto
50
+ */
51
+ export async function runWizard() {
52
+ logger.header('🧙 Asistente de Configuración');
53
+ const answers = await inquirer.prompt([
54
+ {
55
+ type: 'list',
56
+ name: 'type',
57
+ message: '¿Qué tipo de proyecto es?',
58
+ choices: [
59
+ { name: '🎨 Frontend (web, mobile)', value: 'frontend' },
60
+ { name: '⚙️ Backend (API, servicios)', value: 'backend' },
61
+ { name: '🔄 Fullstack (ambos)', value: 'fullstack' },
62
+ { name: '📦 Librería/Package', value: 'library' },
63
+ { name: '🤖 CLI / Scripts', value: 'cli' }
64
+ ]
65
+ },
66
+ {
67
+ type: 'list',
68
+ name: 'framework',
69
+ message: '¿Cuál es el framework principal?',
70
+ choices: (prevAnswers) => {
71
+ return frameworksByType[prevAnswers.type] || [{ name: 'Otro', value: 'other' }];
72
+ }
73
+ },
74
+ {
75
+ type: 'confirm',
76
+ name: 'typescript',
77
+ message: '¿Usas TypeScript?',
78
+ default: true,
79
+ when: (prevAnswers) => ['frontend', 'backend', 'fullstack', 'library', 'cli'].includes(prevAnswers.type)
80
+ },
81
+ {
82
+ type: 'list',
83
+ name: 'styling',
84
+ message: '¿Qué usas para estilos?',
85
+ choices: [
86
+ { name: 'Tailwind CSS', value: 'tailwind' },
87
+ { name: 'CSS Modules', value: 'css-modules' },
88
+ { name: 'Styled Components', value: 'styled-components' },
89
+ { name: 'Sass/SCSS', value: 'sass' },
90
+ { name: 'CSS Vanilla', value: 'css' },
91
+ { name: 'N/A (Backend)', value: 'none' }
92
+ ],
93
+ when: (prevAnswers) => ['frontend', 'fullstack'].includes(prevAnswers.type)
94
+ },
95
+ {
96
+ type: 'checkbox',
97
+ name: 'features',
98
+ message: '¿Qué características adicionales usas?',
99
+ choices: [
100
+ { name: 'Base de datos (SQL)', value: 'sql' },
101
+ { name: 'Base de datos (NoSQL)', value: 'nosql' },
102
+ { name: 'Autenticación', value: 'auth' },
103
+ { name: 'API REST', value: 'rest' },
104
+ { name: 'GraphQL', value: 'graphql' },
105
+ { name: 'Testing (Jest/Vitest)', value: 'testing' },
106
+ { name: 'Docker', value: 'docker' },
107
+ { name: 'CI/CD', value: 'cicd' },
108
+ { name: 'Monorepo (Turborepo/Nx)', value: 'monorepo' }
109
+ ]
110
+ }
111
+ ]);
112
+ return answers;
113
+ }
114
+ const typeLabels = {
115
+ frontend: 'Frontend',
116
+ backend: 'Backend',
117
+ fullstack: 'Fullstack',
118
+ library: 'Librería',
119
+ cli: 'CLI'
120
+ };
121
+ const frameworkLabels = {
122
+ react: 'React',
123
+ vue: 'Vue.js',
124
+ nextjs: 'Next.js',
125
+ nuxt: 'Nuxt.js',
126
+ express: 'Express.js',
127
+ fastify: 'Fastify',
128
+ nestjs: 'NestJS',
129
+ fastapi: 'FastAPI',
130
+ django: 'Django',
131
+ laravel: 'Laravel'
132
+ };
133
+ /**
134
+ * Genera contenido de architecture.md basado en la configuración
135
+ */
136
+ export function generateArchitecture(config) {
137
+ const { type, framework, typescript = false, styling, features } = config;
138
+ let content = `# 🏗️ Arquitectura del Proyecto
139
+
140
+ ## Objetivo
141
+ <!-- Describe brevemente qué hace tu proyecto -->
142
+ [Pendiente de completar]
143
+
144
+ ## Stack Tecnológico
145
+
146
+ | Categoría | Tecnología |
147
+ |-----------|------------|
148
+ | Tipo | ${typeLabels[type] || type} |
149
+ | Framework | ${frameworkLabels[framework] || framework} |
150
+ | Lenguaje | ${typescript ? 'TypeScript' : 'JavaScript'} |
151
+ `;
152
+ if (styling && styling !== 'none') {
153
+ content += `| Estilos | ${styling} |\n`;
154
+ }
155
+ if (features && features.length > 0) {
156
+ content += `| Features | ${features.join(', ')} |\n`;
157
+ }
158
+ content += `
159
+ ## Estructura de Directorios
160
+
161
+ \`\`\`
162
+ ${framework === 'nextjs' ? `src/
163
+ ├── app/ # App Router
164
+ ├── components/ # Componentes React
165
+ ├── lib/ # Utilidades
166
+ └── styles/ # CSS/Tailwind` :
167
+ framework === 'express' || framework === 'fastify' ? `src/
168
+ ├── routes/ # Endpoints API
169
+ ├── controllers/ # Lógica de negocio
170
+ ├── services/ # Servicios externos
171
+ ├── models/ # Modelos de datos
172
+ └── middleware/ # Middleware` :
173
+ `src/
174
+ ├── components/ # Componentes
175
+ ├── lib/ # Utilidades
176
+ ├── services/ # Servicios
177
+ └── types/ # Tipos TypeScript`}
178
+ \`\`\`
179
+
180
+ ## Patrones Clave
181
+
182
+ ${typescript ? '- **TypeScript estricto**: Sin `any`, interfaces para todo\n' : ''}
183
+ ${features?.includes('testing') ? '- **Testing**: Jest/Vitest para unit tests\n' : ''}
184
+ ${features?.includes('auth') ? '- **Auth**: JWT / OAuth 2.0\n' : ''}
185
+ ${features?.includes('docker') ? '- **Docker**: Contenedores para desarrollo y producción\n' : ''}
186
+
187
+ ## Variables de Entorno
188
+
189
+ \`\`\`bash
190
+ # .env.example
191
+ DATABASE_URL=
192
+ API_KEY=
193
+ \`\`\`
194
+ `;
195
+ return content;
196
+ }
197
+ //# sourceMappingURL=wizard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/lib/wizard.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAYrC,MAAM,gBAAgB,GAA2D;IAC/E,QAAQ,EAAE;QACR,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;QACjC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;QAChC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE;QACpC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;QAClC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;QACjC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC7C,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE;KAC9C;IACD,OAAO,EAAE;QACP,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,SAAS,EAAE;QAC/C,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,SAAS,EAAE;QAC/C,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC7C,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE;QAC9C,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC5C,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE;QAC3C,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;QAC3B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;KAChC;IACD,SAAS,EAAE;QACT,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE;QACpC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;QAClC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;QACjC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE;QACjC,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,iBAAiB,EAAE;QACzD,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE;KAC1C;IACD,OAAO,EAAE;QACP,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,QAAQ,EAAE;QAClD,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE;QACvC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE;KACpC;IACD,GAAG,EAAE;QACH,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE;QACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE;QACvC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE;QACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE;KAChC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,MAAM,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC;IAE/C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACpC;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,2BAA2B;YACpC,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,UAAU,EAAE;gBACxD,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC1D,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,WAAW,EAAE;gBACpD,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE;gBACjD,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE;aAC3C;SACF;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,kCAAkC;YAC3C,OAAO,EAAE,CAAC,WAAkC,EAAE,EAAE;gBAC9C,OAAO,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAClF,CAAC;SACF;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,CAAC,WAAkC,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;SAChI;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,yBAAyB;YAClC,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE;gBAC3C,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;gBAC7C,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE;gBACzD,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE;gBACpC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE;gBACrC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE;aACzC;YACD,IAAI,EAAE,CAAC,WAAkC,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;SACnG;QACD;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,wCAAwC;YACjD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC7C,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,OAAO,EAAE;gBACjD,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE;gBACxC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE;gBACnC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBACrC,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,SAAS,EAAE;gBACnD,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACnC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;gBAChC,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,UAAU,EAAE;aACvD;SACF;KACF,CAAC,CAAC;IAEH,OAAO,OAAwB,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,GAAgC;IAC9C,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,UAAU;IACnB,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,MAAM,eAAe,GAA2B;IAC9C,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAqB;IACxD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,GAAG,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAE1E,IAAI,OAAO,GAAG;;;;;;;;;;WAUL,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI;gBACnB,eAAe,CAAC,SAAS,CAAC,IAAI,SAAS;eACxC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY;CACtD,CAAC;IAEA,IAAI,OAAO,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QAClC,OAAO,IAAI,eAAe,OAAO,MAAM,CAAC;IAC1C,CAAC;IAED,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,gBAAgB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACvD,CAAC;IAED,OAAO,IAAI;;;;EAIX,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;;;;iCAIM,CAAC,CAAC;QACnC,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;;;;;+BAKtB,CAAC,CAAC;YACjC;;;;qCAIqC;;;;;EAKnC,UAAU,CAAC,CAAC,CAAC,8DAA8D,CAAC,CAAC,CAAC,EAAE;EAChF,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,EAAE;EACnF,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE;EACjE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,2DAA2D,CAAC,CAAC,CAAC,EAAE;;;;;;;;;CAShG,CAAC;IAEA,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,63 @@
1
+ {
2
+ "name": "agent-ctx",
3
+ "version": "1.0.0",
4
+ "description": "CLI tool to initialize and manage AI agent context for your projects",
5
+ "keywords": [
6
+ "ai",
7
+ "agent",
8
+ "context",
9
+ "cursor",
10
+ "antigravity",
11
+ "claude",
12
+ "copilot",
13
+ "cline",
14
+ "cli"
15
+ ],
16
+ "author": "avicdro",
17
+ "license": "MIT",
18
+ "type": "module",
19
+ "bin": {
20
+ "agent-ctx": "./dist/bin/agent-ctx.js"
21
+ },
22
+ "main": "./dist/index.js",
23
+ "types": "./dist/index.d.ts",
24
+ "files": [
25
+ "dist",
26
+ "src/templates"
27
+ ],
28
+ "scripts": {
29
+ "build": "tsc",
30
+ "dev": "tsx src/index.ts",
31
+ "test": "npm run build && node --test",
32
+ "lint": "eslint src/",
33
+ "prepublishOnly": "npm run build"
34
+ },
35
+ "dependencies": {
36
+ "chalk": "^5.3.0",
37
+ "commander": "^12.1.0",
38
+ "figlet": "^1.10.0",
39
+ "inquirer": "^9.2.23",
40
+ "ora": "^8.0.1",
41
+ "tar": "^7.5.7"
42
+ },
43
+ "devDependencies": {
44
+ "@types/figlet": "^1.7.0",
45
+ "@types/inquirer": "^9.0.9",
46
+ "@types/node": "^25.1.0",
47
+ "@types/tar": "^6.1.13",
48
+ "eslint": "^9.39.2",
49
+ "tsx": "^4.21.0",
50
+ "typescript": "^5.9.3"
51
+ },
52
+ "engines": {
53
+ "node": ">=18.0.0"
54
+ },
55
+ "repository": {
56
+ "type": "git",
57
+ "url": "https://github.com/avicdro/agent-ctx"
58
+ },
59
+ "bugs": {
60
+ "url": "https://github.com/avicdro/agent-ctx/issues"
61
+ },
62
+ "homepage": "https://github.com/avicdro/agent-ctx#readme"
63
+ }
@@ -0,0 +1,62 @@
1
+ # AI Agent Context
2
+
3
+ > **READ THIS FIRST** — This file is the entry point for any AI agent working on this project.
4
+
5
+ You are a senior expert developer joining this project.
6
+ Your goal is to help build, refactor, and maintain this code by strictly following our architecture and rules.
7
+
8
+ ---
9
+
10
+ ## Knowledge Index
11
+
12
+ Before writing **any** code, you **MUST** read and understand:
13
+
14
+ | Priority | File | Purpose |
15
+ |----------|------|---------|
16
+ | 1 | `.context/architecture.md` | Full tech stack, project structure, data flow |
17
+ | 2 | `.context/rules/coding-standards.md` | Coding conventions, TypeScript rules, naming |
18
+ | 3 | `.context/project_state.md` | Current tasks, TODOs, blockers |
19
+ | 4 | `.context/skills/` | Patterns for React, APIs, testing, etc. |
20
+
21
+ ---
22
+
23
+ ## Memory Bank
24
+
25
+ For session persistence and context continuity, check:
26
+
27
+ - `.context/memory/project_brief.md` — High-level project overview
28
+ - `.context/memory/tech_context.md` — Technical decisions and their rationale
29
+ - `.context/memory/active_context.md` — Current focus and recent changes
30
+ - `.context/memory/progress.md` — Completed work and milestones
31
+
32
+ ---
33
+
34
+ ## Quick Start for Agents
35
+
36
+ 1. **Read** this file completely
37
+ 2. **Open** `.context/architecture.md` to understand the stack
38
+ 3. **Review** `.context/rules/coding-standards.md` for conventions
39
+ 4. **Check** `.context/project_state.md` for current priorities
40
+ 5. **Follow** all patterns in `.context/skills/` when applicable
41
+
42
+ ---
43
+
44
+ ## Project-Specific Instructions
45
+
46
+ <!--
47
+ TODO: Add your project-specific instructions here.
48
+ Examples:
49
+ - "Always use pnpm, not npm"
50
+ - "Run `pnpm test` before committing"
51
+ - "The main branch is protected, use feature branches"
52
+ -->
53
+
54
+ [Add your project-specific instructions here]
55
+
56
+ ---
57
+
58
+ ## Notes
59
+
60
+ - This file was generated by [agent-ctx](https://github.com/avicdro/agent-ctx)
61
+ - Customize all `.context/` files to match your project
62
+ - Keep this file updated as your project evolves
@@ -0,0 +1,90 @@
1
+ # Project Architecture
2
+
3
+ ## Project Goal
4
+
5
+ [Describe in 2-3 lines what your application does and its main purpose.]
6
+
7
+ ## Tech Stack
8
+
9
+ ### Frontend
10
+ | Technology | Version | Purpose |
11
+ |------------|---------|---------|
12
+ | [Framework] | vX.X | [Purpose] |
13
+ | [UI Library] | vX.X | [Purpose] |
14
+ | [State Mgmt] | vX.X | [Purpose] |
15
+
16
+ ### Backend
17
+ | Technology | Version | Purpose |
18
+ |------------|---------|---------|
19
+ | [Runtime/Framework] | vX.X | [Purpose] |
20
+ | [ORM/DB Client] | vX.X | [Purpose] |
21
+ | [Auth] | vX.X | [Purpose] |
22
+
23
+ ### Database
24
+ | Type | Technology | Purpose |
25
+ |------|------------|---------|
26
+ | Primary | [PostgreSQL/MySQL/MongoDB] | App data |
27
+ | Cache | [Redis] | Sessions, cache |
28
+
29
+ ### Infrastructure
30
+ | Service | Purpose |
31
+ |---------|---------|
32
+ | [Vercel/AWS/etc] | Hosting |
33
+ | [Cloudflare/etc] | CDN |
34
+
35
+ ## Directory Structure
36
+
37
+ ```
38
+ project/
39
+ ├── src/ # [Describe what it contains]
40
+ │ ├── components/ # [Describe]
41
+ │ ├── lib/ # [Describe]
42
+ │ ├── pages/ # [Describe]
43
+ │ └── styles/ # [Describe]
44
+ ├── public/ # Static assets
45
+ ├── tests/ # Tests
46
+ └── config/ # Configurations
47
+ ```
48
+
49
+ ## Data Flow
50
+
51
+ ```
52
+ [User] → [UI] → [API/Actions] → [DB] → [Response] → [UI Update]
53
+ ```
54
+
55
+ 1. The user interacts with [component/page]
56
+ 2. [Action/API call] is triggered
57
+ 3. [Service/ORM] processes the request
58
+ 4. [UI update mechanism]
59
+
60
+ ## Authentication and Authorization
61
+
62
+ - **Method**: [JWT/Session/OAuth/etc]
63
+ - **Provider**: [Auth0/Clerk/NextAuth/Custom]
64
+ - **Roles**: [Admin, User, Guest, etc]
65
+
66
+ ## APIs and Endpoints
67
+
68
+ | Method | Endpoint | Description |
69
+ |--------|----------|-------------|
70
+ | GET | `/api/xxx` | Description |
71
+ | POST | `/api/xxx` | Description |
72
+
73
+ ## Critical Dependencies
74
+
75
+ | Package | Why it's important |
76
+ |---------|-------------------|
77
+ | `package-name` | Reason why it's critical |
78
+
79
+ ## Environment Variables
80
+
81
+ | Variable | Description | Required |
82
+ |----------|-------------|----------|
83
+ | `DATABASE_URL` | DB connection | ✅ |
84
+ | `API_KEY` | Service X key | ✅ |
85
+
86
+ ## Project Conventions
87
+
88
+ - **Branches**: `main`, `develop`, `feature/*`, `fix/*`
89
+ - **Commits**: Conventional Commits
90
+ - **Code**: See `.context/rules/coding-standards.md`
@@ -0,0 +1,89 @@
1
+ # AI Bootstrap Prompt
2
+
3
+ > **DELETE THIS FILE** after your AI agent has completed the setup.
4
+ > This is a one-time configuration helper.
5
+
6
+ ---
7
+
8
+ ## Mission
9
+
10
+ You are helping me set up the AI context for this project. Your goal is to **analyze the existing code** and **populate the `.context/` files** with accurate information.
11
+
12
+ ---
13
+
14
+ ## Tasks
15
+
16
+ Please complete the following tasks in order:
17
+
18
+ ### 1. Analyze the Project
19
+
20
+ Scan the codebase and identify:
21
+ - [ ] Programming languages used
22
+ - [ ] Frameworks and libraries (check `package.json`, `requirements.txt`, `go.mod`, etc.)
23
+ - [ ] Directory structure and its purpose
24
+ - [ ] Entry points and main files
25
+ - [ ] Database and external services
26
+ - [ ] Build and test commands
27
+
28
+ ### 2. Update `.context/architecture.md`
29
+
30
+ Based on your analysis, fill in:
31
+ - **Project Goal**: What does this application do?
32
+ - **Tech Stack**: Complete the tables with actual technologies
33
+ - **Directory Structure**: Replace the example with the real structure
34
+ - **Data Flow**: How do requests flow through the system?
35
+ - **APIs**: Document the main endpoints
36
+ - **Environment Variables**: List required env vars
37
+
38
+ ### 3. Update `.context/rules/coding-standards.md`
39
+
40
+ Analyze the existing code style and document:
41
+ - Naming conventions actually used
42
+ - TypeScript/JavaScript patterns
43
+ - Code formatting (tabs vs spaces, line length, etc.)
44
+ - Testing patterns
45
+ - Any linting rules (ESLint, Prettier config)
46
+
47
+ ### 4. Update `.context/project_state.md`
48
+
49
+ Look for TODOs, FIXMEs, and pending work:
50
+ - Current priorities
51
+ - Known issues or bugs
52
+ - Technical debt
53
+ - Planned features
54
+
55
+ ### 5. Populate Memory Bank
56
+
57
+ Update the files in `.context/memory/`:
58
+ - `project_brief.md` — Summarize the project in a few paragraphs
59
+ - `tech_context.md` — Why were these technologies chosen?
60
+ - `active_context.md` — What's being worked on right now?
61
+ - `progress.md` — What's already done?
62
+
63
+ ---
64
+
65
+ ## Completion Checklist
66
+
67
+ When you're done, verify:
68
+
69
+ - [ ] `AGENTS.md` has project-specific instructions added
70
+ - [ ] `.context/architecture.md` reflects the actual stack
71
+ - [ ] `.context/rules/coding-standards.md` matches the codebase style
72
+ - [ ] `.context/project_state.md` has current TODOs
73
+ - [ ] `.context/memory/` files are populated
74
+ - [ ] All `[placeholder]` text has been replaced
75
+
76
+ ---
77
+
78
+ ## After Completion
79
+
80
+ Once setup is complete:
81
+
82
+ 1. Review all generated files
83
+ 2. Make any manual adjustments
84
+ 3. **Delete this file** (`AI_BOOTSTRAP.md`)
85
+ 4. Commit the `.context/` directory to version control
86
+
87
+ ---
88
+
89
+ *This file was generated by agent-ctx. It's a one-time helper and should be deleted after use.*
@@ -0,0 +1,65 @@
1
+ ---
2
+ type: doc-template
3
+ target: .context/docs/{name}.md
4
+ ---
5
+
6
+ # AI Guide
7
+
8
+ You are helping the user create a documentation file. Follow these steps:
9
+ 1. Ask the user about the topic they want to document
10
+ 2. Determine the type of documentation (README, API docs, guide, etc.)
11
+ 3. Gather the necessary information
12
+ 4. Fill in the appropriate template
13
+
14
+ # Questions to Ask
15
+
16
+ 1. What is the purpose of this documentation?
17
+ 2. Who is the target audience (developers, users, ops)?
18
+ 3. What are the main sections you want to include?
19
+ 4. Are there any code examples or commands to include?
20
+ 5. Are there any prerequisites or dependencies to mention?
21
+
22
+ # Template Output - README Style
23
+
24
+ ```markdown
25
+ # {Project/Feature Name}
26
+
27
+ > {Brief description}
28
+
29
+ ## Overview
30
+
31
+ {Detailed description of what this is and why it exists}
32
+
33
+ ## Prerequisites
34
+
35
+ - {Prerequisite 1}
36
+ - {Prerequisite 2}
37
+
38
+ ## Installation
39
+
40
+ {Installation steps}
41
+
42
+ ## Usage
43
+
44
+ {Basic usage examples}
45
+
46
+ ## Configuration
47
+
48
+ | Option | Type | Default | Description |
49
+ |--------|------|---------|-------------|
50
+ | `option1` | string | - | Description |
51
+
52
+ ## Examples
53
+
54
+ {Code examples with explanations}
55
+
56
+ ## Troubleshooting
57
+
58
+ ### Common Issue 1
59
+ {Solution}
60
+
61
+ ## Related Documentation
62
+
63
+ - [Link 1](url)
64
+ - [Link 2](url)
65
+ ```
@@ -0,0 +1,81 @@
1
+ ---
2
+ type: mcp-template
3
+ target: .context/mcp/{name}.md
4
+ ---
5
+
6
+ # AI Guide
7
+
8
+ You are helping the user document an MCP (Model Context Protocol) server configuration. Follow these steps:
9
+ 1. Ask about the MCP server they're using or creating
10
+ 2. Gather the tools/resources it provides
11
+ 3. Document usage patterns and examples
12
+
13
+ # Questions to Ask
14
+
15
+ 1. What is the name of the MCP server?
16
+ 2. What capabilities does it provide (tools, resources, prompts)?
17
+ 3. How is it configured/initialized?
18
+ 4. What are the main commands or tools available?
19
+ 5. Are there any environment variables or secrets needed?
20
+
21
+ # Template Output
22
+
23
+ ```markdown
24
+ # 🔌 MCP Server: {name}
25
+
26
+ > {Brief description of what this server does}
27
+
28
+ ## Overview
29
+
30
+ {What this MCP server provides and why it's useful}
31
+
32
+ ## Installation
33
+
34
+ {How to install or enable this server}
35
+
36
+ ## Configuration
37
+
38
+ ```json
39
+ {
40
+ "mcpServers": {
41
+ "{name}": {
42
+ "command": "{command}",
43
+ "args": ["{args}"],
44
+ "env": {
45
+ "VAR_NAME": "value"
46
+ }
47
+ }
48
+ }
49
+ }
50
+ ```
51
+
52
+ ## Available Tools
53
+
54
+ | Tool | Description | Parameters |
55
+ |------|-------------|------------|
56
+ | `tool_name` | What it does | `param1`, `param2` |
57
+
58
+ ## Available Resources
59
+
60
+ | Resource | URI Pattern | Description |
61
+ |----------|-------------|-------------|
62
+ | `resource_name` | `protocol://path` | What it provides |
63
+
64
+ ## Usage Examples
65
+
66
+ ### Example 1: {Description}
67
+ {How to use a specific tool or resource}
68
+
69
+ ### Example 2: {Description}
70
+ {Another usage example}
71
+
72
+ ## Best Practices
73
+
74
+ - {Best practice 1}
75
+ - {Best practice 2}
76
+
77
+ ## Troubleshooting
78
+
79
+ ### {Common Issue}
80
+ {Solution}
81
+ ```