@lon-ask/dockit 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 (78) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +496 -0
  3. package/SKILL.md +154 -0
  4. package/apps/client/dist/assets/index-CqOXxsEZ.js +240 -0
  5. package/apps/client/dist/assets/index-DwvaANnI.css +1 -0
  6. package/apps/client/dist/index.html +13 -0
  7. package/apps/server/src/core/domain/entry.ts +22 -0
  8. package/apps/server/src/core/domain/errors.ts +27 -0
  9. package/apps/server/src/core/domain/knowledge-graph.ts +51 -0
  10. package/apps/server/src/core/domain/types.ts +168 -0
  11. package/apps/server/src/core/ports/IBuildRepository.ts +7 -0
  12. package/apps/server/src/core/ports/IDocumentNormalizer.ts +6 -0
  13. package/apps/server/src/core/ports/IDocumentStore.ts +4 -0
  14. package/apps/server/src/core/ports/IEntryReadModel.ts +9 -0
  15. package/apps/server/src/core/ports/IEntryRepository.ts +11 -0
  16. package/apps/server/src/core/ports/IKnowledgeGraph.ts +10 -0
  17. package/apps/server/src/core/ports/IPathResolver.ts +3 -0
  18. package/apps/server/src/core/ports/ISearchEngine.ts +9 -0
  19. package/apps/server/src/core/ports/ISourceProcessor.ts +7 -0
  20. package/apps/server/src/core/ports/ISourceRepository.ts +11 -0
  21. package/apps/server/src/core/usecases/BuildUseCase.ts +98 -0
  22. package/apps/server/src/core/usecases/ConfigUseCase.ts +64 -0
  23. package/apps/server/src/core/usecases/SearchUseCase.ts +16 -0
  24. package/apps/server/src/index.ts +98 -0
  25. package/apps/server/src/infrastructure/filesystem/FileSystemDocumentStore.ts +27 -0
  26. package/apps/server/src/infrastructure/graph/GraphSearchDecorator.ts +53 -0
  27. package/apps/server/src/infrastructure/graph/GraphifyKnowledgeGraph.ts +172 -0
  28. package/apps/server/src/infrastructure/graph/index.ts +2 -0
  29. package/apps/server/src/infrastructure/persistence/sqlite/SqliteBuildRepository.ts +34 -0
  30. package/apps/server/src/infrastructure/persistence/sqlite/SqliteEntryReadModel.ts +17 -0
  31. package/apps/server/src/infrastructure/persistence/sqlite/SqliteEntryRepository.ts +81 -0
  32. package/apps/server/src/infrastructure/persistence/sqlite/SqliteSourceRepository.ts +65 -0
  33. package/apps/server/src/infrastructure/persistence/sqlite/connection.ts +52 -0
  34. package/apps/server/src/infrastructure/search/SearchEngineFactory.ts +43 -0
  35. package/apps/server/src/infrastructure/search/json/JsonSearchEngine.ts +164 -0
  36. package/apps/server/src/infrastructure/search/vector/EmbeddingService.ts +23 -0
  37. package/apps/server/src/infrastructure/search/vector/VectorSearchEngine.ts +480 -0
  38. package/apps/server/src/infrastructure/source-processors/AntoraSourceProcessor.ts +14 -0
  39. package/apps/server/src/infrastructure/source-processors/AsciidocSourceProcessor.ts +12 -0
  40. package/apps/server/src/infrastructure/source-processors/DocumentNormalizer.ts +16 -0
  41. package/apps/server/src/infrastructure/source-processors/GithubMarkdownSourceProcessor.ts +12 -0
  42. package/apps/server/src/infrastructure/source-processors/MavenSourceProcessor.ts +12 -0
  43. package/apps/server/src/infrastructure/source-processors/PathResolver.ts +6 -0
  44. package/apps/server/src/infrastructure/source-processors/SourceCodeSourceProcessor.ts +260 -0
  45. package/apps/server/src/infrastructure/source-processors/ZipSourceProcessor.ts +12 -0
  46. package/apps/server/src/mcp-http.ts +102 -0
  47. package/apps/server/src/mcp.ts +432 -0
  48. package/apps/server/src/routes/build.ts +105 -0
  49. package/apps/server/src/routes/entries.ts +62 -0
  50. package/apps/server/src/routes/graph.ts +57 -0
  51. package/apps/server/src/routes/search.ts +28 -0
  52. package/apps/server/src/routes/sources.ts +105 -0
  53. package/apps/server/src/routes/viewer.ts +28 -0
  54. package/apps/server/src/services/antora.ts +238 -0
  55. package/apps/server/src/services/asciidoc.ts +221 -0
  56. package/apps/server/src/services/configLoader.ts +207 -0
  57. package/apps/server/src/services/githubMarkdown.ts +236 -0
  58. package/apps/server/src/services/maven.ts +178 -0
  59. package/apps/server/src/services/normalizer.ts +63 -0
  60. package/apps/server/src/services/paths.ts +5 -0
  61. package/apps/server/src/services/textExtractor.ts +49 -0
  62. package/apps/server/src/services/zip.ts +84 -0
  63. package/bin/commands/build.ts +85 -0
  64. package/bin/commands/dev.ts +36 -0
  65. package/bin/commands/get.ts +36 -0
  66. package/bin/commands/graph.ts +153 -0
  67. package/bin/commands/init.ts +170 -0
  68. package/bin/commands/list.ts +47 -0
  69. package/bin/commands/mcp.ts +32 -0
  70. package/bin/commands/search.ts +185 -0
  71. package/bin/commands/serve.ts +23 -0
  72. package/bin/commands/status.ts +46 -0
  73. package/bin/dockit-cli.ts +92 -0
  74. package/bin/dockit.js +17 -0
  75. package/bin/utils.ts +85 -0
  76. package/dockit.yaml +154 -0
  77. package/package.json +60 -0
  78. package/scripts/mcp-wrapper.sh +44 -0
