@vibe-validate/cli 0.9.11 → 0.10.1

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 (33) hide show
  1. package/dist/commands/doctor.d.ts.map +1 -1
  2. package/dist/commands/doctor.js +151 -38
  3. package/dist/commands/doctor.js.map +1 -1
  4. package/dist/commands/init.d.ts.map +1 -1
  5. package/dist/commands/init.js +254 -332
  6. package/dist/commands/init.js.map +1 -1
  7. package/dist/utils/config-loader.d.ts +3 -7
  8. package/dist/utils/config-loader.d.ts.map +1 -1
  9. package/dist/utils/config-loader.js +7 -19
  10. package/dist/utils/config-loader.js.map +1 -1
  11. package/dist/utils/git-detection.d.ts +41 -0
  12. package/dist/utils/git-detection.d.ts.map +1 -0
  13. package/dist/utils/git-detection.js +109 -0
  14. package/dist/utils/git-detection.js.map +1 -0
  15. package/dist/utils/runner-adapter.js +3 -3
  16. package/dist/utils/runner-adapter.js.map +1 -1
  17. package/dist/utils/setup-checks/gitignore-check.d.ts +23 -0
  18. package/dist/utils/setup-checks/gitignore-check.d.ts.map +1 -0
  19. package/dist/utils/setup-checks/gitignore-check.js +156 -0
  20. package/dist/utils/setup-checks/gitignore-check.js.map +1 -0
  21. package/dist/utils/setup-checks/hooks-check.d.ts +27 -0
  22. package/dist/utils/setup-checks/hooks-check.d.ts.map +1 -0
  23. package/dist/utils/setup-checks/hooks-check.js +175 -0
  24. package/dist/utils/setup-checks/hooks-check.js.map +1 -0
  25. package/dist/utils/setup-checks/workflow-check.d.ts +22 -0
  26. package/dist/utils/setup-checks/workflow-check.d.ts.map +1 -0
  27. package/dist/utils/setup-checks/workflow-check.js +147 -0
  28. package/dist/utils/setup-checks/workflow-check.js.map +1 -0
  29. package/dist/utils/setup-engine.d.ts +155 -0
  30. package/dist/utils/setup-engine.d.ts.map +1 -0
  31. package/dist/utils/setup-engine.js +31 -0
  32. package/dist/utils/setup-engine.js.map +1 -0
  33. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAA0B,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAyB7E,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,wCAAwC,CAAC;SACrD,MAAM,CAAC,uBAAuB,EAAE,oEAAoE,CAAC;SACrG,MAAM,CAAC,aAAa,EAAE,kCAAkC,CAAC;SACzD,MAAM,CAAC,WAAW,EAAE,uCAAuC,CAAC;SAC5D,MAAM,CAAC,eAAe,EAAE,yBAAyB,CAAC;SAClD,MAAM,CAAC,kBAAkB,EAAE,gCAAgC,CAAC;SAC5D,MAAM,CAAC,iBAAiB,EAAE,8BAA8B,CAAC;SACzD,MAAM,CAAC,WAAW,EAAE,qCAAqC,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;YAEzC,mBAAmB;YACnB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAC9C,OAAO;YACT,CAAC;YAED,uCAAuC;YACvC,MAAM,kBAAkB,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC;YAE/F,4BAA4B;YAC5B,IAAI,kBAAkB,EAAE,CAAC;gBACvB,MAAM,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,+BAA+B;YAC/B,MAAM,0BAA0B,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,EAAE,KAAK,CAAC,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,uBAAuB,CAAC,GAAW,EAAE,OAAoB,EAAE,QAAiB;IACzF,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IACnE,MAAM,UAAU,GAAqB,EAAE,CAAC;IAExC,wBAAwB;IACxB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,IAAI,mBAAmB,EAAE;YAChC,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;IACpB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,IAAI,eAAe,EAAE;YAC5B,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;IACvB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,yBAAyB;YAC/B,KAAK,EAAE,IAAI,kBAAkB,EAAE;YAC/B,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;IACrB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,OAAO;YAAE,SAAS;QAEjC,IAAI,QAAQ,EAAE,CAAC;YACb,eAAe;YACf,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,SAAS,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAErD,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBAC9C,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAClE,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;wBAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,WAAW;YACX,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACrE,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6CAA6C,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,0BAA0B,CAAC,GAAW,EAAE,OAAoB,EAAE,QAAiB;IAC5F,iCAAiC;IACjC,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,oBAAoB,CAAC;IAEtD,kBAAkB;IAClB,MAAM,YAAY,GAAG,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;IACrF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,MAAM,EAAE,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,2BAA2B;IAC3B,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IAEpC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;IAE1D,IAAI,QAAQ,EAAE,CAAC;QACb,4CAA4C;QAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,UAAU,EAAE,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kDAAkD,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,oBAAoB;IACpB,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAElD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,UAAU,EAAE,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,EAAE,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,CAAC;IAEzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,kBAAkB,CAAC,MAAc,EAAE,SAA4B;IACtE,MAAM,UAAU,GAAG;QACjB,iCAAiC;QACjC,OAAO,EAAE,wGAAwG;QAEjH,mCAAmC;QACnC,OAAO,EAAE,MAAM;QAEf,2BAA2B;QAC3B,GAAG,EAAE;YACH,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,QAAQ,EAAE,KAAK,EAAE,kCAAkC;SACpD;QAED,yCAAyC;QACzC,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,QAAQ,EAAE,eAAe;gBACzB,OAAO,EAAE,IAAI;aACd;YACD,QAAQ,EAAE,IAAI;SACf;KACF,CAAC;IAEF,OAAO,aAAa,CAAC,UAAU,EAAE;QAC/B,MAAM,EAAE,CAAC;QACT,SAAS,EAAE,GAAG;QACd,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,OAAoB,EAAE,QAAiB;IACjF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,0BAA0B,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;IAExD,8BAA8B;IAC9B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,wDAAwD;IACxD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,uBAAuB;IACvB,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC;IAExC,kBAAkB;IAClB,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,EAAE;QACxC,MAAM,EAAE,CAAC;QACT,SAAS,EAAE,GAAG;QACd,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IAEH,IAAI,QAAQ,EAAE,CAAC;QACb,eAAe;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC,CAAC;QAChG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,oBAAoB;IACpB,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAE9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAE3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
