The listing fields
A small, all-package.json change: add the Marketplace fields the manifest was missing. license (MIT, matching LICENSE.txt — vsce warned without it), homepage and bugs, and a dark galleryBanner for the listing header.
The added top-level fields: license, galleryBanner, homepage, bugs.
package.json · 96 lines
package.json
1{
2 "name": "vibe-themer",
3 "displayName": "Vibe Themer",
4 "description": "🎨 AI-powered VS Code theme generator. Describe your vibe and watch a complete theme stream in live, generated by OpenAI or Anthropic models.",
5 "version": "2.1.0",
6 "publisher": "mseeks",
7 "license": "MIT",
8 "icon": "icon.png",
9 "galleryBanner": {
10 "color": "#1e1e2e",
11 "theme": "dark"
12 },
13 "repository": {
14 "type": "git",
15 "url": "https://github.com/mseeks/vibe-themer"
16 },
17 "homepage": "https://github.com/mseeks/vibe-themer#readme",
18 "bugs": {
19 "url": "https://github.com/mseeks/vibe-themer/issues"
20 },
21 "sponsor": {
22 "url": "https://github.com/sponsors/mseeks"
23 },
24 "engines": {
25 "vscode": "^1.74.0"
26 },
27 "activationEvents": [
28 "onCommand:vibeThemer.changeTheme",
29 "onCommand:vibeThemer.clearApiKey",
30 "onCommand:vibeThemer.resetTheme",
31 "onCommand:vibeThemer.selectModel",
32 "onCommand:vibeThemer.resetModel"
⋯ 64 lines hidden (lines 33–96)
33 ],
34 "categories": [
35 "Themes",
36 "Other"
37 ],
38 "keywords": [
39 "theme",
40 "color",
41 "ai",
42 "openai",
43 "anthropic",
44 "claude",
45 "gpt",
46 "customization"
47 ],
48 "main": "./out/extension.js",
49 "contributes": {
50 "commands": [
51 {
52 "command": "vibeThemer.changeTheme",
53 "title": "Vibe Themer: Change Theme"
54 },
55 {
56 "command": "vibeThemer.clearApiKey",
57 "title": "Vibe Themer: Clear API Keys"
58 },
59 {
60 "command": "vibeThemer.resetTheme",
61 "title": "Vibe Themer: Reset Theme Customizations"
62 },
63 {
64 "command": "vibeThemer.selectModel",
65 "title": "Vibe Themer: Select Model"
66 },
67 {
68 "command": "vibeThemer.resetModel",
69 "title": "Vibe Themer: Reset Model Selection"
70 }
71 ]
72 },
73 "scripts": {
74 "vscode:prepublish": "npm run package",
75 "package": "npm run check-types && npm run lint && node ./esbuild.js --production",
76 "compile": "npm run check-types && npm run lint && node ./esbuild.js",
77 "check-types": "tsc --noEmit",
78 "watch": "npm run check-types && node ./esbuild.js --watch",
79 "lint": "eslint src test --ext ts",
80 "test": "node ./esbuild.test.js && node out/test.cjs"
81 },
82 "devDependencies": {
83 "@types/node": "^20.17.58",
84 "@types/vscode": "^1.74.0",
85 "@typescript-eslint/eslint-plugin": "^7.7.1",
86 "@typescript-eslint/parser": "^7.7.1",
87 "esbuild": "^0.25.12",
88 "eslint": "^8.57.0",
89 "typescript": "^5.4.5"
90 },
91 "dependencies": {
92 "@anthropic-ai/sdk": "^0.102.0",
93 "openai": "^6.42.0",
94 "zod": "^3.25.76"
95 }
96}