@ljtn/epiq
BMCP server package epiq
Install
agr install @ljtn/epiq --target claudeThis artifact does not publish files for Claude.
Document
{ "name": "epiq", "version": "1.3.0", "license": "MIT", "type": "module", "description": "EPIQ - ergonomic, distributed CLI-first issue tracker TUI ready for the agentic era", "keywords": [ "issue-tracker", "task-manager", "productivity", "project-management", "kanban", "terminal", "git", "tui", "commandline", "offline-first", "git-based", "developer-tools" ], "bin": { "epiq": "dist/index.js", "epiq-mcp": "dist/mcp.js" }, "engines": { "node": ">=18" }, "scripts": { "build": "tsc --noEmit", "build:gui:types": "tsc --noEmit -p source/gui/client/tsconfig.json", "build:gui": "npm run build:gui:types && mkdir -p dist/gui && cp source/gui/index.html dist/gui/index.html && cp source/gui/favicon.ico dist/gui/favicon.ico && esbuild source/gui/client/main.tsx --bundle --format=esm --target=es2020 --outfile=dist/gui/main.js", "build:npm": "node source/scripts/write-version.mjs && rm -rf ./dist && npm run build:gui && esbuild source/Index.tsx --bundle --packages=external --platform=node --format=esm --target=node18 --minify --outfile=dist/index.js --banner:js='#!/usr/bin/env node' && esbuild source/mcp/index.ts --bundle --packages=external --platform=node --format=esm --target=node18 --minify --outfile=dist/mcp.js --banner:js='#!/usr/bin/env node'", "build:sea:bundle": "node source/scripts/write-version.mjs && node source/scripts/build-sea.mjs", "build:sea": "node source/scripts/build-sea.mjs", "build:publish": "npm run build:npm", "build:binary": "node source/scripts/write-version.mjs && node source/scripts/build-sea.mjs", "watch:npm": "node source/scripts/write-version.mjs && rm -rf ./dist && node source/scripts/watch-npm.mjs", "dev": "IS_LOCAL=true tsc --watch --noEmit", "dev:start": "IS_LOCAL=true tsx source/Index.tsx", "start": "IS_LOCAL=true tsx source/Index.tsx", "start:gui": "IS_LOCAL=true tsx source/Index.tsx gui", "test": "prettier --check "/*.{ts,tsx}" && vitest run --coverage --exclude "source/test/e2e/"", "test:e2e:ci": "export IS_CI=true && npm run build:npm && vitest run source/test/e2e", "test:e2e": "docker run --rm -v "$PWD":/app -v /app/node_modules -w /app epiq-e2e npm run test:e2e:ci", "build:e2e:image": "docker build -f source/test/e2e/Dockerfile -t epiq-e2e .", "prepack": "npm run build:publish", "pack:check": "rm -f epiq-.tgz && npm pack && FILE=$(ls -t epiq-.tgz | head -n 1) && echo "$FILE" && tar -tf "$FILE"", "publish:dry": "rm -f epiq-.tgz && npm pack && FILE=$(ls -t epiq-.tgz | head -n 1) && npm publish --dry-run "$FILE"", "publish:tarball": "FILE=$(ls -t epiq-*.tgz | head -n 1) && echo "Publishing $FILE" && npm publish "$FILE"", "release": "npm run pack:check && npm run publish:tarball", "start:mcp": "IS_LOCAL=true tsx source/mcp/server.ts", "inspect:mcp": "npx @modelcontextprotocol/inspector", "lint": "eslint .", "lint:err": "eslint . --quiet", "prepare": "husky" }, "files": [ "dist" ], "dependencies": { "@modelcontextprotocol/sdk": "^1.29.0", "@xterm/headless": "^6.0.0", "ink": "^6.8.0", "meow": "^14.1.0", "react": "^19.2.4", "react-dom": "^19.2.6", "react-router-dom": "^7.17.0", "string-width": "^8.2.0", "ulid": "^3.0.2", "ws": "^8.21.0", "zod": "^4.3.6" }, "devDependencies": { "@eslint/js": "^9.39.1", "@sindresorhus/tsconfig": "^3.0.1", "@types/marked-terminal": "^6.1.1", "@types/node": "^22.19.19", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "@types/ws": "^8.18.1", "@typescript-eslint/eslint-plugin": "^8.46.0", "@typescript-eslint/parser": "^8.46.0", "@vdemedes/prettier-config": "^2.0.1", "@vitest/coverage-v8": "4.1.2", "chalk": "^5.2.0", "esbuild": "^0.25.0", "eslint": "^9.39.1", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.0.1", "husky": "^9.1.7", "node-pty": "^1.1.0", "prettier": "^2.8.7", "ts-node": "^10.9.1", "tsx": "^4.20.3", "typescript": "^5.0.3", "typescript-eslint": "^8.46.0", "vitest": "4.1.2" }, "prettier": "@vdemedes/prettier-config" }
Trustgrade B
- passBody integrity
Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.
- warnType matchbest-effort: server code not analyzed
Whether the artifact is really the kind of thing its metadata claims it is.
- passFreshness
How long since the source repository was last pushed to.
- passPrompt injection
Scans the artifact's own text for instructions aimed at your agent rather than at you.
- warnLicenseno SPDX license detected
Whether the source repository declares an SPDX license permissive enough to redistribute.
How the grade is calculated
Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:
- Aevery check passed
- Bone warning
- Ctwo warnings
- Dprompt injection or body integrity failed, or three warnings
- Fone of those failed, and something else is wrong
These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.
Versions
git-fc77b3a1108e2026-08-06