milens 0.2.4 → 0.3.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 (46) hide show
  1. package/LICENSE +75 -75
  2. package/README.md +435 -392
  3. package/dist/analyzer/engine.js +6 -1
  4. package/dist/analyzer/engine.js.map +1 -1
  5. package/dist/cli.js +17 -5
  6. package/dist/cli.js.map +1 -1
  7. package/dist/parser/extract.d.ts.map +1 -1
  8. package/dist/parser/extract.js +8 -0
  9. package/dist/parser/extract.js.map +1 -1
  10. package/dist/parser/lang-go.d.ts.map +1 -1
  11. package/dist/parser/lang-go.js +22 -18
  12. package/dist/parser/lang-go.js.map +1 -1
  13. package/dist/parser/lang-java.d.ts.map +1 -1
  14. package/dist/parser/lang-java.js +28 -17
  15. package/dist/parser/lang-java.js.map +1 -1
  16. package/dist/parser/lang-js.d.ts.map +1 -1
  17. package/dist/parser/lang-js.js +42 -32
  18. package/dist/parser/lang-js.js.map +1 -1
  19. package/dist/parser/lang-php.d.ts.map +1 -1
  20. package/dist/parser/lang-php.js +35 -20
  21. package/dist/parser/lang-php.js.map +1 -1
  22. package/dist/parser/lang-py.d.ts.map +1 -1
  23. package/dist/parser/lang-py.js +36 -17
  24. package/dist/parser/lang-py.js.map +1 -1
  25. package/dist/parser/lang-rust.d.ts.map +1 -1
  26. package/dist/parser/lang-rust.js +26 -19
  27. package/dist/parser/lang-rust.js.map +1 -1
  28. package/dist/parser/lang-ts.d.ts.map +1 -1
  29. package/dist/parser/lang-ts.js +57 -44
  30. package/dist/parser/lang-ts.js.map +1 -1
  31. package/dist/parser/lang-vue.d.ts +6 -0
  32. package/dist/parser/lang-vue.d.ts.map +1 -1
  33. package/dist/parser/lang-vue.js +44 -0
  34. package/dist/parser/lang-vue.js.map +1 -1
  35. package/dist/server/mcp.d.ts.map +1 -1
  36. package/dist/server/mcp.js +289 -21
  37. package/dist/server/mcp.js.map +1 -1
  38. package/dist/skills.d.ts +1 -1
  39. package/dist/skills.d.ts.map +1 -1
  40. package/dist/skills.js +204 -14
  41. package/dist/skills.js.map +1 -1
  42. package/dist/store/db.d.ts.map +1 -1
  43. package/dist/store/db.js +73 -59
  44. package/dist/store/db.js.map +1 -1
  45. package/dist/store/schema.sql +60 -60
  46. package/package.json +60 -60
