javi-forge 0.1.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 (500) hide show
  1. package/.gitignore.template +105 -0
  2. package/.releaserc +44 -0
  3. package/README.md +45 -0
  4. package/ai-config/.skillignore +15 -0
  5. package/ai-config/AUTO_INVOKE.md +300 -0
  6. package/ai-config/agents/_TEMPLATE.md +93 -0
  7. package/ai-config/agents/business/api-designer.md +1657 -0
  8. package/ai-config/agents/business/business-analyst.md +1331 -0
  9. package/ai-config/agents/business/product-strategist.md +206 -0
  10. package/ai-config/agents/business/project-manager.md +178 -0
  11. package/ai-config/agents/business/requirements-analyst.md +1277 -0
  12. package/ai-config/agents/business/technical-writer.md +1679 -0
  13. package/ai-config/agents/creative/ux-designer.md +205 -0
  14. package/ai-config/agents/data-ai/ai-engineer.md +487 -0
  15. package/ai-config/agents/data-ai/analytics-engineer.md +953 -0
  16. package/ai-config/agents/data-ai/data-engineer.md +173 -0
  17. package/ai-config/agents/data-ai/data-scientist.md +672 -0
  18. package/ai-config/agents/data-ai/mlops-engineer.md +814 -0
  19. package/ai-config/agents/data-ai/prompt-engineer.md +772 -0
  20. package/ai-config/agents/development/angular-expert.md +620 -0
  21. package/ai-config/agents/development/backend-architect.md +795 -0
  22. package/ai-config/agents/development/database-specialist.md +212 -0
  23. package/ai-config/agents/development/frontend-specialist.md +686 -0
  24. package/ai-config/agents/development/fullstack-engineer.md +668 -0
  25. package/ai-config/agents/development/golang-pro.md +338 -0
  26. package/ai-config/agents/development/java-enterprise.md +400 -0
  27. package/ai-config/agents/development/javascript-pro.md +422 -0
  28. package/ai-config/agents/development/nextjs-pro.md +474 -0
  29. package/ai-config/agents/development/python-pro.md +570 -0
  30. package/ai-config/agents/development/react-pro.md +487 -0
  31. package/ai-config/agents/development/rust-pro.md +246 -0
  32. package/ai-config/agents/development/spring-boot-4-expert.md +326 -0
  33. package/ai-config/agents/development/typescript-pro.md +336 -0
  34. package/ai-config/agents/development/vue-specialist.md +605 -0
  35. package/ai-config/agents/infrastructure/cloud-architect.md +472 -0
  36. package/ai-config/agents/infrastructure/deployment-manager.md +358 -0
  37. package/ai-config/agents/infrastructure/devops-engineer.md +455 -0
  38. package/ai-config/agents/infrastructure/incident-responder.md +519 -0
  39. package/ai-config/agents/infrastructure/kubernetes-expert.md +705 -0
  40. package/ai-config/agents/infrastructure/monitoring-specialist.md +674 -0
  41. package/ai-config/agents/infrastructure/performance-engineer.md +658 -0
  42. package/ai-config/agents/orchestrator.md +241 -0
  43. package/ai-config/agents/quality/accessibility-auditor.md +1204 -0
  44. package/ai-config/agents/quality/code-reviewer-compact.md +123 -0
  45. package/ai-config/agents/quality/code-reviewer.md +363 -0
  46. package/ai-config/agents/quality/dependency-manager.md +743 -0
  47. package/ai-config/agents/quality/e2e-test-specialist.md +1005 -0
  48. package/ai-config/agents/quality/performance-tester.md +1086 -0
  49. package/ai-config/agents/quality/security-auditor.md +133 -0
  50. package/ai-config/agents/quality/test-engineer.md +453 -0
  51. package/ai-config/agents/specialists/api-designer.md +87 -0
  52. package/ai-config/agents/specialists/backend-architect.md +73 -0
  53. package/ai-config/agents/specialists/code-reviewer.md +77 -0
  54. package/ai-config/agents/specialists/db-optimizer.md +75 -0
  55. package/ai-config/agents/specialists/devops-engineer.md +83 -0
  56. package/ai-config/agents/specialists/documentation-writer.md +78 -0
  57. package/ai-config/agents/specialists/frontend-developer.md +75 -0
  58. package/ai-config/agents/specialists/performance-analyst.md +82 -0
  59. package/ai-config/agents/specialists/refactor-specialist.md +74 -0
  60. package/ai-config/agents/specialists/security-auditor.md +74 -0
  61. package/ai-config/agents/specialists/test-engineer.md +81 -0
  62. package/ai-config/agents/specialists/ux-consultant.md +76 -0
  63. package/ai-config/agents/specialized/agent-generator.md +1190 -0
  64. package/ai-config/agents/specialized/blockchain-developer.md +149 -0
  65. package/ai-config/agents/specialized/code-migrator.md +892 -0
  66. package/ai-config/agents/specialized/context-manager.md +978 -0
  67. package/ai-config/agents/specialized/documentation-writer.md +1078 -0
  68. package/ai-config/agents/specialized/ecommerce-expert.md +1756 -0
  69. package/ai-config/agents/specialized/embedded-engineer.md +1714 -0
  70. package/ai-config/agents/specialized/error-detective.md +1034 -0
  71. package/ai-config/agents/specialized/fintech-specialist.md +1659 -0
  72. package/ai-config/agents/specialized/freelance-project-planner-v2.md +1988 -0
  73. package/ai-config/agents/specialized/freelance-project-planner-v3.md +2136 -0
  74. package/ai-config/agents/specialized/freelance-project-planner-v4.md +4503 -0
  75. package/ai-config/agents/specialized/freelance-project-planner.md +722 -0
  76. package/ai-config/agents/specialized/game-developer.md +1963 -0
  77. package/ai-config/agents/specialized/healthcare-dev.md +1620 -0
  78. package/ai-config/agents/specialized/mobile-developer.md +188 -0
  79. package/ai-config/agents/specialized/parallel-plan-executor.md +506 -0
  80. package/ai-config/agents/specialized/plan-executor.md +485 -0
  81. package/ai-config/agents/specialized/solo-dev-planner-modular/00-INDEX.md +485 -0
  82. package/ai-config/agents/specialized/solo-dev-planner-modular/01-CORE.md +3493 -0
  83. package/ai-config/agents/specialized/solo-dev-planner-modular/02-SELF-CORRECTION.md +778 -0
  84. package/ai-config/agents/specialized/solo-dev-planner-modular/03-PROGRESSIVE-SETUP.md +918 -0
  85. package/ai-config/agents/specialized/solo-dev-planner-modular/04-DEPLOYMENT.md +1537 -0
  86. package/ai-config/agents/specialized/solo-dev-planner-modular/05-TESTING.md +2633 -0
  87. package/ai-config/agents/specialized/solo-dev-planner-modular/06-OPERATIONS.md +5610 -0
  88. package/ai-config/agents/specialized/solo-dev-planner-modular/INSTALL.md +335 -0
  89. package/ai-config/agents/specialized/solo-dev-planner-modular/QUICK-REFERENCE.txt +215 -0
  90. package/ai-config/agents/specialized/solo-dev-planner-modular/README.md +260 -0
  91. package/ai-config/agents/specialized/solo-dev-planner-modular/START-HERE.md +379 -0
  92. package/ai-config/agents/specialized/solo-dev-planner-modular/WORKFLOW-DIAGRAM.md +355 -0
  93. package/ai-config/agents/specialized/solo-dev-planner-modular/solo-dev-planner.md +279 -0
  94. package/ai-config/agents/specialized/template-writer.md +347 -0
  95. package/ai-config/agents/specialized/test-runner.md +99 -0
  96. package/ai-config/agents/specialized/vibekanban-smart-worker.md +244 -0
  97. package/ai-config/agents/specialized/wave-executor.md +138 -0
  98. package/ai-config/agents/specialized/workflow-optimizer.md +1114 -0
  99. package/ai-config/commands/git/changelog.md +32 -0
  100. package/ai-config/commands/git/ci-local.md +70 -0
  101. package/ai-config/commands/git/commit.md +35 -0
  102. package/ai-config/commands/git/fix-issue.md +23 -0
  103. package/ai-config/commands/git/pr-create.md +42 -0
  104. package/ai-config/commands/git/pr-review.md +50 -0
  105. package/ai-config/commands/git/worktree.md +39 -0
  106. package/ai-config/commands/refactoring/cleanup.md +24 -0
  107. package/ai-config/commands/refactoring/dead-code.md +40 -0
  108. package/ai-config/commands/refactoring/extract.md +31 -0
  109. package/ai-config/commands/testing/e2e.md +30 -0
  110. package/ai-config/commands/testing/tdd.md +36 -0
  111. package/ai-config/commands/testing/test-coverage.md +30 -0
  112. package/ai-config/commands/testing/test-fix.md +24 -0
  113. package/ai-config/commands/workflow/generate-agents-md.md +85 -0
  114. package/ai-config/commands/workflow/planning.md +47 -0
  115. package/ai-config/commands/workflows/compound.md +89 -0
  116. package/ai-config/commands/workflows/plan.md +77 -0
  117. package/ai-config/commands/workflows/review.md +78 -0
  118. package/ai-config/commands/workflows/work.md +75 -0
  119. package/ai-config/config.yaml +18 -0
  120. package/ai-config/hooks/_TEMPLATE.md +96 -0
  121. package/ai-config/hooks/block-dangerous-commands.md +75 -0
  122. package/ai-config/hooks/commit-guard.md +90 -0
  123. package/ai-config/hooks/context-loader.md +73 -0
  124. package/ai-config/hooks/improve-prompt.md +91 -0
  125. package/ai-config/hooks/learning-log.md +72 -0
  126. package/ai-config/hooks/model-router.md +86 -0
  127. package/ai-config/hooks/secret-scanner.md +64 -0
  128. package/ai-config/hooks/skill-validator.md +102 -0
  129. package/ai-config/hooks/task-artifact.md +114 -0
  130. package/ai-config/hooks/validate-workflow.md +100 -0
  131. package/ai-config/prompts/base.md +71 -0
  132. package/ai-config/prompts/modes/debug.md +34 -0
  133. package/ai-config/prompts/modes/deploy.md +40 -0
  134. package/ai-config/prompts/modes/research.md +32 -0
  135. package/ai-config/prompts/modes/review.md +33 -0
  136. package/ai-config/prompts/review-policy.md +79 -0
  137. package/ai-config/skills/_TEMPLATE.md +157 -0
  138. package/ai-config/skills/backend/api-gateway/SKILL.md +254 -0
  139. package/ai-config/skills/backend/bff-concepts/SKILL.md +239 -0
  140. package/ai-config/skills/backend/bff-spring/SKILL.md +364 -0
  141. package/ai-config/skills/backend/chi-router/SKILL.md +396 -0
  142. package/ai-config/skills/backend/error-handling/SKILL.md +255 -0
  143. package/ai-config/skills/backend/exceptions-spring/SKILL.md +323 -0
  144. package/ai-config/skills/backend/fastapi/SKILL.md +302 -0
  145. package/ai-config/skills/backend/gateway-spring/SKILL.md +390 -0
  146. package/ai-config/skills/backend/go-backend/SKILL.md +457 -0
  147. package/ai-config/skills/backend/gradle-multimodule/SKILL.md +274 -0
  148. package/ai-config/skills/backend/graphql-concepts/SKILL.md +352 -0
  149. package/ai-config/skills/backend/graphql-spring/SKILL.md +398 -0
  150. package/ai-config/skills/backend/grpc-concepts/SKILL.md +283 -0
  151. package/ai-config/skills/backend/grpc-spring/SKILL.md +445 -0
  152. package/ai-config/skills/backend/jwt-auth/SKILL.md +412 -0
  153. package/ai-config/skills/backend/notifications-concepts/SKILL.md +259 -0
  154. package/ai-config/skills/backend/recommendations-concepts/SKILL.md +261 -0
  155. package/ai-config/skills/backend/search-concepts/SKILL.md +263 -0
  156. package/ai-config/skills/backend/search-spring/SKILL.md +375 -0
  157. package/ai-config/skills/backend/spring-boot-4/SKILL.md +172 -0
  158. package/ai-config/skills/backend/websockets/SKILL.md +532 -0
  159. package/ai-config/skills/data-ai/ai-ml/SKILL.md +423 -0
  160. package/ai-config/skills/data-ai/analytics-concepts/SKILL.md +195 -0
  161. package/ai-config/skills/data-ai/analytics-spring/SKILL.md +340 -0
  162. package/ai-config/skills/data-ai/duckdb-analytics/SKILL.md +440 -0
  163. package/ai-config/skills/data-ai/langchain/SKILL.md +238 -0
  164. package/ai-config/skills/data-ai/mlflow/SKILL.md +302 -0
  165. package/ai-config/skills/data-ai/onnx-inference/SKILL.md +290 -0
  166. package/ai-config/skills/data-ai/powerbi/SKILL.md +352 -0
  167. package/ai-config/skills/data-ai/pytorch/SKILL.md +274 -0
  168. package/ai-config/skills/data-ai/scikit-learn/SKILL.md +321 -0
  169. package/ai-config/skills/data-ai/vector-db/SKILL.md +301 -0
  170. package/ai-config/skills/database/graph-databases/SKILL.md +218 -0
  171. package/ai-config/skills/database/graph-spring/SKILL.md +361 -0
  172. package/ai-config/skills/database/pgx-postgres/SKILL.md +512 -0
  173. package/ai-config/skills/database/redis-cache/SKILL.md +343 -0
  174. package/ai-config/skills/database/sqlite-embedded/SKILL.md +388 -0
  175. package/ai-config/skills/database/timescaledb/SKILL.md +320 -0
  176. package/ai-config/skills/docs/api-documentation/SKILL.md +293 -0
  177. package/ai-config/skills/docs/docs-spring/SKILL.md +377 -0
  178. package/ai-config/skills/docs/mustache-templates/SKILL.md +190 -0
  179. package/ai-config/skills/docs/technical-docs/SKILL.md +447 -0
  180. package/ai-config/skills/frontend/astro-ssr/SKILL.md +441 -0
  181. package/ai-config/skills/frontend/frontend-design/SKILL.md +54 -0
  182. package/ai-config/skills/frontend/frontend-web/SKILL.md +368 -0
  183. package/ai-config/skills/frontend/mantine-ui/SKILL.md +396 -0
  184. package/ai-config/skills/frontend/tanstack-query/SKILL.md +439 -0
  185. package/ai-config/skills/frontend/zod-validation/SKILL.md +417 -0
  186. package/ai-config/skills/frontend/zustand-state/SKILL.md +350 -0
  187. package/ai-config/skills/infrastructure/chaos-engineering/SKILL.md +244 -0
  188. package/ai-config/skills/infrastructure/chaos-spring/SKILL.md +378 -0
  189. package/ai-config/skills/infrastructure/devops-infra/SKILL.md +435 -0
  190. package/ai-config/skills/infrastructure/docker-containers/SKILL.md +420 -0
  191. package/ai-config/skills/infrastructure/kubernetes/SKILL.md +456 -0
  192. package/ai-config/skills/infrastructure/opentelemetry/SKILL.md +546 -0
  193. package/ai-config/skills/infrastructure/traefik-proxy/SKILL.md +474 -0
  194. package/ai-config/skills/infrastructure/woodpecker-ci/SKILL.md +315 -0
  195. package/ai-config/skills/mobile/ionic-capacitor/SKILL.md +504 -0
  196. package/ai-config/skills/mobile/mobile-ionic/SKILL.md +448 -0
  197. package/ai-config/skills/prompt-improver/SKILL.md +125 -0
  198. package/ai-config/skills/quality/ghagga-review/SKILL.md +216 -0
  199. package/ai-config/skills/references/hooks-patterns/SKILL.md +238 -0
  200. package/ai-config/skills/references/mcp-servers/SKILL.md +275 -0
  201. package/ai-config/skills/references/plugins-reference/SKILL.md +110 -0
  202. package/ai-config/skills/references/skills-reference/SKILL.md +420 -0
  203. package/ai-config/skills/references/subagent-templates/SKILL.md +193 -0
  204. package/ai-config/skills/systems-iot/modbus-protocol/SKILL.md +410 -0
  205. package/ai-config/skills/systems-iot/mqtt-rumqttc/SKILL.md +408 -0
  206. package/ai-config/skills/systems-iot/rust-systems/SKILL.md +386 -0
  207. package/ai-config/skills/systems-iot/tokio-async/SKILL.md +324 -0
  208. package/ai-config/skills/testing/playwright-e2e/SKILL.md +289 -0
  209. package/ai-config/skills/testing/testcontainers/SKILL.md +299 -0
  210. package/ai-config/skills/testing/vitest-testing/SKILL.md +381 -0
  211. package/ai-config/skills/workflow/ci-local-guide/SKILL.md +118 -0
  212. package/ai-config/skills/workflow/claude-automation-recommender/SKILL.md +299 -0
  213. package/ai-config/skills/workflow/claude-md-improver/SKILL.md +158 -0
  214. package/ai-config/skills/workflow/finishing-a-development-branch/SKILL.md +117 -0
  215. package/ai-config/skills/workflow/git-github/SKILL.md +334 -0
  216. package/ai-config/skills/workflow/git-github/references/examples.md +160 -0
  217. package/ai-config/skills/workflow/git-workflow/SKILL.md +214 -0
  218. package/ai-config/skills/workflow/ide-plugins/SKILL.md +277 -0
  219. package/ai-config/skills/workflow/ide-plugins-intellij/SKILL.md +401 -0
  220. package/ai-config/skills/workflow/obsidian-brain-workflow/SKILL.md +199 -0
  221. package/ai-config/skills/workflow/using-git-worktrees/SKILL.md +100 -0
  222. package/ai-config/skills/workflow/verification-before-completion/SKILL.md +73 -0
  223. package/ai-config/skills/workflow/wave-workflow/SKILL.md +178 -0
  224. package/ci-local/README.md +170 -0
  225. package/ci-local/ci-local.sh +297 -0
  226. package/ci-local/hooks/commit-msg +74 -0
  227. package/ci-local/hooks/pre-commit +162 -0
  228. package/ci-local/hooks/pre-push +41 -0
  229. package/ci-local/install.sh +49 -0
  230. package/ci-local/semgrep.yml +214 -0
  231. package/dist/commands/analyze.d.ts +9 -0
  232. package/dist/commands/analyze.d.ts.map +1 -0
  233. package/dist/commands/analyze.js +55 -0
  234. package/dist/commands/analyze.js.map +1 -0
  235. package/dist/commands/analyze.test.d.ts +2 -0
  236. package/dist/commands/analyze.test.d.ts.map +1 -0
  237. package/dist/commands/analyze.test.js +145 -0
  238. package/dist/commands/analyze.test.js.map +1 -0
  239. package/dist/commands/doctor.d.ts +7 -0
  240. package/dist/commands/doctor.d.ts.map +1 -0
  241. package/dist/commands/doctor.js +158 -0
  242. package/dist/commands/doctor.js.map +1 -0
  243. package/dist/commands/doctor.test.d.ts +2 -0
  244. package/dist/commands/doctor.test.d.ts.map +1 -0
  245. package/dist/commands/doctor.test.js +200 -0
  246. package/dist/commands/doctor.test.js.map +1 -0
  247. package/dist/commands/init.d.ts +9 -0
  248. package/dist/commands/init.d.ts.map +1 -0
  249. package/dist/commands/init.js +283 -0
  250. package/dist/commands/init.js.map +1 -0
  251. package/dist/commands/init.test.d.ts +2 -0
  252. package/dist/commands/init.test.d.ts.map +1 -0
  253. package/dist/commands/init.test.js +271 -0
  254. package/dist/commands/init.test.js.map +1 -0
  255. package/dist/commands/sync.d.ts +8 -0
  256. package/dist/commands/sync.d.ts.map +1 -0
  257. package/dist/commands/sync.js +201 -0
  258. package/dist/commands/sync.js.map +1 -0
  259. package/dist/constants.d.ts +21 -0
  260. package/dist/constants.d.ts.map +1 -0
  261. package/dist/constants.js +57 -0
  262. package/dist/constants.js.map +1 -0
  263. package/dist/e2e/aggressive.e2e.test.d.ts +2 -0
  264. package/dist/e2e/aggressive.e2e.test.d.ts.map +1 -0
  265. package/dist/e2e/aggressive.e2e.test.js +350 -0
  266. package/dist/e2e/aggressive.e2e.test.js.map +1 -0
  267. package/dist/e2e/commands.e2e.test.d.ts +2 -0
  268. package/dist/e2e/commands.e2e.test.d.ts.map +1 -0
  269. package/dist/e2e/commands.e2e.test.js +213 -0
  270. package/dist/e2e/commands.e2e.test.js.map +1 -0
  271. package/dist/index.d.ts +3 -0
  272. package/dist/index.d.ts.map +1 -0
  273. package/dist/index.js +82 -0
  274. package/dist/index.js.map +1 -0
  275. package/dist/lib/common.d.ts +17 -0
  276. package/dist/lib/common.d.ts.map +1 -0
  277. package/dist/lib/common.js +111 -0
  278. package/dist/lib/common.js.map +1 -0
  279. package/dist/lib/common.test.d.ts +2 -0
  280. package/dist/lib/common.test.d.ts.map +1 -0
  281. package/dist/lib/common.test.js +316 -0
  282. package/dist/lib/common.test.js.map +1 -0
  283. package/dist/lib/frontmatter.d.ts +18 -0
  284. package/dist/lib/frontmatter.d.ts.map +1 -0
  285. package/dist/lib/frontmatter.js +61 -0
  286. package/dist/lib/frontmatter.js.map +1 -0
  287. package/dist/lib/frontmatter.test.d.ts +2 -0
  288. package/dist/lib/frontmatter.test.d.ts.map +1 -0
  289. package/dist/lib/frontmatter.test.js +257 -0
  290. package/dist/lib/frontmatter.test.js.map +1 -0
  291. package/dist/lib/template.d.ts +24 -0
  292. package/dist/lib/template.d.ts.map +1 -0
  293. package/dist/lib/template.js +78 -0
  294. package/dist/lib/template.js.map +1 -0
  295. package/dist/lib/template.test.d.ts +2 -0
  296. package/dist/lib/template.test.d.ts.map +1 -0
  297. package/dist/lib/template.test.js +201 -0
  298. package/dist/lib/template.test.js.map +1 -0
  299. package/dist/types/index.d.ts +48 -0
  300. package/dist/types/index.d.ts.map +1 -0
  301. package/dist/types/index.js +2 -0
  302. package/dist/types/index.js.map +1 -0
  303. package/dist/ui/AnalyzeUI.d.ts +7 -0
  304. package/dist/ui/AnalyzeUI.d.ts.map +1 -0
  305. package/dist/ui/AnalyzeUI.js +100 -0
  306. package/dist/ui/AnalyzeUI.js.map +1 -0
  307. package/dist/ui/App.d.ts +13 -0
  308. package/dist/ui/App.d.ts.map +1 -0
  309. package/dist/ui/App.js +100 -0
  310. package/dist/ui/App.js.map +1 -0
  311. package/dist/ui/CIContext.d.ts +9 -0
  312. package/dist/ui/CIContext.d.ts.map +1 -0
  313. package/dist/ui/CIContext.js +9 -0
  314. package/dist/ui/CIContext.js.map +1 -0
  315. package/dist/ui/CISelector.d.ts +8 -0
  316. package/dist/ui/CISelector.d.ts.map +1 -0
  317. package/dist/ui/CISelector.js +45 -0
  318. package/dist/ui/CISelector.js.map +1 -0
  319. package/dist/ui/Doctor.d.ts +3 -0
  320. package/dist/ui/Doctor.d.ts.map +1 -0
  321. package/dist/ui/Doctor.js +89 -0
  322. package/dist/ui/Doctor.js.map +1 -0
  323. package/dist/ui/Header.d.ts +8 -0
  324. package/dist/ui/Header.d.ts.map +1 -0
  325. package/dist/ui/Header.js +30 -0
  326. package/dist/ui/Header.js.map +1 -0
  327. package/dist/ui/MemorySelector.d.ts +8 -0
  328. package/dist/ui/MemorySelector.d.ts.map +1 -0
  329. package/dist/ui/MemorySelector.js +46 -0
  330. package/dist/ui/MemorySelector.js.map +1 -0
  331. package/dist/ui/NameInput.d.ts +8 -0
  332. package/dist/ui/NameInput.d.ts.map +1 -0
  333. package/dist/ui/NameInput.js +69 -0
  334. package/dist/ui/NameInput.js.map +1 -0
  335. package/dist/ui/OptionSelector.d.ts +12 -0
  336. package/dist/ui/OptionSelector.d.ts.map +1 -0
  337. package/dist/ui/OptionSelector.js +69 -0
  338. package/dist/ui/OptionSelector.js.map +1 -0
  339. package/dist/ui/Progress.d.ts +11 -0
  340. package/dist/ui/Progress.d.ts.map +1 -0
  341. package/dist/ui/Progress.js +58 -0
  342. package/dist/ui/Progress.js.map +1 -0
  343. package/dist/ui/StackSelector.d.ts +9 -0
  344. package/dist/ui/StackSelector.d.ts.map +1 -0
  345. package/dist/ui/StackSelector.js +65 -0
  346. package/dist/ui/StackSelector.js.map +1 -0
  347. package/dist/ui/Summary.d.ts +12 -0
  348. package/dist/ui/Summary.d.ts.map +1 -0
  349. package/dist/ui/Summary.js +114 -0
  350. package/dist/ui/Summary.js.map +1 -0
  351. package/dist/ui/SyncUI.d.ts +10 -0
  352. package/dist/ui/SyncUI.d.ts.map +1 -0
  353. package/dist/ui/SyncUI.js +64 -0
  354. package/dist/ui/SyncUI.js.map +1 -0
  355. package/dist/ui/Welcome.d.ts +7 -0
  356. package/dist/ui/Welcome.d.ts.map +1 -0
  357. package/dist/ui/Welcome.js +45 -0
  358. package/dist/ui/Welcome.js.map +1 -0
  359. package/dist/ui/theme.d.ts +10 -0
  360. package/dist/ui/theme.d.ts.map +1 -0
  361. package/dist/ui/theme.js +9 -0
  362. package/dist/ui/theme.js.map +1 -0
  363. package/modules/engram/.gitignore-snippet.txt +6 -0
  364. package/modules/engram/.mcp-config-snippet.json +11 -0
  365. package/modules/engram/README.md +146 -0
  366. package/modules/engram/install-engram.sh +216 -0
  367. package/modules/ghagga/.env.example +43 -0
  368. package/modules/ghagga/README.md +153 -0
  369. package/modules/ghagga/docker-compose.yml +80 -0
  370. package/modules/ghagga/setup-ghagga.sh +139 -0
  371. package/modules/memory-simple/.project/NOTES.md +22 -0
  372. package/modules/memory-simple/README.md +23 -0
  373. package/modules/obsidian-brain/.obsidian/app.json +23 -0
  374. package/modules/obsidian-brain/.obsidian/appearance.json +5 -0
  375. package/modules/obsidian-brain/.obsidian/bookmarks.json +34 -0
  376. package/modules/obsidian-brain/.obsidian/community-plugins.json +1 -0
  377. package/modules/obsidian-brain/.obsidian/core-plugins-migration.json +21 -0
  378. package/modules/obsidian-brain/.obsidian/core-plugins.json +18 -0
  379. package/modules/obsidian-brain/.obsidian/daily-notes.json +5 -0
  380. package/modules/obsidian-brain/.obsidian/graph.json +37 -0
  381. package/modules/obsidian-brain/.obsidian/hotkeys.json +14 -0
  382. package/modules/obsidian-brain/.obsidian/plugins/dataview/data.json +25 -0
  383. package/modules/obsidian-brain/.obsidian/plugins/obsidian-kanban/data.json +29 -0
  384. package/modules/obsidian-brain/.obsidian/plugins/templater-obsidian/data.json +18 -0
  385. package/modules/obsidian-brain/.obsidian/snippets/project-memory.css +71 -0
  386. package/modules/obsidian-brain/.obsidian-gitignore-snippet.txt +8 -0
  387. package/modules/obsidian-brain/.project/Attachments/.gitkeep +0 -0
  388. package/modules/obsidian-brain/.project/Memory/BLOCKERS.md +78 -0
  389. package/modules/obsidian-brain/.project/Memory/CONTEXT.md +102 -0
  390. package/modules/obsidian-brain/.project/Memory/DASHBOARD.md +73 -0
  391. package/modules/obsidian-brain/.project/Memory/DECISIONS.md +87 -0
  392. package/modules/obsidian-brain/.project/Memory/KANBAN.md +15 -0
  393. package/modules/obsidian-brain/.project/Memory/README.md +61 -0
  394. package/modules/obsidian-brain/.project/Memory/WAVES.md +78 -0
  395. package/modules/obsidian-brain/.project/Sessions/TEMPLATE.md +99 -0
  396. package/modules/obsidian-brain/.project/Templates/ADR.md +33 -0
  397. package/modules/obsidian-brain/.project/Templates/Blocker.md +21 -0
  398. package/modules/obsidian-brain/.project/Templates/Session.md +88 -0
  399. package/modules/obsidian-brain/README.md +268 -0
  400. package/modules/obsidian-brain/new-wave.sh +182 -0
  401. package/package.json +51 -0
  402. package/schemas/agent.schema.json +34 -0
  403. package/schemas/ai-config.schema.json +28 -0
  404. package/schemas/skill.schema.json +44 -0
  405. package/src/commands/analyze.test.ts +145 -0
  406. package/src/commands/analyze.ts +69 -0
  407. package/src/commands/doctor.test.ts +208 -0
  408. package/src/commands/doctor.ts +163 -0
  409. package/src/commands/init.test.ts +298 -0
  410. package/src/commands/init.ts +285 -0
  411. package/src/constants.ts +69 -0
  412. package/src/e2e/aggressive.e2e.test.ts +557 -0
  413. package/src/e2e/commands.e2e.test.ts +298 -0
  414. package/src/index.tsx +106 -0
  415. package/src/lib/common.test.ts +318 -0
  416. package/src/lib/common.ts +127 -0
  417. package/src/lib/frontmatter.test.ts +291 -0
  418. package/src/lib/frontmatter.ts +77 -0
  419. package/src/lib/template.test.ts +226 -0
  420. package/src/lib/template.ts +99 -0
  421. package/src/types/index.ts +53 -0
  422. package/src/ui/AnalyzeUI.tsx +133 -0
  423. package/src/ui/App.tsx +175 -0
  424. package/src/ui/CIContext.tsx +25 -0
  425. package/src/ui/CISelector.tsx +72 -0
  426. package/src/ui/Doctor.tsx +122 -0
  427. package/src/ui/Header.tsx +48 -0
  428. package/src/ui/MemorySelector.tsx +73 -0
  429. package/src/ui/NameInput.tsx +82 -0
  430. package/src/ui/OptionSelector.tsx +100 -0
  431. package/src/ui/Progress.tsx +88 -0
  432. package/src/ui/StackSelector.tsx +101 -0
  433. package/src/ui/Summary.tsx +134 -0
  434. package/src/ui/Welcome.tsx +54 -0
  435. package/src/ui/theme.ts +10 -0
  436. package/stryker.config.json +19 -0
  437. package/tasks/_TEMPLATE/files-edited.md +3 -0
  438. package/tasks/_TEMPLATE/plan.md +3 -0
  439. package/tasks/_TEMPLATE/research.md +3 -0
  440. package/tasks/_TEMPLATE/verification.md +5 -0
  441. package/templates/common/dependabot/cargo.yml +11 -0
  442. package/templates/common/dependabot/github-actions.yml +16 -0
  443. package/templates/common/dependabot/gomod.yml +15 -0
  444. package/templates/common/dependabot/gradle.yml +15 -0
  445. package/templates/common/dependabot/header.yml +3 -0
  446. package/templates/common/dependabot/maven.yml +15 -0
  447. package/templates/common/dependabot/npm.yml +20 -0
  448. package/templates/common/dependabot/pip.yml +11 -0
  449. package/templates/dependabot.yml +162 -0
  450. package/templates/github/ci-go.yml +41 -0
  451. package/templates/github/ci-java.yml +45 -0
  452. package/templates/github/ci-monorepo.yml +150 -0
  453. package/templates/github/ci-node.yml +42 -0
  454. package/templates/github/ci-python.yml +42 -0
  455. package/templates/github/ci-rust.yml +42 -0
  456. package/templates/github/dependabot-automerge.yml +40 -0
  457. package/templates/gitlab/gitlab-ci-go.yml +88 -0
  458. package/templates/gitlab/gitlab-ci-java.yml +79 -0
  459. package/templates/gitlab/gitlab-ci-monorepo.yml +126 -0
  460. package/templates/gitlab/gitlab-ci-node.yml +63 -0
  461. package/templates/gitlab/gitlab-ci-python.yml +147 -0
  462. package/templates/gitlab/gitlab-ci-rust.yml +67 -0
  463. package/templates/global/claude-settings.json +98 -0
  464. package/templates/global/codex-config.toml +8 -0
  465. package/templates/global/copilot-instructions/base-rules.instructions.md +13 -0
  466. package/templates/global/copilot-instructions/sdd-orchestrator.instructions.md +37 -0
  467. package/templates/global/gemini-commands/cleanup.toml +20 -0
  468. package/templates/global/gemini-commands/commit.toml +15 -0
  469. package/templates/global/gemini-commands/dead-code.toml +22 -0
  470. package/templates/global/gemini-commands/plan.toml +30 -0
  471. package/templates/global/gemini-commands/review.toml +17 -0
  472. package/templates/global/gemini-commands/sdd-apply.toml +22 -0
  473. package/templates/global/gemini-commands/sdd-ff.toml +14 -0
  474. package/templates/global/gemini-commands/sdd-new.toml +21 -0
  475. package/templates/global/gemini-commands/sdd-verify.toml +21 -0
  476. package/templates/global/gemini-commands/tdd.toml +26 -0
  477. package/templates/global/gemini-settings.json +8 -0
  478. package/templates/global/opencode-config.json +44 -0
  479. package/templates/global/sdd-instructions.md +47 -0
  480. package/templates/global/sdd-orchestrator-claude.md +46 -0
  481. package/templates/global/sdd-orchestrator-copilot.md +34 -0
  482. package/templates/renovate.json +69 -0
  483. package/templates/woodpecker/monorepo/backend.yml +34 -0
  484. package/templates/woodpecker/monorepo/frontend.yml +34 -0
  485. package/templates/woodpecker/monorepo/summary.yml +25 -0
  486. package/templates/woodpecker/woodpecker-go.yml +51 -0
  487. package/templates/woodpecker/woodpecker-java.yml +67 -0
  488. package/templates/woodpecker/woodpecker-node.yml +47 -0
  489. package/templates/woodpecker/woodpecker-python.yml +108 -0
  490. package/templates/woodpecker/woodpecker-rust.yml +57 -0
  491. package/tsconfig.json +19 -0
  492. package/vitest.config.ts +16 -0
  493. package/workflows/reusable-build-go.yml +111 -0
  494. package/workflows/reusable-build-java.yml +120 -0
  495. package/workflows/reusable-build-node.yml +145 -0
  496. package/workflows/reusable-build-python.yml +159 -0
  497. package/workflows/reusable-build-rust.yml +135 -0
  498. package/workflows/reusable-docker.yml +120 -0
  499. package/workflows/reusable-ghagga-review.yml +165 -0
  500. package/workflows/reusable-release.yml +91 -0
