198 lines
4.4 KiB
JSON
198 lines
4.4 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",
|
|
"icon": "$(dashboard)"
|
|
},
|
|
{
|
|
"command": "xboctFlow.openInDashboard",
|
|
"title": "XBOCT flow: Edit in Dashboard",
|
|
"icon": "$(edit)"
|
|
}
|
|
],
|
|
"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@1"
|
|
},
|
|
{
|
|
"command": "xboctFlow.openDashboard",
|
|
"when": "view == xboctFlow.tasks",
|
|
"group": "navigation@2"
|
|
}
|
|
],
|
|
"view/item/context": [
|
|
{
|
|
"command": "xboctFlow.openTask",
|
|
"when": "view == xboctFlow.tasks && viewItem == task",
|
|
"group": "inline@1"
|
|
},
|
|
{
|
|
"command": "xboctFlow.openInDashboard",
|
|
"when": "view == xboctFlow.tasks && viewItem == task",
|
|
"group": "inline@2"
|
|
},
|
|
{
|
|
"command": "xboctFlow.changeStatus",
|
|
"when": "view == xboctFlow.tasks && viewItem == task",
|
|
"group": "inline@3"
|
|
},
|
|
{
|
|
"command": "xboctFlow.deleteTask",
|
|
"when": "view == xboctFlow.tasks && viewItem == task",
|
|
"group": "inline@4"
|
|
},
|
|
{
|
|
"command": "xboctFlow.openTask",
|
|
"when": "view == xboctFlow.tasks && viewItem == task",
|
|
"group": "1_task@1"
|
|
},
|
|
{
|
|
"command": "xboctFlow.openInDashboard",
|
|
"when": "view == xboctFlow.tasks && viewItem == task",
|
|
"group": "1_task@2"
|
|
},
|
|
{
|
|
"command": "xboctFlow.changeStatus",
|
|
"when": "view == xboctFlow.tasks && viewItem == task",
|
|
"group": "1_task@3"
|
|
},
|
|
{
|
|
"command": "xboctFlow.deleteTask",
|
|
"when": "view == xboctFlow.tasks && viewItem == task",
|
|
"group": "1_task@4"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"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": ""
|
|
}
|
|
}
|