@vyuhlabs/dxkit 2.4.7 → 2.5.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 (309) hide show
  1. package/CHANGELOG.md +456 -30
  2. package/README.md +360 -439
  3. package/dist/analyzers/bom/gather.d.ts +3 -3
  4. package/dist/analyzers/bom/gather.js +3 -3
  5. package/dist/analyzers/bom/index.js +2 -2
  6. package/dist/analyzers/bom/index.js.map +1 -1
  7. package/dist/analyzers/dashboard/index.d.ts.map +1 -1
  8. package/dist/analyzers/dashboard/index.js +4 -3
  9. package/dist/analyzers/dashboard/index.js.map +1 -1
  10. package/dist/analyzers/developer/index.d.ts.map +1 -1
  11. package/dist/analyzers/developer/index.js +2 -1
  12. package/dist/analyzers/developer/index.js.map +1 -1
  13. package/dist/analyzers/dispatcher.d.ts +15 -0
  14. package/dist/analyzers/dispatcher.d.ts.map +1 -1
  15. package/dist/analyzers/dispatcher.js +42 -6
  16. package/dist/analyzers/dispatcher.js.map +1 -1
  17. package/dist/analyzers/health.d.ts.map +1 -1
  18. package/dist/analyzers/health.js +11 -1
  19. package/dist/analyzers/health.js.map +1 -1
  20. package/dist/analyzers/licenses/gather.d.ts +1 -1
  21. package/dist/analyzers/licenses/gather.d.ts.map +1 -1
  22. package/dist/analyzers/licenses/gather.js +18 -2
  23. package/dist/analyzers/licenses/gather.js.map +1 -1
  24. package/dist/analyzers/quality/index.d.ts.map +1 -1
  25. package/dist/analyzers/quality/index.js +10 -2
  26. package/dist/analyzers/quality/index.js.map +1 -1
  27. package/dist/analyzers/security/aggregator.d.ts.map +1 -1
  28. package/dist/analyzers/security/aggregator.js +8 -48
  29. package/dist/analyzers/security/aggregator.js.map +1 -1
  30. package/dist/analyzers/security/gather.d.ts +4 -3
  31. package/dist/analyzers/security/gather.d.ts.map +1 -1
  32. package/dist/analyzers/security/gather.js +23 -5
  33. package/dist/analyzers/security/gather.js.map +1 -1
  34. package/dist/analyzers/security/index.d.ts +1 -1
  35. package/dist/analyzers/security/index.js +2 -2
  36. package/dist/analyzers/security/index.js.map +1 -1
  37. package/dist/analyzers/tools/autogen-header.js +1 -1
  38. package/dist/analyzers/tools/cloc.js +3 -3
  39. package/dist/analyzers/tools/cloc.js.map +1 -1
  40. package/dist/analyzers/tools/deadline.d.ts +67 -0
  41. package/dist/analyzers/tools/deadline.d.ts.map +1 -0
  42. package/dist/analyzers/tools/deadline.js +81 -0
  43. package/dist/analyzers/tools/deadline.js.map +1 -0
  44. package/dist/analyzers/tools/exclusions.d.ts +6 -6
  45. package/dist/analyzers/tools/exclusions.js +6 -6
  46. package/dist/analyzers/tools/fingerprint.d.ts +91 -26
  47. package/dist/analyzers/tools/fingerprint.d.ts.map +1 -1
  48. package/dist/analyzers/tools/fingerprint.js +111 -22
  49. package/dist/analyzers/tools/fingerprint.js.map +1 -1
  50. package/dist/analyzers/tools/generic.d.ts.map +1 -1
  51. package/dist/analyzers/tools/generic.js +7 -2
  52. package/dist/analyzers/tools/generic.js.map +1 -1
  53. package/dist/analyzers/tools/gitleaks.d.ts +24 -1
  54. package/dist/analyzers/tools/gitleaks.d.ts.map +1 -1
  55. package/dist/analyzers/tools/gitleaks.js +21 -12
  56. package/dist/analyzers/tools/gitleaks.js.map +1 -1
  57. package/dist/analyzers/tools/graphify.js +1 -1
  58. package/dist/analyzers/tools/jscpd.js +1 -1
  59. package/dist/analyzers/tools/jscpd.js.map +1 -1
  60. package/dist/analyzers/tools/lint-label.d.ts +29 -0
  61. package/dist/analyzers/tools/lint-label.d.ts.map +1 -0
  62. package/dist/analyzers/tools/lint-label.js +23 -0
  63. package/dist/analyzers/tools/lint-label.js.map +1 -0
  64. package/dist/analyzers/tools/nuget-package-reference.d.ts +6 -4
  65. package/dist/analyzers/tools/nuget-package-reference.d.ts.map +1 -1
  66. package/dist/analyzers/tools/nuget-package-reference.js +7 -5
  67. package/dist/analyzers/tools/nuget-package-reference.js.map +1 -1
  68. package/dist/analyzers/tools/report-date.d.ts +17 -0
  69. package/dist/analyzers/tools/report-date.d.ts.map +1 -0
  70. package/dist/analyzers/tools/report-date.js +26 -0
  71. package/dist/analyzers/tools/report-date.js.map +1 -0
  72. package/dist/analyzers/tools/runner.js +3 -3
  73. package/dist/analyzers/tools/runner.js.map +1 -1
  74. package/dist/analyzers/tools/vendored-advisor.js +1 -1
  75. package/dist/analyzers/tools/walk-paths.d.ts +1 -1
  76. package/dist/analyzers/tools/walk-paths.js +1 -1
  77. package/dist/analyzers/tools/walk-source-files.js +1 -1
  78. package/dist/analyzers/types.d.ts +6 -4
  79. package/dist/analyzers/types.d.ts.map +1 -1
  80. package/dist/baseline/baseline-file.d.ts +104 -0
  81. package/dist/baseline/baseline-file.d.ts.map +1 -0
  82. package/dist/baseline/baseline-file.js +110 -0
  83. package/dist/baseline/baseline-file.js.map +1 -0
  84. package/dist/baseline/check-renderers.d.ts +108 -0
  85. package/dist/baseline/check-renderers.d.ts.map +1 -0
  86. package/dist/baseline/check-renderers.js +379 -0
  87. package/dist/baseline/check-renderers.js.map +1 -0
  88. package/dist/baseline/check.d.ts +127 -0
  89. package/dist/baseline/check.d.ts.map +1 -0
  90. package/dist/baseline/check.js +462 -0
  91. package/dist/baseline/check.js.map +1 -0
  92. package/dist/baseline/content-hash.d.ts +83 -0
  93. package/dist/baseline/content-hash.d.ts.map +1 -0
  94. package/dist/baseline/content-hash.js +131 -0
  95. package/dist/baseline/content-hash.js.map +1 -0
  96. package/dist/baseline/create.d.ts +96 -0
  97. package/dist/baseline/create.d.ts.map +1 -0
  98. package/dist/baseline/create.js +339 -0
  99. package/dist/baseline/create.js.map +1 -0
  100. package/dist/baseline/entry-to-located.d.ts +35 -0
  101. package/dist/baseline/entry-to-located.d.ts.map +1 -0
  102. package/dist/baseline/entry-to-located.js +72 -0
  103. package/dist/baseline/entry-to-located.js.map +1 -0
  104. package/dist/baseline/finding-identity.d.ts +47 -0
  105. package/dist/baseline/finding-identity.d.ts.map +1 -0
  106. package/dist/baseline/finding-identity.js +292 -0
  107. package/dist/baseline/finding-identity.js.map +1 -0
  108. package/dist/baseline/git-aware-match.d.ts +146 -0
  109. package/dist/baseline/git-aware-match.d.ts.map +1 -0
  110. package/dist/baseline/git-aware-match.js +439 -0
  111. package/dist/baseline/git-aware-match.js.map +1 -0
  112. package/dist/baseline/policy.d.ts +171 -0
  113. package/dist/baseline/policy.d.ts.map +1 -0
  114. package/dist/baseline/policy.js +206 -0
  115. package/dist/baseline/policy.js.map +1 -0
  116. package/dist/baseline/producers/health.d.ts +30 -0
  117. package/dist/baseline/producers/health.d.ts.map +1 -0
  118. package/dist/baseline/producers/health.js +42 -0
  119. package/dist/baseline/producers/health.js.map +1 -0
  120. package/dist/baseline/producers/index.d.ts +164 -0
  121. package/dist/baseline/producers/index.d.ts.map +1 -0
  122. package/dist/baseline/producers/index.js +200 -0
  123. package/dist/baseline/producers/index.js.map +1 -0
  124. package/dist/baseline/producers/licenses.d.ts +23 -0
  125. package/dist/baseline/producers/licenses.d.ts.map +1 -0
  126. package/dist/baseline/producers/licenses.js +46 -0
  127. package/dist/baseline/producers/licenses.js.map +1 -0
  128. package/dist/baseline/producers/quality.d.ts +39 -0
  129. package/dist/baseline/producers/quality.d.ts.map +1 -0
  130. package/dist/baseline/producers/quality.js +84 -0
  131. package/dist/baseline/producers/quality.js.map +1 -0
  132. package/dist/baseline/producers/secret-hmac.d.ts +45 -0
  133. package/dist/baseline/producers/secret-hmac.d.ts.map +1 -0
  134. package/dist/baseline/producers/secret-hmac.js +70 -0
  135. package/dist/baseline/producers/secret-hmac.js.map +1 -0
  136. package/dist/baseline/producers/security.d.ts +59 -0
  137. package/dist/baseline/producers/security.d.ts.map +1 -0
  138. package/dist/baseline/producers/security.js +135 -0
  139. package/dist/baseline/producers/security.js.map +1 -0
  140. package/dist/baseline/producers/tests.d.ts +36 -0
  141. package/dist/baseline/producers/tests.d.ts.map +1 -0
  142. package/dist/baseline/producers/tests.js +69 -0
  143. package/dist/baseline/producers/tests.js.map +1 -0
  144. package/dist/baseline/salt.d.ts +45 -0
  145. package/dist/baseline/salt.d.ts.map +1 -0
  146. package/dist/baseline/salt.js +113 -0
  147. package/dist/baseline/salt.js.map +1 -0
  148. package/dist/baseline/show.d.ts +79 -0
  149. package/dist/baseline/show.d.ts.map +1 -0
  150. package/dist/baseline/show.js +233 -0
  151. package/dist/baseline/show.js.map +1 -0
  152. package/dist/baseline/types.d.ts +482 -0
  153. package/dist/baseline/types.d.ts.map +1 -0
  154. package/dist/baseline/types.js +53 -0
  155. package/dist/baseline/types.js.map +1 -0
  156. package/dist/cli.d.ts.map +1 -1
  157. package/dist/cli.js +395 -92
  158. package/dist/cli.js.map +1 -1
  159. package/dist/codebase-scanner.d.ts.map +1 -1
  160. package/dist/codebase-scanner.js +0 -1
  161. package/dist/codebase-scanner.js.map +1 -1
  162. package/dist/constants.d.ts.map +1 -1
  163. package/dist/constants.js +0 -4
  164. package/dist/constants.js.map +1 -1
  165. package/dist/detect.js +3 -3
  166. package/dist/detect.js.map +1 -1
  167. package/dist/doctor.d.ts.map +1 -1
  168. package/dist/doctor.js +22 -25
  169. package/dist/doctor.js.map +1 -1
  170. package/dist/fail-on.d.ts +84 -0
  171. package/dist/fail-on.d.ts.map +1 -0
  172. package/dist/fail-on.js +128 -0
  173. package/dist/fail-on.js.map +1 -0
  174. package/dist/generator.d.ts.map +1 -1
  175. package/dist/generator.js +2 -141
  176. package/dist/generator.js.map +1 -1
  177. package/dist/languages/capabilities/provider.d.ts +4 -4
  178. package/dist/languages/capabilities/types.d.ts +1 -1
  179. package/dist/languages/csharp.d.ts.map +1 -1
  180. package/dist/languages/csharp.js +15 -24
  181. package/dist/languages/csharp.js.map +1 -1
  182. package/dist/languages/go.d.ts.map +1 -1
  183. package/dist/languages/go.js +0 -15
  184. package/dist/languages/go.js.map +1 -1
  185. package/dist/languages/index.d.ts +4 -3
  186. package/dist/languages/index.d.ts.map +1 -1
  187. package/dist/languages/index.js +3 -2
  188. package/dist/languages/index.js.map +1 -1
  189. package/dist/languages/java.d.ts.map +1 -1
  190. package/dist/languages/java.js +0 -6
  191. package/dist/languages/java.js.map +1 -1
  192. package/dist/languages/kotlin.d.ts.map +1 -1
  193. package/dist/languages/kotlin.js +0 -11
  194. package/dist/languages/kotlin.js.map +1 -1
  195. package/dist/languages/python.d.ts.map +1 -1
  196. package/dist/languages/python.js +0 -15
  197. package/dist/languages/python.js.map +1 -1
  198. package/dist/languages/ruby.d.ts.map +1 -1
  199. package/dist/languages/ruby.js +0 -6
  200. package/dist/languages/ruby.js.map +1 -1
  201. package/dist/languages/rust.d.ts.map +1 -1
  202. package/dist/languages/rust.js +0 -4
  203. package/dist/languages/rust.js.map +1 -1
  204. package/dist/languages/types.d.ts +9 -35
  205. package/dist/languages/types.d.ts.map +1 -1
  206. package/dist/languages/typescript.d.ts.map +1 -1
  207. package/dist/languages/typescript.js +26 -4
  208. package/dist/languages/typescript.js.map +1 -1
  209. package/dist/lib.d.ts +2 -3
  210. package/dist/lib.d.ts.map +1 -1
  211. package/dist/lib.js +3 -6
  212. package/dist/lib.js.map +1 -1
  213. package/dist/prompts.d.ts.map +1 -1
  214. package/dist/prompts.js +0 -10
  215. package/dist/prompts.js.map +1 -1
  216. package/dist/report-schema.d.ts +42 -0
  217. package/dist/report-schema.d.ts.map +1 -0
  218. package/dist/report-schema.js +54 -0
  219. package/dist/report-schema.js.map +1 -0
  220. package/dist/ship-installers.d.ts +106 -0
  221. package/dist/ship-installers.d.ts.map +1 -0
  222. package/dist/ship-installers.js +415 -0
  223. package/dist/ship-installers.js.map +1 -0
  224. package/dist/types.d.ts +0 -4
  225. package/dist/types.d.ts.map +1 -1
  226. package/dist/update.d.ts.map +1 -1
  227. package/dist/update.js +0 -4
  228. package/dist/update.js.map +1 -1
  229. package/package.json +17 -11
  230. package/templates/.claude/agents/onboarding.md +5 -4
  231. package/templates/.claude/agents-available/codebase-explorer.md +1 -1
  232. package/templates/.claude/agents-available/debugger.md +2 -2
  233. package/templates/.claude/agents-available/health-auditor.md +2 -2
  234. package/templates/.claude/commands/doctor.md +20 -12
  235. package/templates/.claude/skills/build/SKILL.md.template +22 -30
  236. package/templates/.claude/skills/deploy/SKILL.md.template +5 -25
  237. package/templates/.claude/skills/doctor/SKILL.md +24 -47
  238. package/templates/.claude/skills/gcloud/SKILL.md +5 -5
  239. package/templates/.claude/skills/learned/SKILL.md +1 -1
  240. package/templates/.claude/skills/pulumi/SKILL.md +2 -2
  241. package/templates/.claude/skills/quality/SKILL.md.template +4 -23
  242. package/templates/.claude/skills/review/SKILL.md.template +4 -3
  243. package/templates/.claude/skills/scaffold/SKILL.md.template +5 -15
  244. package/templates/.claude/skills/secrets/SKILL.md +20 -21
  245. package/templates/.claude/skills/session/SKILL.md +20 -31
  246. package/templates/.claude/skills/test/SKILL.md.template +1 -7
  247. package/templates/.devcontainer/devcontainer.json +81 -0
  248. package/templates/.devcontainer/install-agent-clis.sh +42 -0
  249. package/templates/.devcontainer/post-create.sh +67 -0
  250. package/templates/.githooks/pre-commit +55 -0
  251. package/templates/.githooks/pre-push +63 -0
  252. package/templates/.github/workflows/dxkit-baseline-refresh.yml +78 -0
  253. package/templates/.github/workflows/dxkit-guardrails.yml +98 -0
  254. package/templates/CLAUDE.md.template +62 -196
  255. package/dist/project-yaml.d.ts +0 -13
  256. package/dist/project-yaml.d.ts.map +0 -1
  257. package/dist/project-yaml.js +0 -188
  258. package/dist/project-yaml.js.map +0 -1
  259. package/templates/.ai/README.md +0 -117
  260. package/templates/.ai/prompts/execution-prompt.md +0 -9
  261. package/templates/.ai/prompts/planning-prompt.md +0 -18
  262. package/templates/.ai/prompts/session-end-template.md +0 -182
  263. package/templates/.ai/prompts/session-end.md +0 -132
  264. package/templates/.ai/prompts/session-start.md +0 -109
  265. package/templates/.ai/prompts/step-by-step.md +0 -113
  266. package/templates/.ai/sessions/.gitkeep +0 -0
  267. package/templates/.claude/commands/setup-pr-review.md +0 -72
  268. package/templates/.devcontainer/Dockerfile.dev.template +0 -89
  269. package/templates/.devcontainer/devcontainer.json.template +0 -184
  270. package/templates/.devcontainer/docker-compose.yml.template +0 -105
  271. package/templates/.devcontainer/init-scripts/01-init.sql.template +0 -12
  272. package/templates/.devcontainer/post-create.sh.template +0 -298
  273. package/templates/.github/workflows/ci.yml.template +0 -399
  274. package/templates/.github/workflows/quality.yml.template +0 -376
  275. package/templates/.pre-commit-config.yaml.template +0 -106
  276. package/templates/.project/config/edit_config.py +0 -275
  277. package/templates/.project/config/project_config.py +0 -894
  278. package/templates/.project/scripts/codegen/generate-all.sh +0 -20
  279. package/templates/.project/scripts/codegen/validate-all.sh +0 -17
  280. package/templates/.project/scripts/docs/generate-all.sh +0 -30
  281. package/templates/.project/scripts/docs/serve.sh +0 -20
  282. package/templates/.project/scripts/quality/fix-all.sh +0 -138
  283. package/templates/.project/scripts/quality/lint-go.sh +0 -34
  284. package/templates/.project/scripts/quality/lint-python.sh +0 -54
  285. package/templates/.project/scripts/quality/run-all.sh +0 -497
  286. package/templates/.project/scripts/session/commit.sh +0 -70
  287. package/templates/.project/scripts/session/create-pr.sh +0 -165
  288. package/templates/.project/scripts/session/end.sh +0 -207
  289. package/templates/.project/scripts/session/start.sh +0 -233
  290. package/templates/.project/scripts/setup/doctor.sh +0 -404
  291. package/templates/.project/scripts/setup/interactive-setup.sh +0 -585
  292. package/templates/.project/scripts/sync/sync-template.sh +0 -328
  293. package/templates/.project/scripts/test/run-all.sh +0 -179
  294. package/templates/.project/scripts/test/run-quick.sh +0 -25
  295. package/templates/Makefile +0 -514
  296. package/templates/config/versions.yaml +0 -57
  297. package/templates/configs/go/.golangci.yml.template +0 -172
  298. package/templates/configs/go/go.mod.template +0 -15
  299. package/templates/configs/java/README.md +0 -6
  300. package/templates/configs/kotlin/README.md +0 -6
  301. package/templates/configs/node/package.json.template +0 -67
  302. package/templates/configs/node/tsconfig.json.template +0 -53
  303. package/templates/configs/python/pyproject.toml.template +0 -92
  304. package/templates/configs/python/pytest.ini.template +0 -64
  305. package/templates/configs/python/ruff.toml.template +0 -79
  306. package/templates/configs/ruby/README.md +0 -6
  307. package/templates/configs/rust/Cargo.toml.template +0 -51
  308. package/templates/configs/shared/.editorconfig +0 -67
  309. package/templates/scripts/validate-templates.sh +0 -449
