{ "publisher": "clurdra", "name": "superpowers-vscode-clurdra", "displayName": "Superpowers-clurdra", "version": "0.2.231", "packageManager": "pnpm@10.27.0", "description": "Superpowers specs and plans Kanban explorer", "author": "clurdra", "license": "MIT", "homepage": "https://github.com/cruldra/superpowers-vscode#readme", "repository": { "type": "git", "url": "https://github.com/cruldra/superpowers-vscode" }, "bugs": { "url": "https://github.com/cruldra/superpowers-vscode/issues" }, "categories": [ "Other" ], "main": "./dist/index.cjs", "icon": "res/icon.png", "files": [ "LICENSE.md", "dist/**/*", "prompts/*.md", "res/*" ], "engines": { "vscode": "^1.97.0" }, "activationEvents": [ "onView:superpowers.kanban", "onCommand:superpowers.openKanban", "onCommand:superpowers.setGiteaToken", "onUri", "onView:superpowers.codeReader.files", "onCustomEditor:superpowers.codeReader.preview", "onCommand:superpowers.codeReader.open", "onCommand:superpowers.codeReader.showPreview", "onCommand:superpowers.codeReader.showSource" ], "contributes": { "viewsContainers": { "activitybar": [ { "id": "superpowers", "title": "Superpowers", "icon": "res/icon.svg" }, { "id": "superpowers-reader", "title": "代码阅读", "icon": "res/reader.svg" } ] }, "views": { "superpowers": [ { "id": "superpowers.kanban", "name": "Kanban" } ], "superpowers-reader": [ { "id": "superpowers.codeReader.files", "name": "代码阅读" } ] }, "customEditors": [ { "viewType": "superpowers.codeReader.preview", "displayName": "代码阅读预览", "selector": [ { "filenamePattern": "*" }, { "filenamePattern": "*", "scheme": "code-reader-path" } ], "priority": "option" } ], "viewsWelcome": [ { "view": "superpowers.kanban", "contents": "在编辑器主区打开 Superpowers Kanban 看板。\n[Open Kanban Board](command:superpowers.openKanban)" } ], "commands": [ { "command": "superpowers.openKanban", "title": "Open Superpowers Kanban", "category": "Superpowers" }, { "command": "superpowers.refresh", "title": "Refresh Issues (Gitea + YouTrack)", "category": "Superpowers" }, { "command": "superpowers.setGiteaToken", "title": "Set Gitea Token", "category": "Superpowers" }, { "command": "superpowers.codeReader.pickReviewIssue", "title": "选工单", "category": "代码阅读", "icon": "$(git-pull-request)" }, { "command": "superpowers.codeReader.showUncommitted", "title": "未提交的更改", "category": "代码阅读", "icon": "$(git-commit)" }, { "command": "superpowers.codeReader.hideTests", "title": "隐藏测试文件", "category": "代码阅读", "icon": "$(beaker-stop)" }, { "command": "superpowers.codeReader.showTests", "title": "显示测试文件", "category": "代码阅读", "icon": "$(beaker)" }, { "command": "superpowers.codeReader.stage", "title": "暂存", "category": "代码阅读", "icon": "$(add)" }, { "command": "superpowers.codeReader.showAllFiles", "title": "显示全部", "category": "代码阅读", "icon": "$(close)" }, { "command": "superpowers.codeReader.refresh", "title": "刷新", "category": "代码阅读", "icon": "$(refresh)" }, { "command": "superpowers.codeReader.open", "title": "打开", "category": "代码阅读" }, { "command": "superpowers.codeReader.showPreview", "title": "预览", "category": "代码阅读" }, { "command": "superpowers.codeReader.showSource", "title": "编辑", "category": "代码阅读" }, { "command": "superpowers.codeReader.copyFileName", "title": "复制文件名", "category": "代码阅读" }, { "command": "superpowers.codeReader.copyFolderName", "title": "复制文件夹名", "category": "代码阅读" }, { "command": "superpowers.codeReader.copyFileStem", "title": "复制文件名(不带后缀)", "category": "代码阅读" }, { "command": "superpowers.codeReader.copyRelativePath", "title": "复制相对路径", "category": "代码阅读" }, { "command": "superpowers.codeReader.copyAbsolutePath", "title": "复制绝对路径", "category": "代码阅读" }, { "command": "superpowers.codeReader.addNote", "title": "添加注释", "category": "代码阅读", "icon": "$(note)" }, { "command": "superpowers.codeReader.editNote", "title": "编辑注释", "category": "代码阅读", "icon": "$(edit)" }, { "command": "superpowers.codeReader.askPath", "title": "问 AI", "category": "代码阅读", "icon": "$(sparkle)" }, { "command": "superpowers.codeReader.nextOccurrence", "title": "跳到下一处高亮", "category": "代码阅读" }, { "command": "superpowers.codeReader.previousOccurrence", "title": "跳到上一处高亮", "category": "代码阅读" } ], "keybindings": [ { "command": "superpowers.codeReader.nextOccurrence", "key": "ctrl+down", "mac": "cmd+down", "when": "activeCustomEditorId == superpowers.codeReader.preview && superpowers.codeReader.hasOccurrences" }, { "command": "superpowers.codeReader.previousOccurrence", "key": "ctrl+up", "mac": "cmd+up", "when": "activeCustomEditorId == superpowers.codeReader.preview && superpowers.codeReader.hasOccurrences" } ], "submenus": [ { "id": "superpowers.codeReader.copy", "label": "复制", "icon": "$(copy)" } ], "menus": { "superpowers.codeReader.copy": [ { "command": "superpowers.codeReader.copyFileName", "when": "view == superpowers.codeReader.files && viewItem =~ /^file( unstaged)?( noted)?$/", "group": "copy@1" }, { "command": "superpowers.codeReader.copyFolderName", "when": "view == superpowers.codeReader.files && viewItem =~ /^folder( noted)?$/", "group": "copy@1" }, { "command": "superpowers.codeReader.copyFileStem", "when": "view == superpowers.codeReader.files && viewItem =~ /^file( unstaged)?( noted)?$/", "group": "copy@2" }, { "command": "superpowers.codeReader.copyRelativePath", "when": "view == superpowers.codeReader.files && viewItem =~ /^(file( unstaged)?|folder)( noted)?$/", "group": "copy@3" }, { "command": "superpowers.codeReader.copyAbsolutePath", "when": "view == superpowers.codeReader.files && viewItem =~ /^(file( unstaged)?|folder)( noted)?$/", "group": "copy@4" } ], "view/title": [ { "command": "superpowers.openKanban", "when": "view == superpowers.kanban", "group": "navigation" }, { "command": "superpowers.refresh", "when": "view == superpowers.kanban", "group": "navigation" }, { "command": "superpowers.setGiteaToken", "when": "view == superpowers.kanban", "group": "navigation" }, { "command": "superpowers.codeReader.pickReviewIssue", "when": "view == superpowers.codeReader.files", "group": "navigation@1" }, { "command": "superpowers.codeReader.showUncommitted", "when": "view == superpowers.codeReader.files", "group": "navigation@2" }, { "command": "superpowers.codeReader.hideTests", "when": "view == superpowers.codeReader.files && superpowers.codeReader.filter == uncommitted && !superpowers.codeReader.testsHidden", "group": "navigation@3" }, { "command": "superpowers.codeReader.showTests", "when": "view == superpowers.codeReader.files && superpowers.codeReader.filter == uncommitted && superpowers.codeReader.testsHidden", "group": "navigation@3" }, { "command": "superpowers.codeReader.showAllFiles", "when": "view == superpowers.codeReader.files && superpowers.codeReader.filter", "group": "navigation@4" }, { "command": "superpowers.codeReader.refresh", "when": "view == superpowers.codeReader.files", "group": "navigation@5" } ], "view/item/context": [ { "command": "superpowers.codeReader.askPath", "when": "view == superpowers.codeReader.files && viewItem =~ /^(file( unstaged)?|folder)( noted)?$/", "group": "inline@0" }, { "submenu": "superpowers.codeReader.copy", "when": "view == superpowers.codeReader.files && viewItem =~ /^(file( unstaged)?|folder)( noted)?$/", "group": "inline@1" }, { "command": "superpowers.codeReader.addNote", "when": "view == superpowers.codeReader.files && superpowers.codeReader.filter != review && viewItem =~ /^(file( unstaged)?|folder)$/", "group": "inline@2" }, { "command": "superpowers.codeReader.editNote", "when": "view == superpowers.codeReader.files && superpowers.codeReader.filter != review && viewItem =~ /^(file( unstaged)?|folder) noted$/", "group": "inline@2" }, { "command": "superpowers.codeReader.stage", "when": "view == superpowers.codeReader.files && superpowers.codeReader.filter == uncommitted && viewItem =~ /^file unstaged( noted)?$/", "group": "inline@3" }, { "command": "superpowers.codeReader.copyFileName", "when": "view == superpowers.codeReader.files && viewItem =~ /^file( unstaged)?( noted)?$/", "group": "copy@1" }, { "command": "superpowers.codeReader.copyFolderName", "when": "view == superpowers.codeReader.files && viewItem =~ /^folder( noted)?$/", "group": "copy@1" }, { "command": "superpowers.codeReader.copyFileStem", "when": "view == superpowers.codeReader.files && viewItem =~ /^file( unstaged)?( noted)?$/", "group": "copy@2" }, { "command": "superpowers.codeReader.copyRelativePath", "when": "view == superpowers.codeReader.files && viewItem =~ /^(file( unstaged)?|folder)( noted)?$/", "group": "copy@3" }, { "command": "superpowers.codeReader.copyAbsolutePath", "when": "view == superpowers.codeReader.files && viewItem =~ /^(file( unstaged)?|folder)( noted)?$/", "group": "copy@4" }, { "command": "superpowers.codeReader.addNote", "when": "view == superpowers.codeReader.files && superpowers.codeReader.filter != review && viewItem =~ /^(file( unstaged)?|folder)$/", "group": "notes" }, { "command": "superpowers.codeReader.editNote", "when": "view == superpowers.codeReader.files && superpowers.codeReader.filter != review && viewItem =~ /^(file( unstaged)?|folder) noted$/", "group": "notes" } ], "editor/title": [ { "command": "superpowers.codeReader.showPreview", "when": "activeEditor == workbench.editors.files.textFileEditor && (resourceLangId =~ /^(typescript|typescriptreact|javascript|javascriptreact|python|shellscript|dockerfile)$/ || resourceLangId in superpowers.codeReader.languageIds)", "group": "navigation" }, { "command": "superpowers.codeReader.showSource", "when": "activeCustomEditorId == superpowers.codeReader.preview", "group": "navigation" } ], "commandPalette": [ { "command": "superpowers.codeReader.open", "when": "false" }, { "command": "superpowers.codeReader.showAllFiles", "when": "superpowers.codeReader.filter" }, { "command": "superpowers.codeReader.hideTests", "when": "superpowers.codeReader.filter == uncommitted && !superpowers.codeReader.testsHidden" }, { "command": "superpowers.codeReader.showTests", "when": "superpowers.codeReader.filter == uncommitted && superpowers.codeReader.testsHidden" }, { "command": "superpowers.codeReader.stage", "when": "false" }, { "command": "superpowers.codeReader.showPreview", "when": "activeEditor == workbench.editors.files.textFileEditor && (resourceLangId =~ /^(typescript|typescriptreact|javascript|javascriptreact|python|shellscript|dockerfile)$/ || resourceLangId in superpowers.codeReader.languageIds)" }, { "command": "superpowers.codeReader.showSource", "when": "activeCustomEditorId == superpowers.codeReader.preview" }, { "command": "superpowers.codeReader.nextOccurrence", "when": "activeCustomEditorId == superpowers.codeReader.preview" }, { "command": "superpowers.codeReader.previousOccurrence", "when": "activeCustomEditorId == superpowers.codeReader.preview" }, { "command": "superpowers.codeReader.copyFileName", "when": "false" }, { "command": "superpowers.codeReader.copyFolderName", "when": "false" }, { "command": "superpowers.codeReader.copyFileStem", "when": "false" }, { "command": "superpowers.codeReader.copyRelativePath", "when": "false" }, { "command": "superpowers.codeReader.copyAbsolutePath", "when": "false" }, { "command": "superpowers.codeReader.addNote", "when": "false" }, { "command": "superpowers.codeReader.editNote", "when": "false" }, { "command": "superpowers.codeReader.askPath", "when": "false" } ] } }, "scripts": { "build": "pnpm --filter webview-ui build && node esbuild.mjs --production", "dev": "concurrently \"pnpm --filter webview-ui dev\" \"node esbuild.mjs --watch\"", "typecheck": "tsc --noEmit && pnpm --filter webview-ui typecheck", "lint": "eslint .", "test": "vitest", "vscode:prepublish": "pnpm build", "release": "bumpp", "ext:package": "pnpm build && vsce package --no-dependencies", "ext:publish:vsce": "npm_config_proxy= npm_config_https_proxy= vsce publish --skip-duplicate" }, "dependencies": { "@vscode/tree-sitter-wasm": "^0.3.1", "diff": "^9.0.0", "handlebars": "^4.7.9", "ignore": "^7.0.10", "minimatch": "^10.2.6" }, "devDependencies": { "@antfu/eslint-config": "^6.7.3", "@types/diff": "^8.0.0", "@types/node": "^25.0.3", "@types/vscode": "^1.97.0", "@vscode/vsce": "^3.9.1", "bumpp": "^10.3.2", "concurrently": "^9.1.0", "esbuild": "^0.25.0", "eslint": "^9.39.2", "ovsx": "^0.10.7", "tree-sitter-wasm": "^2.0.2", "typescript": "^5.9.3", "vitest": "^4.0.16" } }