codecritique 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1145 -0
  3. package/package.json +98 -0
  4. package/src/content-retrieval.js +747 -0
  5. package/src/custom-documents.js +597 -0
  6. package/src/embeddings/cache-manager.js +364 -0
  7. package/src/embeddings/constants.js +40 -0
  8. package/src/embeddings/database.js +921 -0
  9. package/src/embeddings/errors.js +208 -0
  10. package/src/embeddings/factory.js +447 -0
  11. package/src/embeddings/file-processor.js +851 -0
  12. package/src/embeddings/model-manager.js +337 -0
  13. package/src/embeddings/similarity-calculator.js +97 -0
  14. package/src/embeddings/types.js +113 -0
  15. package/src/feedback-loader.js +384 -0
  16. package/src/index.js +1418 -0
  17. package/src/llm.js +123 -0
  18. package/src/pr-history/analyzer.js +579 -0
  19. package/src/pr-history/bot-detector.js +123 -0
  20. package/src/pr-history/cli-utils.js +204 -0
  21. package/src/pr-history/comment-processor.js +549 -0
  22. package/src/pr-history/database.js +819 -0
  23. package/src/pr-history/github-client.js +629 -0
  24. package/src/project-analyzer.js +955 -0
  25. package/src/rag-analyzer.js +2764 -0
  26. package/src/rag-review.js +566 -0
  27. package/src/technology-keywords.json +753 -0
  28. package/src/utils/command.js +48 -0
  29. package/src/utils/constants.js +263 -0
  30. package/src/utils/context-inference.js +364 -0
  31. package/src/utils/document-detection.js +105 -0
  32. package/src/utils/file-validation.js +271 -0
  33. package/src/utils/git.js +232 -0
  34. package/src/utils/language-detection.js +170 -0
  35. package/src/utils/logging.js +24 -0
  36. package/src/utils/markdown.js +132 -0
  37. package/src/utils/mobilebert-tokenizer.js +141 -0
  38. package/src/utils/pr-chunking.js +276 -0
  39. package/src/utils/string-utils.js +28 -0
  40. package/src/zero-shot-classifier-open.js +392 -0
package/package.json ADDED
@@ -0,0 +1,98 @@
1
+ {
2
+ "name": "codecritique",
3
+ "version": "1.0.0",
4
+ "description": "AI-powered code review tool for any programming language",
5
+ "type": "module",
6
+ "main": "src/index.js",
7
+ "bin": {
8
+ "codecritique": "./src/index.js"
9
+ },
10
+ "scripts": {
11
+ "start": "node src/index.js",
12
+ "test": "vitest run",
13
+ "test:watch": "vitest",
14
+ "test:coverage": "vitest run --coverage",
15
+ "test:types": "tsc --noEmit",
16
+ "prepublishOnly": "chmod +x src/index.js",
17
+ "lint": "eslint . --cache",
18
+ "lint:ci": "eslint . --cache --cache-strategy content",
19
+ "lint:fix": "eslint . --cache --fix",
20
+ "prettier": "prettier --write . --cache --cache-location ./.prettier-cache",
21
+ "prettier:ci": "prettier --check . --cache --cache-location ./.prettier-cache --cache-strategy content",
22
+ "knip": "knip"
23
+ },
24
+ "keywords": [
25
+ "code-review",
26
+ "static-analysis",
27
+ "ai",
28
+ "javascript",
29
+ "typescript",
30
+ "react",
31
+ "python",
32
+ "ruby",
33
+ "cli",
34
+ "code-quality",
35
+ "linter"
36
+ ],
37
+ "files": [
38
+ "src/**/*.js",
39
+ "src/**/*.json",
40
+ "!src/**/*.test.js",
41
+ "!src/test-utils/",
42
+ "!src/setupTests.js",
43
+ "README.md",
44
+ "LICENSE"
45
+ ],
46
+ "homepage": "https://github.com/cosmocoder/CodeCritique#readme",
47
+ "bugs": {
48
+ "url": "https://github.com/cosmocoder/CodeCritique/issues"
49
+ },
50
+ "repository": {
51
+ "type": "git",
52
+ "url": "git+https://github.com/cosmocoder/CodeCritique.git"
53
+ },
54
+ "license": "MIT",
55
+ "author": "cosmocoder",
56
+ "dependencies": {
57
+ "@anthropic-ai/sdk": "0.71.0",
58
+ "@huggingface/transformers": "3.8.0",
59
+ "@lancedb/lancedb": "0.22.3",
60
+ "@octokit/rest": "22.0.1",
61
+ "chalk": "5.6.2",
62
+ "cli-spinner": "0.2.10",
63
+ "commander": "14.0.1",
64
+ "dotenv": "17.2.3",
65
+ "fastembed": "2.0.0",
66
+ "glob": "13.0.0",
67
+ "linguist-languages": "9.1.0",
68
+ "lru-cache": "11.2.2",
69
+ "minimatch": "10.1.1",
70
+ "stopwords-iso": "1.1.0"
71
+ },
72
+ "devDependencies": {
73
+ "@eslint/js": "9.39.1",
74
+ "@types/node": "24.9.1",
75
+ "@vitest/coverage-v8": "4.0.16",
76
+ "@vitest/eslint-plugin": "1.3.23",
77
+ "eslint": "9.39.1",
78
+ "eslint-plugin-import": "2.32.0",
79
+ "globals": "16.5.0",
80
+ "knip": "5.70.2",
81
+ "prettier": "3.7.1",
82
+ "typescript": "5.9.3",
83
+ "vitest": "4.0.16"
84
+ },
85
+ "volta": {
86
+ "node": "22.12.0",
87
+ "npm": "10.9.2"
88
+ },
89
+ "engines": {
90
+ "node": "22.x",
91
+ "npm": "10.x"
92
+ },
93
+ "engine-strict": true,
94
+ "publishConfig": {
95
+ "access": "public",
96
+ "registry": "https://registry.npmjs.org/"
97
+ }
98
+ }