@@ -7,13 +7,9 @@ import type { VibeValidateConfig } from '@vibe-validate/config';
7
7
  /**
8
8
  * Load vibe-validate configuration from project root
9
9
  *
10
- * Searches for configuration in multiple file patterns:
11
- * - vibe-validate.config.ts
12
- * - vibe-validate.config.js
13
- * - vibe-validate.config.mjs
14
- * - .vibe-validate.ts
15
- * - .vibe-validate.js
16
- * - .vibe-validate.mjs
10
+ * Searches for configuration files:
11
+ * - vibe-validate.config.yaml (primary format)
12
+ * - vibe-validate.config.mjs (deprecated, legacy support only)
17
13
  *
18
14
  * @param cwd Current working directory (defaults to process.cwd())
19
15
  * @returns Configuration object or null if not found
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGhE;;;;;;;;;;;;;GAaG;AACH,wBAAsB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAajF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAYlD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmB1D"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGhE;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAajF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAQlD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAe1D"}
@@ -10,13 +10,9 @@ import chalk from 'chalk';
10
10
  /**
11
11
  * Load vibe-validate configuration from project root
12
12
  *
13
- * Searches for configuration in multiple file patterns:
14
- * - vibe-validate.config.ts
15
- * - vibe-validate.config.js
16
- * - vibe-validate.config.mjs
17
- * - .vibe-validate.ts
18
- * - .vibe-validate.js
19
- * - .vibe-validate.mjs
13
+ * Searches for configuration files:
14
+ * - vibe-validate.config.yaml (primary format)
15
+ * - vibe-validate.config.mjs (deprecated, legacy support only)
20
16
  *
21
17
  * @param cwd Current working directory (defaults to process.cwd())
22
18
  * @returns Configuration object or null if not found
@@ -44,12 +40,8 @@ export async function loadConfig(cwd) {
44
40
  export function configExists(cwd) {
45
41
  const searchDir = cwd ?? process.cwd();
46
42
  const configPaths = [
47
- 'vibe-validate.config.ts',
48
- 'vibe-validate.config.js',
49
- 'vibe-validate.config.mjs',
50
- '.vibe-validate.ts',
51
- '.vibe-validate.js',
52
- '.vibe-validate.mjs',
43
+ 'vibe-validate.config.yaml',
44
+ 'vibe-validate.config.mjs', // Legacy (deprecated)
53
45
  ];
54
46
  return configPaths.some(path => existsSync(join(searchDir, path)));
55
47
  }
@@ -62,12 +54,8 @@ export function configExists(cwd) {
62
54
  export function findConfigPath(cwd) {
63
55
  const searchDir = cwd ?? process.cwd();
64
56
  const configPaths = [
65
- 'vibe-validate.config.ts',
66
- 'vibe-validate.config.js',
67
- 'vibe-validate.config.mjs',
68
- '.vibe-validate.ts',
69
- '.vibe-validate.js',
70
- '.vibe-validate.mjs',
57
+ 'vibe-validate.config.yaml',
58
+ 'vibe-validate.config.mjs', // Legacy (deprecated)
71
59
  ];
72
60
  for (const path of configPaths) {
73
61
  const fullPath = join(searchDir, path);
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAY;IAC3C,MAAM,SAAS,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEvC,IAAI,CAAC;QACH,mFAAmF;QACnF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClD,OAAO,MAAM,IAAI,IAAI,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,MAAM,SAAS,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG;QAClB,yBAAyB;QACzB,yBAAyB;QACzB,0BAA0B;QAC1B,mBAAmB;QACnB,mBAAmB;QACnB,oBAAoB;KACrB,CAAC;IAEF,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,MAAM,SAAS,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG;QAClB,yBAAyB;QACzB,yBAAyB;QACzB,0BAA0B;QAC1B,mBAAmB;QACnB,mBAAmB;QACnB,oBAAoB;KACrB,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAY;IAC3C,MAAM,SAAS,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEvC,IAAI,CAAC;QACH,mFAAmF;QACnF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClD,OAAO,MAAM,IAAI,IAAI,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,MAAM,SAAS,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG;QAClB,2BAA2B;QAC3B,0BAA0B,EAAE,sBAAsB;KACnD,CAAC;IAEF,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,MAAM,SAAS,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG;QAClB,2BAA2B;QAC3B,0BAA0B,EAAE,sBAAsB;KACnD,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Git Detection Utilities
3
+ *
4
+ * Shared utilities for detecting git configuration (main branch, remote origin).
5
+ * Used by both init and doctor commands.
6
+ */
7
+ /**
8
+ * Result of git configuration detection
9
+ */
10
+ export interface DetectedGitConfig {
11
+ /** The detected or default main branch name (e.g., 'main', 'master', 'develop') */
12
+ mainBranch: string;
13
+ /** The detected or default remote origin name (e.g., 'origin', 'upstream') */
14
+ remoteOrigin: string;
15
+ /** Whether git configuration was successfully detected (false means defaults were used) */
16
+ detected: boolean;
17
+ }
18
+ /**
19
+ * Detects git configuration from the current repository.
20
+ *
21
+ * This function attempts to auto-detect the main branch and remote origin
22
+ * by inspecting the git repository. It follows this detection strategy:
23
+ *
24
+ * 1. Check if we're in a git repository
25
+ * 2. Detect available remotes (prefer 'upstream' > 'origin' > first available)
26
+ * 3. Try to detect main branch from remote HEAD reference
27
+ * 4. If remote HEAD is not set, check for common branch names (main > master > develop)
28
+ * 5. Fall back to defaults if detection fails
29
+ *
30
+ * @returns {DetectedGitConfig} The detected or default git configuration
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * const gitConfig = detectGitConfig();
35
+ * console.log(gitConfig.mainBranch); // 'main'
36
+ * console.log(gitConfig.remoteOrigin); // 'origin'
37
+ * console.log(gitConfig.detected); // true if detected, false if defaults
38
+ * ```
39
+ */
40
+ export declare function detectGitConfig(): DetectedGitConfig;
41
+ //# sourceMappingURL=git-detection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-detection.d.ts","sourceRoot":"","sources":["../../src/utils/git-detection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,YAAY,EAAE,MAAM,CAAC;IACrB,2FAA2F;IAC3F,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CA4EnD"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Git Detection Utilities
3
+ *
4
+ * Shared utilities for detecting git configuration (main branch, remote origin).
5
+ * Used by both init and doctor commands.
6
+ */
7
+ import { execSync } from 'child_process';
8
+ import { GIT_DEFAULTS } from '@vibe-validate/config';
9
+ /**
10
+ * Detects git configuration from the current repository.
11
+ *
12
+ * This function attempts to auto-detect the main branch and remote origin
13
+ * by inspecting the git repository. It follows this detection strategy:
14
+ *
15
+ * 1. Check if we're in a git repository
16
+ * 2. Detect available remotes (prefer 'upstream' > 'origin' > first available)
17
+ * 3. Try to detect main branch from remote HEAD reference
18
+ * 4. If remote HEAD is not set, check for common branch names (main > master > develop)
19
+ * 5. Fall back to defaults if detection fails
20
+ *
21
+ * @returns {DetectedGitConfig} The detected or default git configuration
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * const gitConfig = detectGitConfig();
26
+ * console.log(gitConfig.mainBranch); // 'main'
27
+ * console.log(gitConfig.remoteOrigin); // 'origin'
28
+ * console.log(gitConfig.detected); // true if detected, false if defaults
29
+ * ```
30
+ */
31
+ export function detectGitConfig() {
32
+ const defaults = {
33
+ mainBranch: GIT_DEFAULTS.MAIN_BRANCH,
34
+ remoteOrigin: GIT_DEFAULTS.REMOTE_ORIGIN,
35
+ detected: false,
36
+ };
37
+ try {
38
+ // Check if we're in a git repository
39
+ execSync('git rev-parse --git-dir', { stdio: 'pipe' });
40
+ }
41
+ catch {
42
+ // Not a git repository - use defaults
43
+ return defaults;
44
+ }
45
+ let mainBranch = GIT_DEFAULTS.MAIN_BRANCH;
46
+ let remoteOrigin = GIT_DEFAULTS.REMOTE_ORIGIN;
47
+ let detected = false;
48
+ // Try to detect main branch from remote HEAD
49
+ try {
50
+ // First, get list of remotes
51
+ const remotesOutput = execSync('git remote', { encoding: 'utf8', stdio: 'pipe' }).trim();
52
+ const remotes = remotesOutput.split('\n').filter(Boolean);
53
+ if (remotes.length > 0) {
54
+ // Prefer 'upstream' if it exists (forked repo workflow), otherwise use first remote
55
+ if (remotes.includes('upstream')) {
56
+ remoteOrigin = 'upstream';
57
+ }
58
+ else if (remotes.includes('origin')) {
59
+ remoteOrigin = 'origin';
60
+ }
61
+ else {
62
+ remoteOrigin = remotes[0]; // Use first available remote
63
+ }
64
+ // Try to detect main branch from remote HEAD
65
+ try {
66
+ const headRef = execSync(`git symbolic-ref refs/remotes/${remoteOrigin}/HEAD`, {
67
+ encoding: 'utf8',
68
+ stdio: 'pipe',
69
+ }).trim();
70
+ mainBranch = headRef.replace(`refs/remotes/${remoteOrigin}/`, '');
71
+ detected = true;
72
+ }
73
+ catch {
74
+ // Remote HEAD not set, try to detect from common branch names
75
+ try {
76
+ const branches = execSync(`git ls-remote --heads ${remoteOrigin}`, {
77
+ encoding: 'utf8',
78
+ stdio: 'pipe',
79
+ }).trim();
80
+ // Check for common main branch names in order of preference
81
+ if (branches.includes('refs/heads/main')) {
82
+ mainBranch = 'main';
83
+ detected = true;
84
+ }
85
+ else if (branches.includes('refs/heads/master')) {
86
+ mainBranch = 'master';
87
+ detected = true;
88
+ }
89
+ else if (branches.includes('refs/heads/develop')) {
90
+ mainBranch = 'develop';
91
+ detected = true;
92
+ }
93
+ }
94
+ catch {
95
+ // Failed to list remote branches - use defaults
96
+ }
97
+ }
98
+ }
99
+ }
100
+ catch {
101
+ // Failed to detect - use defaults
102
+ }
103
+ return {
104
+ mainBranch,
105
+ remoteOrigin,
106
+ detected,
107
+ };
108
+ }
109
+ //# sourceMappingURL=git-detection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-detection.js","sourceRoot":"","sources":["../../src/utils/git-detection.ts"],"names":[],"mappings":"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"}
@@ -54,10 +54,10 @@ function createVerboseCallbacks() {
54
54
  },