@@ -1,60 +1,60 @@
1
- -- milens code intelligence database schema
2
-
3
- CREATE TABLE IF NOT EXISTS symbols (
4
- id TEXT PRIMARY KEY,
5
- name TEXT NOT NULL,
6
- kind TEXT NOT NULL,
7
- file_path TEXT NOT NULL,
8
- start_line INTEGER,
9
- end_line INTEGER,
10
- exported INTEGER DEFAULT 0,
11
- parent_id TEXT,
12
- signature TEXT
13
- );
14
-
15
- CREATE TABLE IF NOT EXISTS links (
16
- id TEXT PRIMARY KEY,
17
- from_id TEXT NOT NULL,
18
- to_id TEXT NOT NULL,
19
- type TEXT NOT NULL,
20
- confidence REAL DEFAULT 1.0,
21
- line_number INTEGER
22
- );
23
-
24
- CREATE TABLE IF NOT EXISTS file_hashes (
25
- path TEXT PRIMARY KEY,
26
- hash TEXT NOT NULL,
27
- analyzed_at TEXT NOT NULL DEFAULT (datetime('now'))
28
- );
29
-
30
- CREATE TABLE IF NOT EXISTS meta (
31
- key TEXT PRIMARY KEY,
32
- value TEXT
33
- );
34
-
35
- CREATE INDEX IF NOT EXISTS idx_symbols_name ON symbols(name);
36
- CREATE INDEX IF NOT EXISTS idx_symbols_file ON symbols(file_path);
37
- CREATE INDEX IF NOT EXISTS idx_symbols_kind ON symbols(kind);
38
- CREATE INDEX IF NOT EXISTS idx_links_from ON links(from_id);
39
- CREATE INDEX IF NOT EXISTS idx_links_to ON links(to_id);
40
- CREATE INDEX IF NOT EXISTS idx_links_type ON links(type);
41
-
42
- -- FTS5 full-text search on symbol names and paths
43
- CREATE VIRTUAL TABLE IF NOT EXISTS symbol_fts USING fts5(
44
- name,
45
- file_path,
46
- kind,
47
- content='symbols',
48
- content_rowid='rowid'
49
- );
50
-
51
- -- Triggers to keep FTS in sync
52
- CREATE TRIGGER IF NOT EXISTS symbols_ai AFTER INSERT ON symbols BEGIN
53
- INSERT INTO symbol_fts(rowid, name, file_path, kind)
54
- VALUES (new.rowid, new.name, new.file_path, new.kind);
55
- END;
56
-
57
- CREATE TRIGGER IF NOT EXISTS symbols_ad AFTER DELETE ON symbols BEGIN
58
- INSERT INTO symbol_fts(symbol_fts, rowid, name, file_path, kind)
59
- VALUES ('delete', old.rowid, old.name, old.file_path, old.kind);
60
- END;
1
+ -- milens code intelligence database schema
2
+
3
+ CREATE TABLE IF NOT EXISTS symbols (
4
+ id TEXT PRIMARY KEY,
5
+ name TEXT NOT NULL,
6
+ kind TEXT NOT NULL,
7
+ file_path TEXT NOT NULL,
8
+ start_line INTEGER,
9
+ end_line INTEGER,
10
+ exported INTEGER DEFAULT 0,
11
+ parent_id TEXT,
12
+ signature TEXT
13
+ );
14
+
15
+ CREATE TABLE IF NOT EXISTS links (
16
+ id TEXT PRIMARY KEY,
17
+ from_id TEXT NOT NULL,
18
+ to_id TEXT NOT NULL,
19
+ type TEXT NOT NULL,
20
+ confidence REAL DEFAULT 1.0,
21
+ line_number INTEGER
22
+ );
23
+
24
+ CREATE TABLE IF NOT EXISTS file_hashes (
25
+ path TEXT PRIMARY KEY,
26
+ hash TEXT NOT NULL,
27
+ analyzed_at TEXT NOT NULL DEFAULT (datetime('now'))
28
+ );
29
+
30
+ CREATE TABLE IF NOT EXISTS meta (
31
+ key TEXT PRIMARY KEY,
32
+ value TEXT
33
+ );
34
+
35
+ CREATE INDEX IF NOT EXISTS idx_symbols_name ON symbols(name);
36
+ CREATE INDEX IF NOT EXISTS idx_symbols_file ON symbols(file_path);
37
+ CREATE INDEX IF NOT EXISTS idx_symbols_kind ON symbols(kind);
38
+ CREATE INDEX IF NOT EXISTS idx_links_from ON links(from_id);
39
+ CREATE INDEX IF NOT EXISTS idx_links_to ON links(to_id);
40
+ CREATE INDEX IF NOT EXISTS idx_links_type ON links(type);
41
+
42
+ -- FTS5 full-text search on symbol names and paths
43
+ CREATE VIRTUAL TABLE IF NOT EXISTS symbol_fts USING fts5(
44
+ name,
45
+ file_path,
46
+ kind,
47
+ content='symbols',
48
+ content_rowid='rowid'
49
+ );
50
+
51
+ -- Triggers to keep FTS in sync
52
+ CREATE TRIGGER IF NOT EXISTS symbols_ai AFTER INSERT ON symbols BEGIN
53
+ INSERT INTO symbol_fts(rowid, name, file_path, kind)
54
+ VALUES (new.rowid, new.name, new.file_path, new.kind);
55
+ END;
56
+
57
+ CREATE TRIGGER IF NOT EXISTS symbols_ad AFTER DELETE ON symbols BEGIN
58
+ INSERT INTO symbol_fts(symbol_fts, rowid, name, file_path, kind)
59
+ VALUES ('delete', old.rowid, old.name, old.file_path, old.kind);
60
+ END;
package/package.json CHANGED
@@ -1,60 +1,60 @@
1
- {
2
- "name": "milens",
3
- "version": "0.2.4",
4
- "description": "Lightweight Code Intelligence Platform — analyze codebases and build knowledge graphs",
5
- "type": "module",
6
- "bin": {
7
- "milens": "./dist/cli.js"
8
- },
9
- "files": [
10
- "dist/",
11
- "README.md",
12
- "LICENSE"
13
- ],
14
- "scripts": {
15
- "build": "tsc && node -e \"require('fs').copyFileSync('src/store/schema.sql','dist/store/schema.sql')\"",
16
- "dev": "tsx src/cli.ts",
17
- "test": "vitest run",
18
- "test:watch": "vitest",
19
- "lint": "tsc --noEmit",
20
- "prepublishOnly": "npm run build && npm test",
21
- "self-analyze": "tsx src/cli.ts analyze -p . --force --verbose",
22
- "self-serve": "tsx src/cli.ts serve -p . --http --port 3100"
23
- },
24
- "keywords": [
25
- "code-intelligence",
26
- "knowledge-graph",
27
- "mcp",
28
- "tree-sitter",
29
- "static-analysis",
30
- "codebase-indexer",
31
- "ai-agent"
32
- ],
33
- "repository": {
34
- "type": "git",
35
- "url": "git+https://github.com/fuze210699/milens.git"
36
- },
37
- "homepage": "https://github.com/fuze210699/milens#readme",
38
- "bugs": {
39
- "url": "https://github.com/fuze210699/milens/issues"
40
- },
41
- "engines": {
42
- "node": ">=20.0.0"
43
- },
44
- "dependencies": {
45
- "@modelcontextprotocol/sdk": "^1.29.0",
46
- "better-sqlite3": "^11.0.0",
47
- "commander": "^12.0.0",
48
- "ignore": "^7.0.0",
49
- "tree-sitter-wasms": "^0.1.12",
50
- "web-tree-sitter": "^0.24.7"
51
- },
52
- "license": "PolyForm-Noncommercial-1.0.0",
53
- "devDependencies": {
54
- "@types/better-sqlite3": "^7.0.0",
55
- "@types/node": "^20.0.0",
56
- "tsx": "^4.0.0",
57
- "typescript": "^5.4.0",
58
- "vitest": "^4.0.0"
59
- }
60
- }
1
+ {
2
+ "name": "milens",
3
+ "version": "0.3.1",
4
+ "description": "Lightweight Code Intelligence Platform — analyze codebases and build knowledge graphs",
5
+ "type": "module",
6
+ "bin": {
7
+ "milens": "./dist/cli.js"
8
+ },
9
+ "files": [
10
+ "dist/",
11
+ "README.md",
12
+ "LICENSE"
13
+ ],
14
+ "scripts": {
15
+ "build": "tsc && node -e \"require('fs').copyFileSync('src/store/schema.sql','dist/store/schema.sql')\"",
16
+ "dev": "tsx src/cli.ts",
17
+ "test": "vitest run",
18
+ "test:watch": "vitest",
19
+ "lint": "tsc --noEmit",
20
+ "prepublishOnly": "npm run build && npm test",
21
+ "self-analyze": "tsx src/cli.ts analyze -p . --force --verbose",
22
+ "self-serve": "tsx src/cli.ts serve -p . --http --port 3100"
23
+ },
24
+ "keywords": [
25
+ "code-intelligence",
26
+ "knowledge-graph",
27
+ "mcp",
28
+ "tree-sitter",
29
+ "static-analysis",
30
+ "codebase-indexer",
31
+ "ai-agent"
32
+ ],
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "git+https://github.com/fuze210699/milens.git"
36
+ },
37
+ "homepage": "https://github.com/fuze210699/milens#readme",
38
+ "bugs": {
39
+ "url": "https://github.com/fuze210699/milens/issues"
40
+ },
41
+ "engines": {
42
+ "node": ">=20.0.0"
43
+ },
44
+ "dependencies": {
45
+ "@modelcontextprotocol/sdk": "^1.29.0",
46
+ "better-sqlite3": "^11.0.0",
47
+ "commander": "^12.0.0",
48
+ "ignore": "^7.0.0",
49
+ "tree-sitter-wasms": "^0.1.12",
50
+ "web-tree-sitter": "^0.24.7"
51
+ },
52
+ "license": "PolyForm-Noncommercial-1.0.0",
53
+ "devDependencies": {
54
+ "@types/better-sqlite3": "^7.0.0",
55
+ "@types/node": "^20.0.0",
56
+ "tsx": "^4.0.0",
57
+ "typescript": "^5.4.0",
58
+ "vitest": "^4.0.0"
59
+ }
60
+ }