@@ -0,0 +1,61 @@
1
+ # Project Memory (Obsidian Brain)
2
+
3
+ > Archivos de memoria persistente para AI CLIs y documentacion del proyecto.
4
+ > Funciona como markdown plano sin Obsidian. Con Obsidian, agrega Kanban visual, queries Dataview y templates Templater.
5
+
6
+ ## Estructura
7
+
8
+ ```
9
+ Memory/
10
+ ├── CONTEXT.md <- Estado actual del proyecto (leer al inicio)
11
+ ├── DECISIONS.md <- ADRs (Architecture Decision Records)
12
+ ├── BLOCKERS.md <- Problemas encontrados y soluciones
13
+ ├── WAVES.md <- Historial de oleadas de trabajo
14
+ ├── KANBAN.md <- Board visual de tareas (plugin Kanban)
15
+ ├── DASHBOARD.md <- Metricas y queries (plugin Dataview)
16
+ └── README.md <- Este archivo
17
+ ```
18
+
19
+ ## Flujo de Trabajo
20
+
21
+ ### Al iniciar sesion:
22
+ 1. Leer `CONTEXT.md` para recordar estado
23
+ 2. Revisar `KANBAN.md` para tareas activas
24
+ 3. Revisar `BLOCKERS.md` para issues pendientes
25
+ 4. Crear sesion: copiar `../Sessions/TEMPLATE.md` como `../Sessions/YYYY-MM-DD.md`
26
+ - Con Obsidian: usar Templater (Ctrl+T > Session) que auto-llena fecha y prompts
27
+ - Sin Obsidian: copiar TEMPLATE.md y reemplazar placeholders manualmente
28
+
29
+ ### Durante la sesion:
30
+ 5. Mover tareas en `KANBAN.md` entre lanes
31
+ 6. Documentar blockers si aparecen (usar inline fields: `type:: blocker`, `status:: open`)
32
+ 7. Registrar decisiones importantes como ADRs (usar inline fields: `type:: adr`, `status::`)
33
+
34
+ ### Al finalizar:
35
+ 8. Actualizar `CONTEXT.md`
36
+ 9. Completar sesion del dia
37
+
38
+ ## Templates disponibles
39
+
40
+ En `../Templates/` hay templates de Templater (requieren plugin):
41
+ - **Session.md** - Sesion con fecha automatica y prompts
42
+ - **ADR.md** - Decision de arquitectura con prompts
43
+ - **Blocker.md** - Blocker con prompts
44
+
45
+ Sin Templater, usar los templates inline que estan al final de DECISIONS.md y BLOCKERS.md.
46
+
47
+ ## Con Obsidian
48
+
49
+ Si abres el proyecto como vault de Obsidian:
50
+ - **KANBAN.md** se renderiza como board visual (drag & drop)
51
+ - **DASHBOARD.md** ejecuta queries Dataview automaticamente
52
+ - **Templates/** permite crear sesiones y ADRs con Templater
53
+ - Los links `[[ARCHIVO]]` navegan entre notas
54
+
55
+ ## Sin Obsidian
56
+
57
+ Todo funciona como markdown plano:
58
+ - **KANBAN.md** se edita moviendo lineas entre secciones H2
59
+ - **DASHBOARD.md** muestra bloques de codigo (sin ejecutar)
60
+ - Las sesiones se crean copiando TEMPLATE.md manualmente
61
+ - Los links `[[ARCHIVO]]` se ven como texto plano (no navegables)
@@ -0,0 +1,78 @@
1
+ ---
2
+ type: waves
3
+ updated: "[FECHA]"
4
+ ---
5
+
6
+ # Oleadas de Trabajo
7
+
8
+ > Registro historico de oleadas de tareas paralelas.
9
+ > Para gestion dia a dia, usar [[KANBAN]]. WAVES.md es el historial de oleadas completadas.
10
+
11
+ ---
12
+
13
+ ## Oleada Actual
14
+
15
+ **Numero:** 0
16
+ **Estado:** Ninguna activa
17
+ **Tareas:** -
18
+ **Branches:** -
19
+ **Inicio:** -
20
+
21
+ ---
22
+
23
+ ## Como usar oleadas
24
+
25
+ ### 1. Analizar dependencias
26
+
27
+ ```
28
+ Tareas disponibles:
29
+ - T-001: Setup monorepo (sin deps)
30
+ - T-002: Configurar CI (depende de T-001)
31
+ - T-003: Agregar linters (depende de T-001)
32
+ - T-004: Docker compose (sin deps)
33
+ - T-005: Integrar linters en CI (depende de T-002, T-003)
34
+ ```
35
+
36
+ ### 2. Agrupar en oleadas
37
+
38
+ ```
39
+ Oleada 1: T-001, T-004 (sin dependencias entre si)
40
+ Oleada 2: T-002, T-003 (dependen solo de T-001)
41
+ Oleada 3: T-005 (depende de oleada 2)
42
+ ```
43
+
44
+ ### 3. Ejecutar
45
+
46
+ ```bash
47
+ # Crear oleada
48
+ ./scripts/new-wave.sh "T-001 T-004"
49
+
50
+ # Crear branches
51
+ ./scripts/new-wave.sh --create-branches
52
+
53
+ # Trabajar en paralelo...
54
+
55
+ # Completar y merge
56
+ ./scripts/new-wave.sh --complete
57
+ ```
58
+
59
+ ---
60
+
61
+ ## Historial
62
+
63
+ | # | Tareas | Inicio | Fin | Estado |
64
+ |---|--------|--------|-----|--------|
65
+ | - | - | - | - | - |
66
+
67
+ ---
68
+
69
+ ## Tips
70
+
71
+ - **Maximo recomendado:** 5-7 tareas por oleada para mantener foco
72
+ - **Sin limite tecnico:** El sistema soporta cualquier cantidad
73
+ - **Merge order:** Mergear a develop cuando todas las tareas de la oleada esten listas
74
+ - **Conflictos:** Si hay conflictos entre branches de la misma oleada, revisar dependencias
75
+
76
+ ---
77
+
78
+ *Ultima actualizacion: [FECHA]*
@@ -0,0 +1,99 @@
1
+ ---
2
+ type: session
3
+ date: "[YYYY-MM-DD]"
4
+ phase: "[Foundation/MVP/Alpha/Beta]"
5
+ wave: "[N]"
6
+ ---
7
+
8
+ # Sesion - [YYYY-MM-DD]
9
+
10
+ > Copiar este archivo como `YYYY-MM-DD.md` para cada sesion
11
+
12
+ ---
13
+
14
+ ## Contexto Inicial
15
+
16
+ | Campo | Valor |
17
+ |-------|-------|
18
+ | **Fase** | [Foundation/MVP/...] |
19
+ | **Oleada** | [N] |
20
+ | **Branch** | [branch-name] |
21
+ | **Tiempo Disponible** | [X] horas |
22
+
23
+ ---
24
+
25
+ ## Objetivos
26
+
27
+ - [ ] Objetivo 1
28
+ - [ ] Objetivo 2
29
+ - [ ] Objetivo 3
30
+
31
+ ---
32
+
33
+ ## Tareas Trabajadas
34
+
35
+ ### [T-XXX] - [Titulo]
36
+
37
+ | Campo | Valor |
38
+ |-------|-------|
39
+ | Inicio | HH:MM |
40
+ | Fin | HH:MM |
41
+ | Estado | Completada / En progreso / Bloqueada |
42
+
43
+ **Cambios:**
44
+ - [Cambio 1]
45
+ - [Cambio 2]
46
+
47
+ **Commits:**
48
+ - `abc1234` - mensaje
49
+
50
+ ---
51
+
52
+ ## Problemas
53
+
54
+ ### Problema 1
55
+ - **Que paso:** [descripcion]
56
+ - **Solucion:** [como se resolvio]
57
+ - **Documentado en:** [[BLOCKERS#BLOCKER-XXX]]
58
+
59
+ ---
60
+
61
+ ## Decisiones
62
+
63
+ - **Decision:** [que se decidio]
64
+ - **Razon:** [por que]
65
+ - **Documentado en:** [[DECISIONS#ADR-XXX]]
66
+
67
+ ---
68
+
69
+ ## Aprendizajes
70
+
71
+ - [Aprendi X sobre Y]
72
+ - [Descubri que Z]
73
+
74
+ ---
75
+
76
+ ## Proxima Sesion
77
+
78
+ ### Continuar:
79
+ - [ ] Tarea pendiente 1
80
+ - [ ] Tarea pendiente 2
81
+
82
+ ### Preparar:
83
+ - [ ] Leer documentacion de X
84
+ - [ ] Revisar Y
85
+
86
+ ---
87
+
88
+ ## Resumen
89
+
90
+ | Metrica | Valor |
91
+ |---------|-------|
92
+ | Tiempo total | X horas |
93
+ | Tareas completadas | X |
94
+ | Commits | X |
95
+ | Blockers | X |
96
+
97
+ ---
98
+
99
+ *Fin de sesion: HH:MM*
@@ -0,0 +1,33 @@
1
+ ## ADR-<% await tp.system.prompt("Numero de ADR (ej: 002)") %>: <% await tp.system.prompt("Titulo de la decision") %>
2
+
3
+ type:: adr
4
+ status:: pendiente
5
+ date:: <% tp.date.now("YYYY-MM-DD") %>
6
+
7
+ ### Contexto
8
+
9
+ <% await tp.system.prompt("Que problema o necesidad motivo esta decision") %>
10
+
11
+ ### Decision
12
+
13
+ <% await tp.system.prompt("Que se decidio hacer") %>
14
+
15
+ ### Razones
16
+
17
+ 1. <% await tp.system.prompt("Razon principal") %>
18
+ 2.
19
+ 3.
20
+
21
+ ### Consecuencias
22
+
23
+ **Positivas:**
24
+ -
25
+
26
+ **Negativas:**
27
+ -
28
+
29
+ ### Alternativas Consideradas
30
+
31
+ | Alternativa | Pros | Contras | Por que no |
32
+ |-------------|------|---------|------------|
33
+ | | | | |
@@ -0,0 +1,21 @@
1
+ ### BLOCKER-<% await tp.system.prompt("Numero de blocker (ej: 002)") %>: <% await tp.system.prompt("Titulo del problema") %>
2
+
3
+ type:: blocker
4
+ status:: open
5
+ impact:: <% await tp.system.prompt("Impacto (alto/medio/bajo)") %>
6
+ date:: <% tp.date.now("YYYY-MM-DD") %>
7
+
8
+ **Descripcion:**
9
+ <% await tp.system.prompt("Que paso, como se manifesto") %>
10
+
11
+ **Impacto:**
12
+ -
13
+
14
+ **Investigacion:**
15
+ 1.
16
+
17
+ **Solucion:**
18
+ _(Completar cuando se resuelva)_
19
+
20
+ **Lecciones:**
21
+ -
@@ -0,0 +1,88 @@
1
+ ---
2
+ type: session
3
+ date: "<% tp.date.now("YYYY-MM-DD") %>"
4
+ phase: "<% await tp.system.prompt("Fase del proyecto (Foundation/MVP/Alpha/Beta)") %>"
5
+ wave: "<% await tp.system.prompt("Numero de oleada actual") %>"
6
+ ---
7
+
8
+ # Sesion - <% tp.date.now("YYYY-MM-DD") %>
9
+
10
+ ---
11
+
12
+ ## Contexto Inicial
13
+
14
+ | Campo | Valor |
15
+ |-------|-------|
16
+ | **Fase** | <% await tp.system.prompt("Fase del proyecto") %> |
17
+ | **Oleada** | <% await tp.system.prompt("Oleada actual") %> |
18
+ | **Branch** | <% await tp.system.prompt("Branch activo") %> |
19
+ | **Tiempo Disponible** | <% await tp.system.prompt("Tiempo disponible (ej: 2 horas)") %> |
20
+
21
+ ---
22
+
23
+ ## Objetivos
24
+
25
+ - [ ] <% await tp.system.prompt("Objetivo principal de la sesion") %>
26
+ - [ ]
27
+ - [ ]
28
+
29
+ ---
30
+
31
+ ## Tareas Trabajadas
32
+
33
+ ### [T-XXX] - [Titulo]
34
+
35
+ | Campo | Valor |
36
+ |-------|-------|
37
+ | Inicio | <% tp.date.now("HH:mm") %> |
38
+ | Fin | |
39
+ | Estado | En progreso |
40
+
41
+ **Cambios:**
42
+ -
43
+
44
+ **Commits:**
45
+ -
46
+
47
+ ---
48
+
49
+ ## Problemas
50
+
51
+ _(Completar si aparecen problemas)_
52
+
53
+ ---
54
+
55
+ ## Decisiones
56
+
57
+ _(Completar si se toman decisiones)_
58
+
59
+ ---
60
+
61
+ ## Aprendizajes
62
+
63
+ -
64
+
65
+ ---
66
+
67
+ ## Proxima Sesion
68
+
69
+ ### Continuar:
70
+ - [ ]
71
+
72
+ ### Preparar:
73
+ - [ ]
74
+
75
+ ---
76
+
77
+ ## Resumen
78
+
79
+ | Metrica | Valor |
80
+ |---------|-------|
81
+ | Tiempo total | |
82
+ | Tareas completadas | |
83
+ | Commits | |
84
+ | Blockers | |
85
+
86
+ ---
87
+
88
+ *Fin de sesion: *
@@ -0,0 +1,268 @@
1
+ # Obsidian Brain
2
+
3
+ > Vault de Obsidian integrado al proyecto: Kanban visual, queries Dataview, templates Templater.
4
+ > Todo funciona como markdown plano sin Obsidian instalado.
5
+
6
+ ## Instalacion
7
+
8
+ ### Automatica (recomendado)
9
+
10
+ ```bash
11
+ ./scripts/init-project.sh
12
+ # Elegir opcion 1: obsidian-brain
13
+ ```
14
+
15
+ ### Manual
16
+
17
+ ```bash
18
+ # 1. Copiar estructura de memoria y config Obsidian
19
+ cp -r optional/obsidian-brain/.project tu-proyecto/
20
+ cp -r optional/obsidian-brain/.obsidian tu-proyecto/
21
+
22
+ # 2. Copiar scripts de oleadas
23
+ cp optional/obsidian-brain/new-wave.sh tu-proyecto/scripts/
24
+ cp optional/obsidian-brain/new-wave.ps1 tu-proyecto/scripts/
25
+ chmod +x tu-proyecto/scripts/new-wave.sh
26
+
27
+ # 3. Agregar lineas al .gitignore
28
+ cat optional/obsidian-brain/.obsidian-gitignore-snippet.txt >> tu-proyecto/.gitignore
29
+ ```
30
+
31
+ ## Estructura
32
+
33
+ ```
34
+ proyecto/ <- Vault root
35
+ ├── .obsidian/ <- Config Obsidian (pre-configurada)
36
+ │ ├── app.json <- Settings (relative links, ignore filters)
37
+ │ ├── appearance.json <- Tema, fuente, CSS snippets habilitados
38
+ │ ├── bookmarks.json <- Acceso rapido a CONTEXT, KANBAN, DASHBOARD
39
+ │ ├── core-plugins.json <- Core plugins habilitados
40
+ │ ├── core-plugins-migration.json
41
+ │ ├── community-plugins.json <- Kanban + Dataview + Templater
42
+ │ ├── daily-notes.json <- Auto-crear sesiones en Sessions/
43
+ │ ├── graph.json <- Filtros y colores para graph view
44
+ │ ├── hotkeys.json <- Ctrl+T = insertar template Templater
45
+ │ ├── snippets/
46
+ │ │ └── project-memory.css <- Estilos para inline fields y Kanban
47
+ │ └── plugins/
48
+ │ ├── obsidian-kanban/data.json
49
+ │ ├── dataview/data.json
50
+ │ └── templater-obsidian/data.json
51
+ ├── .project/
52
+ │ ├── Attachments/ <- Imagenes y archivos adjuntos
53
+ │ ├── Memory/
54
+ │ │ ├── CONTEXT.md <- Estado actual del proyecto
55
+ │ │ ├── DECISIONS.md <- ADRs con inline fields Dataview
56
+ │ │ ├── BLOCKERS.md <- Problemas con inline fields Dataview
57
+ │ │ ├── WAVES.md <- Historial de oleadas
58
+ │ │ ├── KANBAN.md <- Board visual (plugin Kanban)
59
+ │ │ ├── DASHBOARD.md <- Queries automaticas (plugin Dataview)
60
+ │ │ └── README.md
61
+ │ ├── Sessions/
62
+ │ │ └── TEMPLATE.md <- Template manual para sesiones
63
+ │ └── Templates/
64
+ │ ├── Session.md <- Template Templater para sesiones
65
+ │ ├── ADR.md <- Template Templater para ADRs
66
+ │ └── Blocker.md <- Template Templater para blockers
67
+ └── scripts/
68
+ ├── new-wave.sh <- Gestion de oleadas (bash)
69
+ └── new-wave.ps1 <- Gestion de oleadas (PowerShell)
70
+ ```
71
+
72
+ ## Plugins Requeridos
73
+
74
+ Los `data.json` estan pre-configurados. Solo necesitas instalar los plugins desde Obsidian:
75
+
76
+ 1. Abrir Obsidian > Settings > Community Plugins > Browse
77
+ 2. Instalar: **Kanban**, **Dataview**, **Templater**
78
+ 3. Habilitar los 3 plugins
79
+
80
+ La configuracion se aplica automaticamente desde los `data.json` ya incluidos.
81
+
82
+ ### Pre-configurado
83
+
84
+ - **Ctrl+T** - Insertar template Templater (sesion, ADR, blocker)
85
+ - **Daily Notes** - Al hacer click en "Open today's daily note", crea sesion en `.project/Sessions/` usando el template de Templater
86
+ - **Bookmarks** - CONTEXT, KANBAN, DASHBOARD, DECISIONS, BLOCKERS en acceso rapido
87
+ - **Graph View** - Memory files en azul, Sessions en violeta, build artifacts filtrados
88
+ - **CSS Snippet** - `project-memory.css` activo: resalta inline fields y status badges
89
+ - **Core templates desactivado** - Se usa Templater en su lugar (mas potente, sin conflicto)
90
+
91
+ ### Seguridad
92
+
93
+ - **Templater:** `enable_system_commands: false` (no ejecuta comandos del sistema)
94
+ - **Dataview:** `enableDataviewJs: false` (no ejecuta JavaScript arbitrario)
95
+
96
+ ## Workflow
97
+
98
+ ### Con Obsidian
99
+
100
+ 1. Abrir proyecto como vault
101
+ 2. Usar KANBAN.md como board visual (drag & drop entre lanes)
102
+ 3. Crear sesiones con Templater (Ctrl+T > Session)
103
+ 4. Ver DASHBOARD.md para metricas automaticas
104
+ 5. Las oleadas se gestionan con `new-wave.sh` y se reflejan en WAVES.md
105
+
106
+ ### Sin Obsidian (markdown plano)
107
+
108
+ 1. Editar KANBAN.md moviendo lineas entre secciones H2
109
+ 2. Copiar TEMPLATE.md para crear sesiones manualmente
110
+ 3. DASHBOARD.md muestra bloques de codigo sin ejecutar
111
+ 4. Todo el workflow funciona igual, solo sin la parte visual
112
+
113
+ ## KANBAN.md
114
+
115
+ El board tiene 4 lanes:
116
+
117
+ ```markdown
118
+ ## Backlog
119
+ - [ ] Tarea por hacer #wave
120
+
121
+ ## En Progreso
122
+ - [ ] Tarea activa
123
+
124
+ ## Review
125
+ - [ ] Tarea en revision
126
+
127
+ ## Completado
128
+ - [x] Tarea terminada
129
+ ```
130
+
131
+ ### Mover tareas
132
+ - **Con Obsidian:** drag & drop entre lanes
133
+ - **Sin Obsidian:** cortar/pegar la linea `- [ ]` a la seccion correspondiente
134
+ - **Con AI CLI:** mover la linea entre secciones H2
135
+
136
+ ### Tags utiles
137
+ - `#wave` - Pertenece a oleada activa
138
+ - `#blocker` - Tiene un blocker asociado
139
+ - `#review` - Necesita revision
140
+
141
+ ## Oleadas (Waves)
142
+
143
+ KANBAN.md es para el dia a dia. WAVES.md es el historial de oleadas:
144
+
145
+ ```bash
146
+ # Ver oleada actual
147
+ ./scripts/new-wave.sh --list
148
+
149
+ # Crear oleada
150
+ ./scripts/new-wave.sh "T-001 T-002 T-003"
151
+
152
+ # Completar oleada
153
+ ./scripts/new-wave.sh --complete
154
+ ```
155
+
156
+ ## Inline Fields vs Frontmatter
157
+
158
+ Obsidian Brain usa dos formatos de metadata segun el tipo de archivo:
159
+
160
+ - **Inline fields** (`key:: value`) - Para ADRs y Blockers dentro de DECISIONS.md y BLOCKERS.md.
161
+ Se usan porque multiples entradas conviven en el mismo archivo. Dataview los detecta como campos
162
+ de la seccion H2/H3 donde aparecen.
163
+
164
+ - **YAML frontmatter** (`key: value` en bloque `---`) - Para archivos individuales como sesiones
165
+ (un archivo por dia). Obsidian los muestra en el panel de propiedades.
166
+
167
+ No mezclar: usar inline fields dentro de secciones, frontmatter al inicio de archivos individuales.
168
+
169
+ ## Inline Fields (Dataview)
170
+
171
+ Los archivos usan inline fields para queries automaticas. Formato: `key:: value`
172
+
173
+ ### Campos obligatorios por tipo
174
+
175
+ | Tipo de entrada | Campos requeridos | Valores validos |
176
+ |-----------------|-------------------|-----------------|
177
+ | ADR | `type:: adr`, `status::`, `date::` | status: `pendiente`, `aceptada`, `rechazada`, `deprecada` |
178
+ | Blocker | `type:: blocker`, `status::`, `impact::`, `date::` | status: `open`, `investigating`, `resolved`, `workaround`. impact: `alto`, `medio`, `bajo` |
179
+ | Session | frontmatter `type: session`, `date`, `phase`, `wave` | phase: `Foundation`, `MVP`, `Alpha`, `Beta` |
180
+
181
+ ### Ejemplo real (ADR)
182
+
183
+ ```markdown
184
+ ## ADR-002: Usar PostgreSQL en vez de SQLite
185
+
186
+ type:: adr
187
+ status:: aceptada
188
+ date:: 2026-01-15
189
+
190
+ ### Contexto
191
+ Necesitamos soporte para queries concurrentes y full-text search.
192
+
193
+ ### Decision
194
+ Usar PostgreSQL 16 con pgx driver.
195
+ ```
196
+
197
+ ### Ejemplo real (Blocker)
198
+
199
+ ```markdown
200
+ ### BLOCKER-002: Docker build falla en CI
201
+
202
+ type:: blocker
203
+ status:: open
204
+ impact:: alto
205
+ date:: 2026-01-20
206
+
207
+ **Descripcion:**
208
+ El build de Docker falla con error de memoria en GitHub Actions.
209
+ ```
210
+
211
+ Estos campos permiten a Dataview generar tablas automaticas en DASHBOARD.md. Sin los campos, las queries devuelven resultados vacios.
212
+
213
+ ## Git
214
+
215
+ ### Se commitea
216
+ - `.obsidian/app.json` - Settings compartidos
217
+ - `.obsidian/appearance.json` - Tema y CSS snippets
218
+ - `.obsidian/bookmarks.json` - Bookmarks compartidos
219
+ - `.obsidian/core-plugins.json` - Core plugins
220
+ - `.obsidian/core-plugins-migration.json` - Migration flags
221
+ - `.obsidian/community-plugins.json` - Lista de plugins
222
+ - `.obsidian/daily-notes.json` - Config de daily notes
223
+ - `.obsidian/graph.json` - Config del graph view
224
+ - `.obsidian/hotkeys.json` - Atajos de teclado
225
+ - `.obsidian/snippets/*.css` - CSS snippets del proyecto
226
+ - `.obsidian/plugins/*/data.json` - Configuracion de plugins
227
+
228
+ ### Se ignora (.gitignore)
229
+ - `.obsidian/workspace.json` - Layout personal
230
+ - `.obsidian/workspace/` - Workspace data
231
+ - `.obsidian/cache/` - Cache
232
+ - `.obsidian/plugins/*/main.js` - Binarios de plugins
233
+ - `.obsidian/plugins/*/styles.css` - Estilos de plugins
234
+ - `.obsidian/plugins/*/manifest.json` - Manifiestos de plugins
235
+ - `.trash/` - Papelera de Obsidian
236
+
237
+ ## Verificacion Post-Instalacion
238
+
239
+ Despues de instalar, verificar que existan:
240
+
241
+ ```bash
242
+ # Archivos de memoria
243
+ ls .project/Memory/CONTEXT.md .project/Memory/KANBAN.md .project/Memory/DASHBOARD.md
244
+
245
+ # Config Obsidian
246
+ ls .obsidian/app.json .obsidian/community-plugins.json
247
+
248
+ # Plugins pre-configurados
249
+ ls .obsidian/plugins/obsidian-kanban/data.json
250
+ ls .obsidian/plugins/dataview/data.json
251
+ ls .obsidian/plugins/templater-obsidian/data.json
252
+
253
+ # Scripts
254
+ ls scripts/new-wave.sh scripts/new-wave.ps1
255
+
256
+ # Gitignore (debe contener lineas de Obsidian)
257
+ grep "obsidian" .gitignore
258
+ ```
259
+
260
+ ## Migracion desde VibeKanban
261
+
262
+ Si ya usas vibekanban:
263
+
264
+ 1. Copiar `.obsidian/` al proyecto
265
+ 2. Crear `KANBAN.md` y `DASHBOARD.md` en `.project/Memory/`
266
+ 3. Agregar frontmatter YAML a archivos existentes (CONTEXT, DECISIONS, etc.)
267
+ 4. Agregar inline fields Dataview a ADRs y blockers existentes
268
+ 5. Actualizar `.gitignore` con el snippet de Obsidian