@hashicorp/design-system-mcp 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 (72) hide show
  1. package/LICENSE +375 -0
  2. package/README.md +83 -0
  3. package/dist/catalog/loader.js +99 -0
  4. package/dist/catalog/normalize.js +7 -0
  5. package/dist/catalog/project-root.js +47 -0
  6. package/dist/index.js +107 -0
  7. package/dist/prompts/index.js +10 -0
  8. package/dist/prompts/types.js +5 -0
  9. package/dist/resources/completions.js +30 -0
  10. package/dist/resources/components/constants.js +6 -0
  11. package/dist/resources/components/get-component-by-name.js +54 -0
  12. package/dist/resources/components/get-components.js +33 -0
  13. package/dist/resources/components/index.js +11 -0
  14. package/dist/resources/components/utils.js +39 -0
  15. package/dist/resources/define-resource.js +35 -0
  16. package/dist/resources/hds-icons/constants.js +6 -0
  17. package/dist/resources/hds-icons/get-icon-by-name.js +48 -0
  18. package/dist/resources/hds-icons/get-icons.js +33 -0
  19. package/dist/resources/hds-icons/index.js +11 -0
  20. package/dist/resources/hds-icons/utils.js +26 -0
  21. package/dist/resources/index.js +23 -0
  22. package/dist/resources/responses.js +34 -0
  23. package/dist/resources/tokens/constants.js +2 -0
  24. package/dist/resources/tokens/get-token-by-key.js +51 -0
  25. package/dist/resources/tokens/get-tokens.js +33 -0
  26. package/dist/resources/tokens/index.js +11 -0
  27. package/dist/resources/tokens/utils.js +15 -0
  28. package/dist/resources/types.js +5 -0
  29. package/dist/resources/uri.js +15 -0
  30. package/dist/stores/components/index.js +114 -0
  31. package/dist/stores/components/lookup.js +55 -0
  32. package/dist/stores/components/schema.js +37 -0
  33. package/dist/stores/docs/constants.js +163 -0
  34. package/dist/stores/docs/index.js +322 -0
  35. package/dist/stores/docs/lookup.js +148 -0
  36. package/dist/stores/docs/schema.js +60 -0
  37. package/dist/stores/docs/search-index.js +102 -0
  38. package/dist/stores/docs/tokenize.js +52 -0
  39. package/dist/stores/hds-icons/index.js +115 -0
  40. package/dist/stores/hds-icons/lookup.js +43 -0
  41. package/dist/stores/hds-icons/schema.js +31 -0
  42. package/dist/stores/rank.js +129 -0
  43. package/dist/stores/tokens/index.js +105 -0
  44. package/dist/stores/tokens/lookup.js +65 -0
  45. package/dist/stores/tokens/schema.js +42 -0
  46. package/dist/stores/types.js +5 -0
  47. package/dist/tools/components/constants.js +15 -0
  48. package/dist/tools/components/get-component.js +98 -0
  49. package/dist/tools/components/index.js +11 -0
  50. package/dist/tools/components/search-components.js +75 -0
  51. package/dist/tools/components/utils.js +42 -0
  52. package/dist/tools/constants.js +7 -0
  53. package/dist/tools/define-tool.js +17 -0
  54. package/dist/tools/docs/constants.js +33 -0
  55. package/dist/tools/docs/index.js +8 -0
  56. package/dist/tools/docs/read-doc.js +101 -0
  57. package/dist/tools/docs/search-docs.js +143 -0
  58. package/dist/tools/docs/utils.js +82 -0
  59. package/dist/tools/hds-icons/constants.js +5 -0
  60. package/dist/tools/hds-icons/index.js +7 -0
  61. package/dist/tools/hds-icons/search-icons.js +123 -0
  62. package/dist/tools/index.js +19 -0
  63. package/dist/tools/output-schema.js +11 -0
  64. package/dist/tools/responses.js +52 -0
  65. package/dist/tools/search.js +36 -0
  66. package/dist/tools/tokens/constants.js +5 -0
  67. package/dist/tools/tokens/index.js +7 -0
  68. package/dist/tools/tokens/search-tokens.js +144 -0
  69. package/dist/tools/types.js +5 -0
  70. package/dist/types.js +5 -0
  71. package/docs-catalog.json +39778 -0
  72. package/package.json +62 -0
package/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "@hashicorp/design-system-mcp",
3
+ "version": "0.1.0",
4
+ "description": "Helios Design System MCP server",
5
+ "keywords": [
6
+ "hashicorp",
7
+ "helios",
8
+ "design-system",
9
+ "mcp"
10
+ ],
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/hashicorp/design-system.git",
14
+ "directory": "packages/mcp"
15
+ },
16
+ "license": "MPL-2.0",
17
+ "author": "HashiCorp Design Systems <design-systems@hashicorp.com>",
18
+ "type": "module",
19
+ "bin": {
20
+ "helios-design-system-mcp": "./dist/index.js"
21
+ },
22
+ "files": [
23
+ "dist",
24
+ "docs-catalog.json"
25
+ ],
26
+ "engines": {
27
+ "node": ">=24"
28
+ },
29
+ "dependencies": {
30
+ "@hashicorp/design-system-components": "^6.5.0",
31
+ "@hashicorp/design-system-tokens": "^5.1.0",
32
+ "@modelcontextprotocol/sdk": "^1.30.0",
33
+ "@hashicorp/flight-icons": "^5.1.0",
34
+ "zod": "^4.4.3"
35
+ },
36
+ "devDependencies": {
37
+ "@eslint/js": "^9.27.0",
38
+ "@types/node": "^22.10.2",
39
+ "concurrently": "^9.2.3",
40
+ "eslint": "^9.27.0",
41
+ "globals": "^16.1.0",
42
+ "typescript": "^5.8.3",
43
+ "typescript-eslint": "^8.32.1",
44
+ "vitest": "^4.0.4",
45
+ "yaml": "^2.9.0"
46
+ },
47
+ "scripts": {
48
+ "typecheck": "pnpm tsc",
49
+ "lint": "pnpm eslint --quiet .",
50
+ "test": "pnpm vitest run --dir tests",
51
+ "test:watch": "pnpm vitest --dir tests",
52
+ "build": "node --input-type=module -e \"import { rmSync } from 'node:fs'; rmSync('dist', { recursive: true, force: true });\" && pnpm tsc --project tsconfig.build.json",
53
+ "test:dist-files": "node scripts/check-dist-files.mjs",
54
+ "build:watch": "pnpm tsc --project tsconfig.build.json --watch --preserveWatchOutput",
55
+ "serve": "node ./dist/index.js",
56
+ "serve:watch": "node --watch --watch-path=./dist --watch-preserve-output ./dist/index.js",
57
+ "start": "pnpm build && concurrently --kill-others-on-fail --names build,server \"pnpm build:watch\" \"pnpm serve:watch\"",
58
+ "inspect": "npx -y @modelcontextprotocol/inspector node --watch --watch-path=./dist --watch-preserve-output ./dist/index.js",
59
+ "start:dev": "pnpm build && concurrently --kill-others-on-fail --names build,inspector \"pnpm build:watch\" \"pnpm inspect\"",
60
+ "catalog:docs": "node ./scripts/build-docs-catalog/index.mjs"
61
+ }
62
+ }