55
55
  onStepComplete: (step, result) => {
56
56
  if (result.passed) {
57
- console.log(chalk.green(` ✅ ${step.name} (${result.duration}ms)`));
57
+ console.log(chalk.green(` ✅ ${step.name} (${result.durationSecs}s)`));
58
58
  }
59
59
  else {
60
- console.log(chalk.red(` ❌ ${step.name} failed (${result.duration}ms)`));
60
+ console.log(chalk.red(` ❌ ${step.name} failed (${result.durationSecs}s)`));
61
61
  if (result.output) {
62
62
  console.log(chalk.red(` Error: ${result.output}`));
63
63
  }
@@ -81,7 +81,7 @@ function createMinimalCallbacks() {
81
81
  console.log(` step_start: ${step.name}`);
82
82
  },
83
83
  onStepComplete: (step, result) => {
84
- console.log(` step_complete: ${step.name} (${result.passed ? 'passed' : 'failed'}, ${result.duration}ms)`);
84
+ console.log(` step_complete: ${step.name} (${result.passed ? 'passed' : 'failed'}, ${result.durationSecs}s)`);
85
85
  },
86
86
  };
87
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runner-adapter.js","sourceRoot":"","sources":["../../src/utils/runner-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner-adapter.js","sourceRoot":"","sources":["../../src/utils/runner-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Gitignore Setup Check
3
+ *
4
+ * Ensures that .vibe-validate-state.yaml is listed in .gitignore
5
+ * to prevent committing validation state files.
6
+ */
7
+ import type { SetupCheck, CheckResult, FixResult, PreviewResult, FixOptions } from '../setup-engine.js';
8
+ export declare class GitignoreSetupCheck implements SetupCheck {
9
+ readonly id = "gitignore";
10
+ readonly name = "Gitignore Setup";
11
+ check(options?: FixOptions): Promise<CheckResult>;
12
+ preview(options?: FixOptions): Promise<PreviewResult>;
13
+ fix(options?: FixOptions): Promise<FixResult>;
14
+ /**
15
+ * Generate content for a new .gitignore file
16
+ */
17
+ private generateNewGitignoreContent;
18
+ /**
19
+ * Add state file entry to existing .gitignore content
20
+ */
21
+ private addEntryToGitignore;
22
+ }
23
+ //# sourceMappingURL=gitignore-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitignore-check.d.ts","sourceRoot":"","sources":["../../../src/utils/setup-checks/gitignore-check.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,aAAa,EACb,UAAU,EACX,MAAM,oBAAoB,CAAC;AAI5B,qBAAa,mBAAoB,YAAW,UAAU;IACpD,QAAQ,CAAC,EAAE,eAAe;IAC1B,QAAQ,CAAC,IAAI,qBAAqB;IAE5B,KAAK,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAmCjD,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IA4CrD,GAAG,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA8DnD;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAMnC;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAY5B"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Gitignore Setup Check
3
+ *
4
+ * Ensures that .vibe-validate-state.yaml is listed in .gitignore
5
+ * to prevent committing validation state files.
6
+ */
7
+ import { readFile, writeFile } from 'fs/promises';
8
+ import { existsSync } from 'fs';
9
+ import { join } from 'path';
10
+ const STATE_FILE_ENTRY = '.vibe-validate-state.yaml';
11
+ export class GitignoreSetupCheck {
12
+ id = 'gitignore';
13
+ name = 'Gitignore Setup';
14
+ async check(options) {
15
+ const cwd = options?.cwd ?? process.cwd();
16
+ const gitignorePath = join(cwd, '.gitignore');
17
+ // Check if .gitignore exists
18
+ if (!existsSync(gitignorePath)) {
19
+ return {
20
+ passed: false,
21
+ message: '.gitignore not found',
22
+ suggestion: `Create .gitignore and add ${STATE_FILE_ENTRY}`,
23
+ };
24
+ }
25
+ // Read .gitignore content
26
+ const content = await readFile(gitignorePath, 'utf-8');
27
+ // Check if state file entry exists (with flexible whitespace)
28
+ const hasEntry = content
29
+ .split('\n')
30
+ .some(line => line.trim() === STATE_FILE_ENTRY);
31
+ if (!hasEntry) {
32
+ return {
33
+ passed: false,
34
+ message: `.gitignore missing ${STATE_FILE_ENTRY} entry`,
35
+ suggestion: `Add ${STATE_FILE_ENTRY} to .gitignore`,
36
+ };
37
+ }
38
+ return {
39
+ passed: true,
40
+ message: '.gitignore correctly configured with state file entry',
41
+ };
42
+ }
43
+ async preview(options) {
44
+ const cwd = options?.cwd ?? process.cwd();
45
+ const gitignorePath = join(cwd, '.gitignore');
46
+ // Check current state
47
+ const checkResult = await this.check(options);
48
+ if (checkResult.passed) {
49
+ return {
50
+ description: '.gitignore already configured correctly',
51
+ filesAffected: [],
52
+ changes: [],
53
+ };
54
+ }
55
+ // If .gitignore doesn't exist
56
+ if (!existsSync(gitignorePath)) {
57
+ const content = this.generateNewGitignoreContent();
58
+ return {
59
+ description: 'Create new .gitignore with vibe-validate state file entry',
60
+ filesAffected: ['.gitignore'],
61
+ changes: [
62
+ {
63
+ file: '.gitignore',
64
+ action: 'create',
65
+ content,
66
+ },
67
+ ],
68
+ };
69
+ }
70
+ // If .gitignore exists but missing entry
71
+ return {
72
+ description: `Add ${STATE_FILE_ENTRY} entry to existing .gitignore`,
73
+ filesAffected: ['.gitignore'],
74
+ changes: [
75
+ {
76
+ file: '.gitignore',
77
+ action: 'modify',
78
+ },
79
+ ],
80
+ };
81
+ }
82
+ async fix(options) {
83
+ const cwd = options?.cwd ?? process.cwd();
84
+ const gitignorePath = join(cwd, '.gitignore');
85
+ const dryRun = options?.dryRun ?? false;
86
+ // Check current state
87
+ const checkResult = await this.check(options);
88
+ if (checkResult.passed && !options?.force) {
89
+ return {
90
+ success: true,
91
+ message: '.gitignore already configured correctly',
92
+ filesChanged: [],
93
+ };
94
+ }
95
+ if (dryRun) {
96
+ return {
97
+ success: true,
98
+ message: '[dry-run] Would update .gitignore',
99
+ filesChanged: [],
100
+ };
101
+ }
102
+ // If .gitignore doesn't exist, create it
103
+ if (!existsSync(gitignorePath)) {
104
+ const content = this.generateNewGitignoreContent();
105
+ await writeFile(gitignorePath, content, 'utf-8');
106
+ return {
107
+ success: true,
108
+ message: 'Created .gitignore with state file entry',
109
+ filesChanged: ['.gitignore'],
110
+ };
111
+ }
112
+ // If .gitignore exists, add entry if missing
113
+ const content = await readFile(gitignorePath, 'utf-8');
114
+ const hasEntry = content
115
+ .split('\n')
116
+ .some(line => line.trim() === STATE_FILE_ENTRY);
117
+ if (hasEntry) {
118
+ // Entry already exists (idempotent)
119
+ return {
120
+ success: true,
121
+ message: '.gitignore already contains state file entry',
122
+ filesChanged: [],
123
+ };
124
+ }
125
+ // Add entry to existing .gitignore
126
+ const updatedContent = this.addEntryToGitignore(content);
127
+ await writeFile(gitignorePath, updatedContent, 'utf-8');
128
+ return {
129
+ success: true,
130
+ message: `Added ${STATE_FILE_ENTRY} to .gitignore`,
131
+ filesChanged: ['.gitignore'],
132
+ };
133
+ }
134
+ /**
135
+ * Generate content for a new .gitignore file
136
+ */
137
+ generateNewGitignoreContent() {
138
+ return `# vibe-validate
139
+ ${STATE_FILE_ENTRY}
140
+ `;
141
+ }
142
+ /**
143
+ * Add state file entry to existing .gitignore content
144
+ */
145
+ addEntryToGitignore(content) {
146
+ // Ensure content ends with newline
147
+ let updatedContent = content;
148
+ if (!content.endsWith('\n')) {
149
+ updatedContent += '\n';
150
+ }
151
+ // Add vibe-validate section
152
+ updatedContent += `\n# vibe-validate\n${STATE_FILE_ENTRY}\n`;
153
+ return updatedContent;
154
+ }
155
+ }
156
+ //# sourceMappingURL=gitignore-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitignore-check.js","sourceRoot":"","sources":["../../../src/utils/setup-checks/gitignore-check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Hooks Setup Check
3
+ *
4
+ * Ensures that husky pre-commit hook is configured to run vibe-validate.
5
+ * This check creates/modifies .husky/pre-commit to include the vibe-validate
6
+ * pre-commit command.
7
+ *
8
+ * Note: This check does NOT install husky as a dependency. Users should
9
+ * install husky manually via `npm install -D husky` or `pnpm add -D husky`.
10
+ */
11
+ import type { SetupCheck, CheckResult, FixResult, PreviewResult, FixOptions } from '../setup-engine.js';
12
+ export declare class HooksSetupCheck implements SetupCheck {
13
+ readonly id = "hooks";
14
+ readonly name = "Pre-commit Hook Setup";
15
+ check(options?: FixOptions): Promise<CheckResult>;
16
+ preview(options?: FixOptions): Promise<PreviewResult>;
17
+ fix(options?: FixOptions): Promise<FixResult>;
18
+ /**
19
+ * Generate content for a new pre-commit hook
20
+ */
21
+ private generateNewPreCommitHook;
22
+ /**
23
+ * Add vibe-validate command to existing pre-commit hook
24
+ */
25
+ private addCommandToPreCommit;
26
+ }
27
+ //# sourceMappingURL=hooks-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks-check.d.ts","sourceRoot":"","sources":["../../../src/utils/setup-checks/hooks-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,aAAa,EACb,UAAU,EACX,MAAM,oBAAoB,CAAC;AAI5B,qBAAa,eAAgB,YAAW,UAAU;IAChD,QAAQ,CAAC,EAAE,WAAW;IACtB,QAAQ,CAAC,IAAI,2BAA2B;IAElC,KAAK,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IA2CjD,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IA6CrD,GAAG,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAoEnD;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAQhC;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAY9B"}