Update .gitignore and README.md for CODESYS MCP project. Added entries to .gitignore for VSIX files and VS Code settings. Expanded README to include architecture, components, deployment instructions, and details about the Cursor extension.
This commit is contained in:
240
vscode_codesys_companion/package.json
Normal file
240
vscode_codesys_companion/package.json
Normal file
@@ -0,0 +1,240 @@
|
||||
{
|
||||
"name": "codesys-mcp-companion",
|
||||
"displayName": "CODESYS MCP Companion",
|
||||
"description": "VS Code/Cursor companion extension for CODESYS MCP bridge workflows.",
|
||||
"version": "0.1.0",
|
||||
"publisher": "nearxos",
|
||||
"private": true,
|
||||
"engines": {
|
||||
"vscode": "^1.90.0"
|
||||
},
|
||||
"categories": [
|
||||
"Other",
|
||||
"Programming Languages"
|
||||
],
|
||||
"activationEvents": [
|
||||
"onStartupFinished",
|
||||
"onCommand:codesys.connect",
|
||||
"onCommand:codesys.health",
|
||||
"onCommand:codesys.createProject",
|
||||
"onCommand:codesys.syncProject",
|
||||
"onCommand:codesys.buildProject",
|
||||
"onCommand:codesys.downloadToDevice"
|
||||
],
|
||||
"main": "./out/extension.js",
|
||||
"contributes": {
|
||||
"commands": [
|
||||
{
|
||||
"command": "codesys.connect",
|
||||
"title": "CODESYS: Connect MCP Bridge"
|
||||
},
|
||||
{
|
||||
"command": "codesys.health",
|
||||
"title": "CODESYS: Health Check"
|
||||
},
|
||||
{
|
||||
"command": "codesys.createProject",
|
||||
"title": "CODESYS: Create Project"
|
||||
},
|
||||
{
|
||||
"command": "codesys.selectProject",
|
||||
"title": "CODESYS: Select Project"
|
||||
},
|
||||
{
|
||||
"command": "codesys.stageExistingProject",
|
||||
"title": "CODESYS: Stage Existing Project"
|
||||
},
|
||||
{
|
||||
"command": "codesys.readProjectInventory",
|
||||
"title": "CODESYS: Read Project Inventory"
|
||||
},
|
||||
{
|
||||
"command": "codesys.readDeviceIo",
|
||||
"title": "CODESYS: Read Device I/O"
|
||||
},
|
||||
{
|
||||
"command": "codesys.writePou",
|
||||
"title": "CODESYS: Write POU"
|
||||
},
|
||||
{
|
||||
"command": "codesys.writeIoMapping",
|
||||
"title": "CODESYS: Write IO Mapping"
|
||||
},
|
||||
{
|
||||
"command": "codesys.manageDevice",
|
||||
"title": "CODESYS: Manage Device"
|
||||
},
|
||||
{
|
||||
"command": "codesys.syncProject",
|
||||
"title": "CODESYS: Sync Project"
|
||||
},
|
||||
{
|
||||
"command": "codesys.buildProject",
|
||||
"title": "CODESYS: Build Project"
|
||||
},
|
||||
{
|
||||
"command": "codesys.downloadToDevice",
|
||||
"title": "CODESYS: Download To Device"
|
||||
},
|
||||
{
|
||||
"command": "codesys.refreshJobs",
|
||||
"title": "CODESYS: Refresh Jobs"
|
||||
},
|
||||
{
|
||||
"command": "codesys.openOutput",
|
||||
"title": "CODESYS: Open Output"
|
||||
},
|
||||
{
|
||||
"command": "codesys.syncCurrentFile",
|
||||
"title": "CODESYS: Sync Current ST File"
|
||||
}
|
||||
],
|
||||
"configuration": {
|
||||
"title": "CODESYS MCP Companion",
|
||||
"properties": {
|
||||
"codesys.pythonPath": {
|
||||
"type": "string",
|
||||
"default": "python",
|
||||
"description": "Python executable used to launch the CODESYS MCP bridge server."
|
||||
},
|
||||
"codesys.bridgeScriptPath": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "Absolute path to python_scripting/mcp_codesys_bridge/server.py. If empty, default repo-relative path is used."
|
||||
},
|
||||
"codesys.agentUrl": {
|
||||
"type": "string",
|
||||
"default": "http://127.0.0.1:8787",
|
||||
"description": "Windows CODESYS agent URL passed to MCP bridge."
|
||||
},
|
||||
"codesys.agentToken": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "Windows CODESYS agent shared token."
|
||||
},
|
||||
"codesys.requestTimeoutSec": {
|
||||
"type": "number",
|
||||
"default": 30,
|
||||
"minimum": 5,
|
||||
"description": "CODESYS MCP bridge request timeout in seconds."
|
||||
},
|
||||
"codesys.pollIntervalMs": {
|
||||
"type": "number",
|
||||
"default": 1500,
|
||||
"minimum": 500,
|
||||
"description": "Polling interval for asynchronous job progress."
|
||||
},
|
||||
"codesys.defaultProjectPath": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "Default CODESYS project path used by commands."
|
||||
},
|
||||
"codesys.defaultDryRunMutations": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Run mutating operations in dry-run mode unless explicitly disabled in command input."
|
||||
},
|
||||
"codesys.allowDownloadCommand": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Enable UI command for download_to_device."
|
||||
},
|
||||
"codesys.mockMode": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Use local mocked MCP responses for extension integration testing."
|
||||
}
|
||||
}
|
||||
},
|
||||
"viewsContainers": {
|
||||
"activitybar": [
|
||||
{
|
||||
"id": "codesys",
|
||||
"title": "CODESYS",
|
||||
"icon": "media/codesys.svg"
|
||||
}
|
||||
]
|
||||
},
|
||||
"views": {
|
||||
"codesys": [
|
||||
{
|
||||
"id": "codesysProjectsView",
|
||||
"name": "Projects"
|
||||
},
|
||||
{
|
||||
"id": "codesysJobsView",
|
||||
"name": "Jobs"
|
||||
},
|
||||
{
|
||||
"id": "codesysActionsView",
|
||||
"name": "Actions"
|
||||
}
|
||||
]
|
||||
},
|
||||
"menus": {
|
||||
"editor/context": [
|
||||
{
|
||||
"command": "codesys.syncCurrentFile",
|
||||
"when": "resourceExtname =~ /\\.st$/ || resourceExtname =~ /\\.gvl$/ || resourceExtname =~ /\\.nvl$/ || resourceExtname =~ /\\.txt$/",
|
||||
"group": "navigation@90"
|
||||
}
|
||||
],
|
||||
"view/title": [
|
||||
{
|
||||
"command": "codesys.refreshJobs",
|
||||
"when": "view == codesysJobsView",
|
||||
"group": "navigation"
|
||||
}
|
||||
]
|
||||
},
|
||||
"languages": [
|
||||
{
|
||||
"id": "codesys-st",
|
||||
"aliases": [
|
||||
"CODESYS Structured Text",
|
||||
"ST"
|
||||
],
|
||||
"extensions": [
|
||||
".st",
|
||||
".gvl",
|
||||
".nvl",
|
||||
".type.st"
|
||||
],
|
||||
"configuration": "./language-configuration.json"
|
||||
}
|
||||
],
|
||||
"grammars": [
|
||||
{
|
||||
"language": "codesys-st",
|
||||
"scopeName": "source.codesys.st",
|
||||
"path": "./syntaxes/codesys-st.tmLanguage.json"
|
||||
}
|
||||
],
|
||||
"snippets": [
|
||||
{
|
||||
"language": "codesys-st",
|
||||
"path": "./snippets/codesys-st.json"
|
||||
}
|
||||
]
|
||||
},
|
||||
"scripts": {
|
||||
"compile": "tsc -p ./",
|
||||
"watch": "tsc -watch -p ./",
|
||||
"lint": "eslint src --ext ts",
|
||||
"test": "npm run compile && node ./out/test/runTest.js",
|
||||
"package": "vsce package --no-dependencies",
|
||||
"check": "npm run compile && npm run lint"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/mocha": "^10.0.8",
|
||||
"@types/node": "^20.16.5",
|
||||
"@types/vscode": "^1.90.0",
|
||||
"@typescript-eslint/eslint-plugin": "^8.13.0",
|
||||
"@typescript-eslint/parser": "^8.13.0",
|
||||
"@vscode/test-electron": "^2.4.1",
|
||||
"@vscode/vsce": "^3.2.2",
|
||||
"eslint": "^8.57.1",
|
||||
"mocha": "^10.7.3",
|
||||
"typescript": "^5.6.2"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user