Open
Conversation
Implements a VS Code extension in vscode-extension/ subfolder that: - Connects to the dev-pm daemon via Unix socket (.pm.sock) - Shows script statuses in a TreeView with auto-refresh - Provides start/stop/restart actions per script - Opens live log streams in VS Code Output Channels - Has Start All / Stop All bulk actions Agent-Logs-Url: https://github.com/vivid-planet/dev-process-manager/sessions/3a1e6f9e-3767-4634-9ac4-9fddc51567e9 Co-authored-by: nsams <50764+nsams@users.noreply.github.com>
Agent-Logs-Url: https://github.com/vivid-planet/dev-process-manager/sessions/3a1e6f9e-3767-4634-9ac4-9fddc51567e9 Co-authored-by: nsams <50764+nsams@users.noreply.github.com>
Copilot created this pull request from a session on behalf of
nsams
April 14, 2026 07:09
View session
Move table rendering from daemon to CLI client so the VS Code extension can parse structured JSON directly. Add a version command to the daemon and version compatibility checking in the extension with auto-reconnect when the daemon goes down or restarts.
nsams
marked this pull request as ready for review
April 14, 2026 14:41
Fabian-Fynn
suggested changes
Apr 15, 2026
nsams
force-pushed
the
copilot/implement-vscode-plugin-socket
branch
from
April 17, 2026 06:39
7ea9b42 to
8cf4255
Compare
nsams
force-pushed
the
copilot/implement-vscode-plugin-socket
branch
from
April 17, 2026 07:40
bf45eef to
a146f45
Compare
Fabian-Fynn
self-requested a review
April 17, 2026 10:58
Fabian-Fynn
previously approved these changes
Apr 17, 2026
nsams
approved these changes
May 6, 2026
Fabian-Fynn
approved these changes
May 6, 2026
✅ Deploy Preview for dev-process-manager canceled.
|
VPS-Fabi
previously approved these changes
Jul 21, 2026
nsams
added a commit
that referenced
this pull request
Jul 21, 2026
mainly in preparation for #177, but imho generally a better idea to use a json protocol and render the table client side. ## Description The status command previously rendered tables directly in the daemon process and streamed the formatted output to the client. This approach mixed presentation logic with daemon logic and made it difficult to handle the status command differently from other commands. This change separates concerns by: 1. Moving table rendering logic from the daemon to the client command 2. Having the daemon send structured JSON data instead of formatted text 3. Extracting script status data collection into a reusable `getScriptEntries()` function 4. Exporting a new `ScriptStatusEntry` interface for type safety Additionally, the `connect()` function's default data handler is extracted into a new `pipeToStdout()` function, which is now explicitly called by commands that need it (logs, restart, shutdown, start, stop). This allows the status command to handle data differently without affecting other commands. **Benefits:** - Cleaner separation between daemon and client concerns - Status command can now parse and render data on the client side - Easier to extend or modify status output formatting without touching daemon code - Other commands continue to work as before with explicit `pipeToStdout()` calls https://claude.ai/code/session_01Atpc7SdHY1FwGiMUyjXAMB --------- Co-authored-by: Claude <noreply@anthropic.com>
nsams
added a commit
that referenced
this pull request
Jul 28, 2026
## Description Add a new `version` command to the daemon that allows clients to query the package version. This enables external tools and clients to programmatically check the daemon's version without needing to parse other outputs or access the filesystem directly. The command reads the version from `package.json` and returns it as a JSON response, consistent with the daemon's existing command response format. in preparation for #177 where we need to query the version https://claude.ai/code/session_01HvmQcsv8ncXZ6E5KW4H6V8 Co-authored-by: Claude <noreply@anthropic.com>
Member
|
@copilot resolve the merge conflicts in this pull request |
…ode-plugin-socket # Conflicts: # .gitignore # src/commands/connect.ts # src/commands/logs.command.ts # src/commands/restart.command.ts # src/commands/start.command.ts # src/commands/status.command.ts # src/commands/stop.command.ts # src/daemon-command/script.ts # src/daemon-command/status.daemon-command.ts
Contributor
Author
Resolved the merge conflicts in commit |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds a VS Code extension that connects to the dev-pm daemon socket to provide sidebar-based process management. Users currently need to switch to a terminal to check script status or run start/stop/restart commands — this extension surfaces that directly in the editor.
The extension lives in
vscode-extension/with its ownpackage.jsonandtsconfig.json. No monorepo tooling needed — it's a self-contained subfolder.What it provides:
statussocket command.logssocket command.pm.sockin workspace folders, watches for socket creation/deletionCommunicates with the daemon using the existing plain-text socket protocol (
<COMMAND> <JSON_OPTIONS>), parses the cli-table3 status output, and strips ANSI codes for clean display.Example
Related tasks and documents
Inspired by pm2-vscode and pm2-explorer.
Open TODOs/questions
vivid-planet?Further information
Architecture:
daemon-client.ts— socket connection, command sending, status table parsing, ANSI strippingscripts-tree-provider.ts—TreeDataProviderwith auto-refresh timer, status icons via ThemeIconextension.ts— activation, command registration, socket path discovery, log channel managementBuild:
cd vscode-extension && npm install && npm run compilePackage:
cd vscode-extension && npm run packageproduces a.vsix