Files
xboct-flow/package.json
T

162 lines
3.5 KiB
JSON

{
"name": "xboct-flow",
"displayName": "XBOCT flow",
"description": "Local-first task management for solo developers and small teams",
"version": "0.0.1",
"publisher": "",
"license": "MIT",
"engines": {
"vscode": "^1.96.0"
},
"categories": [
"Other"
],
"keywords": [
"tasks",
"todo",
"issues",
"kanban",
"project-management"
],
"activationEvents": [
"onStartupFinished"
],
"main": "./out/extension.js",
"contributes": {
"commands": [
{
"command": "xboctFlow.createTask",
"title": "XBOCT flow: Create Task",
"icon": "$(add)"
},
{
"command": "xboctFlow.openTask",
"title": "XBOCT flow: Open Task",
"icon": "$(go-to-file)"
},
{
"command": "xboctFlow.deleteTask",
"title": "XBOCT flow: Delete Task",
"icon": "$(trash)"
},
{
"command": "xboctFlow.changeStatus",
"title": "XBOCT flow: Change Status",
"icon": "$(sync)"
},
{
"command": "xboctFlow.openDashboard",
"title": "XBOCT flow: Open Dashboard"
}
],
"configuration": {
"title": "XBOCT flow",
"properties": {
"xboctFlow.projectPath": {
"type": "string",
"default": ".vscode/tasks",
"description": "Path to project-level tasks folder (relative to workspace root)"
},
"xboctFlow.globalPath": {
"type": "string",
"default": "",
"description": "Path to global tasks folder (absolute path, shared across projects)"
},
"xboctFlow.fileExtension": {
"type": "string",
"default": ".task.md",
"enum": [
".task.md",
".md",
".todo.md"
],
"description": "File extension for task files"
}
}
},
"viewsContainers": {
"activitybar": [
{
"id": "xboctFlow",
"title": "XBOCT flow",
"icon": "media/icon.svg"
}
]
},
"views": {
"xboctFlow": [
{
"type": "tree",
"id": "xboctFlow.tasks",
"name": "Tasks",
"icon": "media/icon.svg"
}
]
},
"menus": {
"view/title": [
{
"command": "xboctFlow.createTask",
"when": "view == xboctFlow.tasks",
"group": "navigation"
}
],
"view/item/context": [
{
"command": "xboctFlow.openTask",
"when": "view == xboctFlow.tasks && viewItem == task",
"group": "inline@1"
},
{
"command": "xboctFlow.changeStatus",
"when": "view == xboctFlow.tasks && viewItem == task",
"group": "1_task@1"
},
{
"command": "xboctFlow.deleteTask",
"when": "view == xboctFlow.tasks && viewItem == task",
"group": "1_task@2"
}
]
}
},
"scripts": {
"build": "vite build",
"watch": "vite build --watch",
"vscode:prepublish": "npm run build",
"lint": "eslint .",
"check": "npm run check:app && npm run check:test",
"check:app": "tsc --noEmit -p tsconfig.app.json",
"check:test": "tsc --noEmit -p tsconfig.test.json",
"format": "prettier --write .",
"test": "vitest",
"test:run": "vitest run"
},
"devDependencies": {
"@eslint/compat": "^2.0.0",
"@eslint/js": "^9.39.0",
"@types/node": "^22.0.0",
"@types/uuid": "^10.0.0",
"@types/vscode": "^1.96.0",
"@vitest/eslint-plugin": "^1.5.0",
"eslint": "^9.39.0",
"eslint-config-prettier": "^10.1.0",
"globals": "^16.4.0",
"typescript": "^5.7.0",
"typescript-eslint": "^8.46.0",
"vite": "^8.1.4",
"vitest": "^4.1.10"
},
"dependencies": {
"front-matter": "^4.0.2",
"js-yaml": "^5.2.1",
"neverthrow": "^8.2.0",
"prettier": "^3.9.5",
"uuid": "^11.0.0"
},
"repository": {
"type": "git",
"url": ""
}
}