@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.
- package/LICENSE +674 -0
- package/README.md +496 -0
- package/SKILL.md +154 -0
- package/apps/client/dist/assets/index-CqOXxsEZ.js +240 -0
- package/apps/client/dist/assets/index-DwvaANnI.css +1 -0
- package/apps/client/dist/index.html +13 -0
- package/apps/server/src/core/domain/entry.ts +22 -0
- package/apps/server/src/core/domain/errors.ts +27 -0
- package/apps/server/src/core/domain/knowledge-graph.ts +51 -0
- package/apps/server/src/core/domain/types.ts +168 -0
- package/apps/server/src/core/ports/IBuildRepository.ts +7 -0
- package/apps/server/src/core/ports/IDocumentNormalizer.ts +6 -0
- package/apps/server/src/core/ports/IDocumentStore.ts +4 -0
- package/apps/server/src/core/ports/IEntryReadModel.ts +9 -0
- package/apps/server/src/core/ports/IEntryRepository.ts +11 -0
- package/apps/server/src/core/ports/IKnowledgeGraph.ts +10 -0
- package/apps/server/src/core/ports/IPathResolver.ts +3 -0
- package/apps/server/src/core/ports/ISearchEngine.ts +9 -0
- package/apps/server/src/core/ports/ISourceProcessor.ts +7 -0
- package/apps/server/src/core/ports/ISourceRepository.ts +11 -0
- package/apps/server/src/core/usecases/BuildUseCase.ts +98 -0
- package/apps/server/src/core/usecases/ConfigUseCase.ts +64 -0
- package/apps/server/src/core/usecases/SearchUseCase.ts +16 -0
- package/apps/server/src/index.ts +98 -0
- package/apps/server/src/infrastructure/filesystem/FileSystemDocumentStore.ts +27 -0
- package/apps/server/src/infrastructure/graph/GraphSearchDecorator.ts +53 -0
- package/apps/server/src/infrastructure/graph/GraphifyKnowledgeGraph.ts +172 -0
- package/apps/server/src/infrastructure/graph/index.ts +2 -0
- package/apps/server/src/infrastructure/persistence/sqlite/SqliteBuildRepository.ts +34 -0
- package/apps/server/src/infrastructure/persistence/sqlite/SqliteEntryReadModel.ts +17 -0
- package/apps/server/src/infrastructure/persistence/sqlite/SqliteEntryRepository.ts +81 -0
- package/apps/server/src/infrastructure/persistence/sqlite/SqliteSourceRepository.ts +65 -0
- package/apps/server/src/infrastructure/persistence/sqlite/connection.ts +52 -0
- package/apps/server/src/infrastructure/search/SearchEngineFactory.ts +43 -0
- package/apps/server/src/infrastructure/search/json/JsonSearchEngine.ts +164 -0
- package/apps/server/src/infrastructure/search/vector/EmbeddingService.ts +23 -0
- package/apps/server/src/infrastructure/search/vector/VectorSearchEngine.ts +480 -0
- package/apps/server/src/infrastructure/source-processors/AntoraSourceProcessor.ts +14 -0
- package/apps/server/src/infrastructure/source-processors/AsciidocSourceProcessor.ts +12 -0
- package/apps/server/src/infrastructure/source-processors/DocumentNormalizer.ts +16 -0
- package/apps/server/src/infrastructure/source-processors/GithubMarkdownSourceProcessor.ts +12 -0
- package/apps/server/src/infrastructure/source-processors/MavenSourceProcessor.ts +12 -0
- package/apps/server/src/infrastructure/source-processors/PathResolver.ts +6 -0
- package/apps/server/src/infrastructure/source-processors/SourceCodeSourceProcessor.ts +260 -0
- package/apps/server/src/infrastructure/source-processors/ZipSourceProcessor.ts +12 -0
- package/apps/server/src/mcp-http.ts +102 -0
- package/apps/server/src/mcp.ts +432 -0
- package/apps/server/src/routes/build.ts +105 -0
- package/apps/server/src/routes/entries.ts +62 -0
- package/apps/server/src/routes/graph.ts +57 -0
- package/apps/server/src/routes/search.ts +28 -0
- package/apps/server/src/routes/sources.ts +105 -0
- package/apps/server/src/routes/viewer.ts +28 -0
- package/apps/server/src/services/antora.ts +238 -0
- package/apps/server/src/services/asciidoc.ts +221 -0
- package/apps/server/src/services/configLoader.ts +207 -0
- package/apps/server/src/services/githubMarkdown.ts +236 -0
- package/apps/server/src/services/maven.ts +178 -0
- package/apps/server/src/services/normalizer.ts +63 -0
- package/apps/server/src/services/paths.ts +5 -0
- package/apps/server/src/services/textExtractor.ts +49 -0
- package/apps/server/src/services/zip.ts +84 -0
- package/bin/commands/build.ts +85 -0
- package/bin/commands/dev.ts +36 -0
- package/bin/commands/get.ts +36 -0
- package/bin/commands/graph.ts +153 -0
- package/bin/commands/init.ts +170 -0
- package/bin/commands/list.ts +47 -0
- package/bin/commands/mcp.ts +32 -0
- package/bin/commands/search.ts +185 -0
- package/bin/commands/serve.ts +23 -0
- package/bin/commands/status.ts +46 -0
- package/bin/dockit-cli.ts +92 -0
- package/bin/dockit.js +17 -0
- package/bin/utils.ts +85 -0
- package/dockit.yaml +154 -0
- package/package.json +60 -0
- 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
|