@@ -1,20 +0,0 @@
1
- #!/usr/bin/env bash
2
- # Generate all code (placeholder for project-specific code generation)
3
-
4
- set -euo pipefail
5
-
6
- # Colors
7
- GREEN='\033[0;32m'
8
- CYAN='\033[1;33m'
9
- NC='\033[0m'
10
-
11
- echo -e "${CYAN}🔧 Running code generation...${NC}"
12
- echo ""
13
-
14
- # Add your code generation commands here
15
- # Example: generate API clients, protobuf, error codes, etc.
16
-
17
- # If you have error code generation:
18
- # ./scripts/codegen/generate-errors.sh
19
-
20
- echo -e "${GREEN}✅ Code generation complete!${NC}"
@@ -1,17 +0,0 @@
1
- #!/usr/bin/env bash
2
- # Validate all generated code is in sync
3
-
4
- set -euo pipefail
5
-
6
- # Colors
7
- GREEN='\033[0;32m'
8
- CYAN='\033[1;33m'
9
- NC='\033[0m'
10
-
11
- echo -e "${CYAN}🔍 Validating generated code...${NC}"
12
- echo ""
13
-
14
- # Add validation logic here
15
- # Example: Check if generated files match their sources
16
-
17
- echo -e "${GREEN}✅ All generated code is valid!${NC}"
@@ -1,30 +0,0 @@
1
- #!/bin/bash
2
-
3
- # Colors
4
- CYAN='\033[36m'
5
- GREEN='\033[32m'
6
- RESET='\033[0m'
7
-
8
- echo -e "${CYAN}📚 Generating Documentation${RESET}"
9
- echo "============================"
10
- echo ""
11
-
12
- # Create docs directory if needed
13
- mkdir -p docs/api
14
-
15
- # Generate Go docs if godoc available
16
- if command -v go &> /dev/null && find . -name "*.go" -type f | grep -q .; then
17
- echo -e "${CYAN}Generating Go documentation...${RESET}"
18
- go doc -all > docs/api/go-packages.txt 2>/dev/null || true
19
- echo -e "${GREEN}✓${RESET} Go docs generated"
20
- fi
21
-
22
- # Generate Python docs if pdoc available
23
- if command -v pdoc &> /dev/null && find . -name "*.py" -type f | grep -q .; then
24
- echo -e "${CYAN}Generating Python documentation...${RESET}"
25
- # Add pdoc commands here
26
- echo -e "${GREEN}✓${RESET} Python docs generated"
27
- fi
28
-
29
- echo ""
30
- echo -e "${GREEN}✅ Documentation generation complete!${RESET}"
@@ -1,20 +0,0 @@
1
- #!/bin/bash
2
-
3
- # Colors
4
- CYAN='\033[36m'
5
- GREEN='\033[32m'
6
- RESET='\033[0m'
7
-
8
- echo -e "${CYAN}📖 Serving Documentation${RESET}"
9
- echo "========================"
10
- echo ""
11
-
12
- # Try to start a docs server
13
- if command -v python3 &> /dev/null; then
14
- echo -e "${GREEN}✓${RESET} Serving at http://localhost:8080"
15
- echo "Press Ctrl+C to stop"
16
- cd docs && python3 -m http.server 8080
17
- else
18
- echo "Python3 not found - cannot serve docs"
19
- exit 1
20
- fi
@@ -1,138 +0,0 @@
1
- #!/bin/bash
2
-
3
- # Colors
4
- CYAN='\033[36m'
5
- GREEN='\033[32m'
6
- YELLOW='\033[1;33m'
7
- DIM='\033[2m'
8
- RESET='\033[0m'
9
-
10
- # Helper to read config
11
- read_config() {
12
- local path="$1"
13
- local default="$2"
14
- if [ -f ".project.yaml" ] && command -v python3 &> /dev/null; then
15
- python3 -c "
16
- import yaml
17
- try:
18
- with open('.project.yaml') as f:
19
- c = yaml.safe_load(f)
20
- keys = '$path'.split('.')
21
- val = c
22
- for k in keys:
23
- val = val.get(k, {}) if isinstance(val, dict) else {}
24
- print('true' if val is True else ('false' if val is False else '$default'))
25
- except:
26
- print('$default')
27
- " 2>/dev/null || echo "$default"
28
- else
29
- echo "$default"
30
- fi
31
- }
32
-
33
- # Read enabled languages from config
34
- PYTHON_ENABLED=$(read_config "languages.python.enabled" "false")
35
- GO_ENABLED=$(read_config "languages.go.enabled" "false")
36
- NODE_ENABLED=$(read_config "languages.node.enabled" "false")
37
- RUST_ENABLED=$(read_config "languages.rust.enabled" "false")
38
-
39
- echo -e "${CYAN}🔧 Auto-fixing Quality Issues${RESET}"
40
- echo ""
41
-
42
- # Format Go code
43
- if [ "$GO_ENABLED" = "true" ]; then
44
- if find . -name "*.go" -type f -not -path "./v0/*" -not -path "./.git/*" -not -path "./.template/*" | grep -q .; then
45
- echo -e "${CYAN}Formatting Go code...${RESET}"
46
- gofmt -w $(find . -name "*.go" -type f -not -path "./v0/*" -not -path "./.git/*" -not -path "./.template/*")
47
- if command -v goimports &> /dev/null; then
48
- goimports -w $(find . -name "*.go" -type f -not -path "./v0/*" -not -path "./.git/*" -not -path "./.template/*") 2>/dev/null || true
49
- fi
50
- echo -e "${GREEN}✓${RESET} Go code formatted"
51
- echo ""
52
- else
53
- echo -e "${DIM}○ Go enabled but no .go files found${RESET}"
54
- fi
55
- fi
56
-
57
- # Format Python code
58
- if [ "$PYTHON_ENABLED" = "true" ]; then
59
- if find . -name "*.py" -type f -not -path "./v0/*" -not -path "./.git/*" -not -path "./.venv/*" -not -path "./venv/*" -not -path "./.template/*" | grep -q .; then
60
- echo -e "${CYAN}Formatting Python code...${RESET}"
61
-
62
- # Use ruff for auto-fixes
63
- if command -v ruff &> /dev/null; then
64
- ruff check --fix . --exclude ".template,.venv,venv,v0" 2>/dev/null || true
65
- ruff format . --exclude ".template,.venv,venv,v0" 2>/dev/null || true
66
- echo -e "${GREEN}✓${RESET} ruff fixes applied"
67
- fi
68
-
69
- # Use black for formatting (fallback if ruff format not available)
70
- if command -v black &> /dev/null && ! command -v ruff &> /dev/null; then
71
- find . -name "*.py" -type f -not -path "./v0/*" -not -path "./.git/*" -not -path "./.venv/*" -not -path "./venv/*" -not -path "./.template/*" | xargs -r black 2>/dev/null || true
72
- echo -e "${GREEN}✓${RESET} black formatting applied"
73
- fi
74
-
75
- echo -e "${GREEN}✓${RESET} Python code formatted"
76
- echo ""
77
- else
78
- echo -e "${DIM}○ Python enabled but no .py files found${RESET}"
79
- fi
80
- fi
81
-
82
- # Format Node.js code
83
- if [ "$NODE_ENABLED" = "true" ]; then
84
- if find . \( -name "*.ts" -o -name "*.js" \) -type f -not -path "./node_modules/*" -not -path "./.git/*" -not -path "./.template/*" 2>/dev/null | grep -q .; then
85
- echo -e "${CYAN}Formatting Node.js code...${RESET}"
86
-
87
- # Use prettier if available
88
- PRETTIER_CMD=""
89
- if command -v prettier &> /dev/null; then
90
- PRETTIER_CMD="prettier"
91
- elif [ -f "node_modules/.bin/prettier" ]; then
92
- PRETTIER_CMD="./node_modules/.bin/prettier"
93
- fi
94
-
95
- if [ -n "$PRETTIER_CMD" ]; then
96
- $PRETTIER_CMD --write "**/*.{js,ts,jsx,tsx}" 2>/dev/null || true
97
- echo -e "${GREEN}✓${RESET} prettier formatting applied"
98
- fi
99
-
100
- # Use eslint --fix if available
101
- ESLINT_CMD=""
102
- if command -v eslint &> /dev/null; then
103
- ESLINT_CMD="eslint"
104
- elif [ -f "node_modules/.bin/eslint" ]; then
105
- ESLINT_CMD="./node_modules/.bin/eslint"
106
- fi
107
-
108
- if [ -n "$ESLINT_CMD" ]; then
109
- $ESLINT_CMD --fix . --ext .js,.ts 2>/dev/null || true
110
- echo -e "${GREEN}✓${RESET} eslint fixes applied"
111
- fi
112
-
113
- echo -e "${GREEN}✓${RESET} Node.js code formatted"
114
- echo ""
115
- else
116
- echo -e "${DIM}○ Node.js enabled but no .js/.ts files found${RESET}"
117
- fi
118
- fi
119
-
120
- # Format Rust code
121
- if [ "$RUST_ENABLED" = "true" ]; then
122
- if find . -name "*.rs" -type f -not -path "./target/*" -not -path "./.git/*" -not -path "./.template/*" | grep -q .; then
123
- echo -e "${CYAN}Formatting Rust code...${RESET}"
124
-
125
- if command -v cargo &> /dev/null; then
126
- cargo fmt 2>/dev/null || true
127
- echo -e "${GREEN}✓${RESET} cargo fmt applied"
128
- fi
129
-
130
- echo -e "${GREEN}✓${RESET} Rust code formatted"
131
- echo ""
132
- else
133
- echo -e "${DIM}○ Rust enabled but no .rs files found${RESET}"
134
- fi
135
- fi
136
-
137
- echo -e "${GREEN}✅ Quality fixes complete!${RESET}"
138
- echo -e "${DIM}Run 'make quality' to verify${RESET}"
@@ -1,34 +0,0 @@
1
- #!/bin/bash
2
- # Lint all Go code using golangci-lint
3
-
4
- set -e
5
-
6
- CYAN='\033[36m'
7
- GREEN='\033[32m'
8
- RED='\033[0;31m'
9
- YELLOW='\033[1;33m'
10
- RESET='\033[0m'
11
-
12
- echo -e "${CYAN}Linting Go code...${RESET}"
13
-
14
- # Check if golangci-lint is installed
15
- if ! command -v golangci-lint &> /dev/null; then
16
- echo -e "${YELLOW}⚠️ golangci-lint not found - skipping Go linting${RESET}"
17
- echo -e "${YELLOW}Install with: go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest${RESET}"
18
- exit 0
19
- fi
20
-
21
- # Check if there are any Go files
22
- if ! find . -name "*.go" -type f -not -path "./v0/*" | grep -q .; then
23
- echo -e "${YELLOW}⚠️ No Go files found${RESET}"
24
- exit 0
25
- fi
26
-
27
- # Run golangci-lint
28
- if [ -f ".golangci.yml" ]; then
29
- golangci-lint run --config=.golangci.yml ./...
30
- else
31
- golangci-lint run ./...
32
- fi
33
-
34
- echo -e "${GREEN}✅ Go linting passed${RESET}"
@@ -1,54 +0,0 @@
1
- #!/bin/bash
2
- # Lint all Python code using ruff and mypy
3
-
4
- set -e
5
-
6
- CYAN='\033[36m'
7
- GREEN='\033[32m'
8
- RED='\033[0;31m'
9
- YELLOW='\033[1;33m'
10
- RESET='\033[0m'
11
-
12
- FAILED=0
13
-
14
- # Check if there are any Python files (excluding template, venv, v0)
15
- if ! find . -name "*.py" -type f -not -path "./v0/*" -not -path "./.template/*" -not -path "./.venv/*" -not -path "./venv/*" 2>/dev/null | grep -q .; then
16
- echo -e "${YELLOW}⚠️ No Python files found${RESET}"
17
- exit 0
18
- fi
19
-
20
- # Run ruff if installed
21
- if command -v ruff &> /dev/null; then
22
- echo -e "${CYAN}Linting Python code with ruff...${RESET}"
23
- if ruff check . --exclude ".template,.venv,venv,v0"; then
24
- echo -e "${GREEN}✅ Ruff linting passed${RESET}"
25
- else
26
- echo -e "${RED}❌ Ruff linting failed${RESET}"
27
- FAILED=1
28
- fi
29
- else
30
- echo -e "${YELLOW}⚠️ ruff not found - skipping${RESET}"
31
- echo -e "${YELLOW}Install with: pip install ruff${RESET}"
32
- fi
33
-
34
- # Run mypy if installed
35
- if command -v mypy &> /dev/null; then
36
- echo -e "${CYAN}Type checking with mypy...${RESET}"
37
- MYPY_DIRS=()
38
- [ -d "pkg/python" ] && MYPY_DIRS+=(pkg/python)
39
- [ -d "services/python" ] && MYPY_DIRS+=(services/python)
40
- [ -d "src" ] && MYPY_DIRS+=(src)
41
-
42
- if [ ${#MYPY_DIRS[@]} -gt 0 ]; then
43
- if mypy "${MYPY_DIRS[@]}" 2>/dev/null; then
44
- echo -e "${GREEN}✅ Mypy type checking passed${RESET}"
45
- else
46
- echo -e "${RED}❌ Mypy type checking failed${RESET}"
47
- FAILED=1
48
- fi
49
- fi
50
- else
51
- echo -e "${YELLOW}⚠️ mypy not found - skipping type checking${RESET}"
52
- fi
53
-
54
- exit $FAILED