package/package.json ADDED
@@ -0,0 +1,60 @@
1
+ {
2
+ "name": "@lon-ask/dockit",
3
+ "version": "0.1.0",
4
+ "description": "Local documentation hub — normalize multiple doc sources into a unified searchable bundle",
5
+ "type": "module",
6
+ "bin": {
7
+ "dockit": "./bin/dockit.js"
8
+ },
9
+ "files": [
10
+ "bin/",
11
+ "apps/server/src/",
12
+ "apps/client/dist/",
13
+ "dockit.yaml",
14
+ "SKILL.md",
15
+ "scripts/mcp-wrapper.sh"
16
+ ],
17
+ "publishConfig": {
18
+ "access": "public"
19
+ },
20
+ "workspaces": [
21
+ "apps/server",
22
+ "apps/client",
23
+ "packages/embeddings"
24
+ ],
25
+ "scripts": {
26
+ "dev:server": "npm run dev -w apps/server",
27
+ "dev:client": "npm run dev -w apps/client",
28
+ "dev": "concurrently \"npm run dev:server\" \"npm run dev:client\"",
29
+ "build:server": "npm run build -w apps/server",
30
+ "build:client": "npm run build -w apps/client",
31
+ "build": "npm run build:server && npm run build:client",
32
+ "prepublishOnly": "npm run build"
33
+ },
34
+ "dependencies": {
35
+ "@cfworker/json-schema": "^4.1.1",
36
+ "@modelcontextprotocol/server": "^2.0.0-alpha.2",
37
+ "better-sqlite3": "^12.9.0",
38
+ "js-yaml": "^4.1.1",
39
+ "tsx": "^4.19.2",
40
+ "express": "^4.21.2",
41
+ "cors": "^2.8.5",
42
+ "@asciidoctor/core": "^2.2.9",
43
+ "@antora/cli": "^3.1.14",
44
+ "@antora/site-generator": "^3.2.0-alpha.11",
45
+ "node-html-parser": "^6.1.13",
46
+ "marked": "^18.0.3",
47
+ "unzipper": "^0.12.3",
48
+ "uuid": "^11.0.5"
49
+ },
50
+ "optionalDependencies": {
51
+ "@lancedb/lancedb": "^0.27.2"
52
+ },
53
+ "devDependencies": {
54
+ "@modelcontextprotocol/sdk": "^1.29.0",
55
+ "@types/js-yaml": "^4.0.9",
56
+ "@types/node": "^25.8.0",
57
+ "concurrently": "^9.1.2",
58
+ "typescript": "^5.7.3"
59
+ }
60
+ }
@@ -0,0 +1,44 @@
1
+ #!/usr/bin/env bash
2
+ # Dockit MCP Server Wrapper
3
+ # Usage: ./scripts/mcp-wrapper.sh
4
+ # This script ensures the correct Node.js version and environment are used
5
+ # when running the Dockit MCP server via stdio transport.
6
+
7
+ # Resolve script directory
8
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
9
+ PROJECT_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
10
+
11
+ # Use fnm Node 24 if available, otherwise nvm, otherwise system node
12
+ if command -v fnm >/dev/null 2>&1; then
13
+ eval "$(fnm env --shell bash)" >/dev/null 2>&1
14
+ fnm use 24 >/dev/null 2>&1 || true
15
+ elif [ -d "$HOME/.nvm" ]; then
16
+ export NVM_DIR="$HOME/.nvm"
17
+ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
18
+ nvm use 24 >/dev/null 2>&1 || true
19
+ fi
20
+
21
+ cd "$PROJECT_ROOT" || exit 1
22
+
23
+ # Run MCP server
24
+ # Set DOCKIT_MCP_HTTP_PORT=3456 to enable HTTP bridge instead of stdio
25
+ if [ -n "$DOCKIT_MCP_HTTP_PORT" ]; then
26
+ exec npx tsx apps/server/src/mcp.ts "$DOCKIT_MCP_HTTP_PORT"
27
+ else
28
+ exec npx tsx apps/server/src/mcp.ts
29
+ fi
30
+
31
+ # Ensure npx and node are in PATH
32
+ if [ -d "$HOME/.nvm/versions/node/v24.15.0/bin" ]; then
33
+ export PATH="$HOME/.nvm/versions/node/v24.15.0/bin:$PATH"
34
+ fi
35
+
36
+ cd "$PROJECT_ROOT" || exit 1
37
+
38
+ # Run MCP server
39
+ # Set DOCKIT_MCP_HTTP_PORT=3456 to enable HTTP bridge instead of stdio
40
+ if [ -n "$DOCKIT_MCP_HTTP_PORT" ]; then
41
+ exec npx tsx apps/server/src/mcp-http.ts "$DOCKIT_MCP_HTTP_PORT"
42
+ else
43
+ exec npx tsx apps/server/src/mcp.ts
44
+ fi