{ "name": "vscode-tabby", "publisher": "TabbyML", "displayName": "Tabby", "description": "Tabby is a self-hosted AI coding assistant that can suggest multi-line code or full functions in real-time.", "repository": "https://github.com/TabbyML/tabby", "license": "Apache-2.0", "version": "0.1.1", "keywords": [ "ai", "autocomplete", "code completion", "copilot", "intellisense", "intellicode", "snippets", "tabby" ], "icon": "assets/logo.png", "engines": { "vscode": "^1.70.0" }, "categories": [ "Programming Languages", "Machine Learning", "Other" ], "activationEvents": [ "onStartupFinished" ], "main": "./dist/node/extension.js", "browser": "./dist/web/extension.js", "contributes": { "commands": [ { "command": "tabby.toggleEnabled", "title": "Tabby: Toggle Code Suggestion On/Off" }, { "command": "tabby.setApiEndpoint", "title": "Tabby: Specify API Endpoint of Tabby" }, { "command": "tabby.openSettings", "title": "Tabby: Open Settings" }, { "command": "tabby.gettingStarted", "title": "Tabby: Getting Started" } ], "walkthroughs": [ { "id": "gettingStarted", "title": "Getting Started with Tabby", "description": "Set up your own AI coding assistant", "steps": [ { "id": "getTabbyServerReady", "title": "Get Tabby Server Ready", "description": "The Tabby VSCode extension requires a Tabby server to work. Please follow this guide to get your Tabby server ready.", "media": { "markdown": "assets/walkthroughs/server.md" } }, { "id": "connectToTabbyServer", "title": "Connect to Tabby Server", "description": "Once your Tabby server is ready, specify the server API endpoint here. If you are using a Tabby Cloud endpoint, please follow the popup messages to complete authorization. \n[Specify API Endpoint](command:tabby.setApiEndpoint)", "media": { "image": "assets/walkthroughs/setApiEndpoint.png", "altText": "Tabby: Specify API Endpoint of Tabby" } }, { "id": "codeCompletion", "title": "Code Completion", "description": "Tabby provides inline suggestions automatically, and you can accept suggestions by just pressing the Tab key. Follow this guide to find more useful actions.", "media": { "markdown": "assets/walkthroughs/codeCompletion.md" } }, { "id": "commands", "title": "Commands", "description": "Type `>Tabby:` in quick open prompt to list all Tabby commands. \n[Tabby commands](command:workbench.action.quickOpen?%5B%22%3ETabby%3A%22%5D)", "media": { "image": "assets/walkthroughs/commands.png", "altText": "Tabby Commands" } } ] } ], "configuration": { "title": "Tabby", "properties": { "tabby.api.endpoint": { "type": "string", "default": "http://localhost:8080", "format": "uri", "pattern": "^https?:\\/\\/[^\\s]+$", "patternErrorMessage": "Please enter a validate http or https URL.", "description": "Specify API Endpoint of Tabby." }, "tabby.codeCompletion": { "type": "boolean", "default": true, "description": "Enable Tabby code completion or not." }, "tabby.developerOptions": { "type": "object", "description": "Developer options for Tabby.", "properties": { "maxPrefixLines": { "type": "number", "default": 20, "description": "Number of lines to include in the Prefix for completion requests" }, "maxSuffixLines": { "type": "number", "default": 20, "description": "Number of lines to include in the Suffix for completion requests" }, "suggestionDelay": { "type": "number", "default": 150, "minimum": 0, "description": "Specifies the delay in milliseconds after which the request is sent to the tabby." }, "agent": { "type": "object", "properties": { "logs": { "type": "string", "enum": [ "debug", "error", "silent" ], "default": "error", "markdownDescription": "Specifies the log level for tabby-agent." } } } } }, "tabby.usage.anonymousUsageTracking": { "type": "boolean", "default": false, "description": "Disable anonymous usage tracking." } } } }, "scripts": { "vscode:prepublish": "yarn package", "compile": "webpack", "watch": "webpack --watch", "dev": "code --extensionDevelopmentPath=$PWD --disable-extensions && yarn watch", "dev:web": "code --extensionDevelopmentPath=$PWD --extensionDevelopmentKind=web --disable-extensions && yarn watch", "dev:web-browser": "vscode-test-web --extensionDevelopmentPath=$PWD --browserType=chromium --port=3000 && yarn watch", "package": "webpack --mode production --devtool hidden-source-map", "compile-tests": "tsc -p . --outDir out", "watch-tests": "tsc -p . -w --outDir out", "pretest": "yarn compile-tests && yarn compile && yarn lint", "lint": "eslint src --ext ts", "test": "node ./out/test/runTest.js", "vscode:package": "vsce package", "vscode:publish": "vsce publish" }, "devDependencies": { "@types/glob": "^7.2.0", "@types/mocha": "^10.0.1", "@types/node": "16.x", "@types/vscode": "^1.70.0", "@typescript-eslint/eslint-plugin": "^5.31.0", "@typescript-eslint/parser": "^5.31.0", "@vscode/test-electron": "^2.1.5", "@vscode/test-web": "^0.0.44", "assert": "^2.0.0", "eslint": "^8.20.0", "glob": "^8.0.3", "mocha": "^10.0.0", "process": "^0.11.10", "ts-loader": "^9.3.1", "typescript": "^4.7.4", "vsce": "^2.15.0", "webpack": "^5.74.0", "webpack-cli": "^4.10.0" }, "dependencies": { "@sapphire/duration": "^1.1.0", "@xstate/fsm": "^2.0.1", "tabby-agent": "file:../tabby-agent" } }