@pixelbyte-software/pixcode 1.38.5 → 1.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CODE_OF_CONDUCT.md +41 -0
- package/CONTRIBUTING.md +156 -0
- package/README.md +223 -92
- package/SECURITY.md +46 -0
- package/dist/assets/{index-DHC6THrb.js → index-Bf_F3oaY.js} +165 -165
- package/dist/assets/index-H1zs5zWL.css +32 -0
- package/dist/docs.html +17 -3
- package/dist/features.html +28 -7
- package/dist/index.html +2 -2
- package/dist/landing.html +162 -109
- package/dist/llms-full.txt +9 -3
- package/dist/llms.txt +3 -2
- package/dist/site.css +158 -2
- package/dist/sitemap.xml +8 -8
- package/dist-server/server/gemini-cli.js +9 -1
- package/dist-server/server/gemini-cli.js.map +1 -1
- package/dist-server/server/modules/orchestration/a2a/routes.js +16 -14
- package/dist-server/server/modules/orchestration/a2a/routes.js.map +1 -1
- package/dist-server/server/modules/orchestration/workspace/docker-workspace.js +2 -1
- package/dist-server/server/modules/orchestration/workspace/docker-workspace.js.map +1 -1
- package/dist-server/server/modules/orchestration/workspace/workspace-manager.js +4 -0
- package/dist-server/server/modules/orchestration/workspace/workspace-manager.js.map +1 -1
- package/dist-server/server/modules/orchestration/workspace/worktree-workspace.js +2 -1
- package/dist-server/server/modules/orchestration/workspace/worktree-workspace.js.map +1 -1
- package/dist-server/server/opencode-cli.js +9 -1
- package/dist-server/server/opencode-cli.js.map +1 -1
- package/dist-server/server/qwen-code-cli.js +9 -1
- package/dist-server/server/qwen-code-cli.js.map +1 -1
- package/dist-server/server/routes/git.js +7 -1
- package/dist-server/server/routes/git.js.map +1 -1
- package/dist-server/server/routes/taskmaster.js +74 -11
- package/dist-server/server/routes/taskmaster.js.map +1 -1
- package/dist-server/server/services/taskmaster-config.js +128 -0
- package/dist-server/server/services/taskmaster-config.js.map +1 -0
- package/package.json +7 -2
- package/scripts/smoke/chat-composer-fixed-layout.mjs +34 -0
- package/scripts/smoke/command-center-agent-writes.mjs +27 -1
- package/scripts/smoke/orchestration-mobile-scroll.mjs +29 -0
- package/scripts/smoke/orchestration-runtime-guards.mjs +48 -0
- package/scripts/smoke/taskmaster-config.mjs +59 -0
- package/server/gemini-cli.js +9 -1
- package/server/modules/orchestration/a2a/routes.ts +16 -14
- package/server/modules/orchestration/workspace/docker-workspace.ts +2 -1
- package/server/modules/orchestration/workspace/workspace-manager.ts +5 -0
- package/server/modules/orchestration/workspace/worktree-workspace.ts +2 -1
- package/server/opencode-cli.js +9 -1
- package/server/qwen-code-cli.js +9 -1
- package/server/routes/git.js +7 -1
- package/server/routes/taskmaster.js +83 -11
- package/server/services/taskmaster-config.js +146 -0
- package/dist/assets/index-B-OgjpDF.css +0 -32
package/README.md
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<img src="public/logo.png" alt="Pixcode logo" width="
|
|
2
|
+
<img src="public/logo.png" alt="Pixcode logo" width="92" height="92" />
|
|
3
3
|
<h1>Pixcode</h1>
|
|
4
|
-
<p><strong>
|
|
4
|
+
<p><strong>Self-hosted control plane for AI coding agents.</strong></p>
|
|
5
5
|
<p>
|
|
6
|
-
|
|
6
|
+
Pixcode lets you run AI coding CLIs, inspect files, manage shell and source control,
|
|
7
|
+
orchestrate agent teams, automate through APIs, and keep long-running work alive from
|
|
8
|
+
your own computer or server.
|
|
7
9
|
</p>
|
|
8
10
|
<p>
|
|
9
11
|
<a href="https://www.npmjs.com/package/@pixelbyte-software/pixcode"><img src="https://img.shields.io/npm/v/@pixelbyte-software/pixcode?style=for-the-badge&color=10b981" alt="npm version" /></a>
|
|
@@ -12,7 +14,14 @@
|
|
|
12
14
|
<img src="https://img.shields.io/badge/Desktop-Windows%20%7C%20macOS%20%7C%20Linux-6366f1?style=for-the-badge" alt="desktop platforms" />
|
|
13
15
|
</p>
|
|
14
16
|
<p>
|
|
15
|
-
<a href="
|
|
17
|
+
<a href="https://alicomert.github.io/pixcode/landing.html">Website</a> ·
|
|
18
|
+
<a href="https://github.com/alicomert/pixcode/releases/latest">Releases</a> ·
|
|
19
|
+
<a href="public/docs.html">Docs</a> ·
|
|
20
|
+
<a href="public/openapi.yaml">OpenAPI</a> ·
|
|
21
|
+
<a href="CONTRIBUTING.md">Contributing</a>
|
|
22
|
+
</p>
|
|
23
|
+
<p>
|
|
24
|
+
<a href="README.tr.md">Turkce</a> ·
|
|
16
25
|
<a href="README.de.md">Deutsch</a> ·
|
|
17
26
|
<a href="README.ru.md">Русский</a> ·
|
|
18
27
|
<a href="README.ja.md">日本語</a> ·
|
|
@@ -21,93 +30,158 @@
|
|
|
21
30
|
</p>
|
|
22
31
|
</div>
|
|
23
32
|
|
|
24
|
-
## What Pixcode
|
|
33
|
+
## What Pixcode Does
|
|
25
34
|
|
|
26
|
-
Pixcode
|
|
35
|
+
Pixcode is a local web and desktop workspace for AI coding agents. It wraps the
|
|
36
|
+
CLIs developers already use, then adds the missing control layer around them:
|
|
37
|
+
project selection, chat history, file navigation, shell access, Git/local change
|
|
38
|
+
tracking, orchestration, notifications, Telegram control, and API automation.
|
|
27
39
|
|
|
28
|
-
|
|
40
|
+
Use it when one terminal is not enough:
|
|
29
41
|
|
|
30
|
-
-
|
|
31
|
-
|
|
32
|
-
-
|
|
42
|
+
- You want Claude Code, Cursor CLI, Codex, Gemini CLI, Qwen Code, and OpenCode
|
|
43
|
+
available from the same project screen.
|
|
44
|
+
- You want agent output, edited files, shell commands, Git status, and task
|
|
45
|
+
planning visible without switching tools.
|
|
46
|
+
- You want a server or desktop app that keeps work running while you connect
|
|
47
|
+
from another computer, tablet, phone, or Telegram.
|
|
48
|
+
- You want a real API surface so other tools can create sessions, run agents,
|
|
49
|
+
inspect projects, and automate workflows with `px_` API keys.
|
|
33
50
|
|
|
34
|
-
Pixcode is not a hosted cloud IDE. Your
|
|
51
|
+
Pixcode is not a hosted cloud IDE. Your source code, CLI sessions, credentials,
|
|
52
|
+
project paths, MCP configuration, local database, and automation keys stay on the
|
|
53
|
+
machine where Pixcode runs unless you intentionally expose or connect them.
|
|
35
54
|
|
|
36
55
|
## Screenshots
|
|
37
56
|
|
|
38
57
|
| Workspace control room | Mobile chat |
|
|
39
58
|
| --- | --- |
|
|
40
|
-
| <img src="public/screenshots/desktop-main.png" alt="Pixcode desktop workspace" width="480" /> | <img src="public/screenshots/mobile-chat.png" alt="Pixcode mobile chat" width="260" /> |
|
|
59
|
+
| <img src="public/screenshots/desktop-main.png" alt="Pixcode desktop workspace with chat, project controls, and side panels" width="480" /> | <img src="public/screenshots/mobile-chat.png" alt="Pixcode mobile chat" width="260" /> |
|
|
41
60
|
|
|
42
61
|
| CLI selection | Tools and MCP |
|
|
43
62
|
| --- | --- |
|
|
44
|
-
| <img src="public/screenshots/cli-selection.png" alt="Pixcode CLI selection" width="420" /> | <img src="public/screenshots/tools-modal.png" alt="Pixcode tools modal" width="420" /> |
|
|
63
|
+
| <img src="public/screenshots/cli-selection.png" alt="Pixcode CLI selection" width="420" /> | <img src="public/screenshots/tools-modal.png" alt="Pixcode tools and MCP modal" width="420" /> |
|
|
64
|
+
|
|
65
|
+
## Core Features
|
|
66
|
+
|
|
67
|
+
### Multi-CLI agent workspace
|
|
45
68
|
|
|
46
|
-
|
|
69
|
+
Pixcode gives every supported coding CLI a shared workspace without hiding the
|
|
70
|
+
provider-native behavior. You can connect the providers you already use and move
|
|
71
|
+
between them from the same project.
|
|
47
72
|
|
|
48
|
-
|
|
73
|
+
- Claude Code
|
|
74
|
+
- Cursor CLI
|
|
75
|
+
- OpenAI Codex
|
|
76
|
+
- Gemini CLI
|
|
77
|
+
- Qwen Code
|
|
78
|
+
- OpenCode
|
|
49
79
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
80
|
+
Provider panels cover auth state, install checks, CLI versions, model choices,
|
|
81
|
+
MCP support, and session history. When an agent is thinking, running tools,
|
|
82
|
+
waiting for approval, or writing output, the UI keeps visible processing state
|
|
83
|
+
instead of leaving the screen feeling frozen.
|
|
54
84
|
|
|
55
|
-
### Chat
|
|
85
|
+
### Chat built for development work
|
|
56
86
|
|
|
57
|
-
|
|
58
|
-
- Fixed bottom prompt composer for focused chat and selected project screens.
|
|
59
|
-
- Mode selection for default/plan/run flows, with mode persistence where the workflow expects it.
|
|
60
|
-
- Slash command support and provider-specific tool rendering.
|
|
61
|
-
- Push and Telegram notifications when long-running agent work finishes, fails, or needs attention.
|
|
87
|
+
Pixcode chat is project-aware and designed for long-running coding sessions.
|
|
62
88
|
|
|
63
|
-
|
|
89
|
+
- Fixed bottom composer on chat/project screens.
|
|
90
|
+
- Session history per provider and project.
|
|
91
|
+
- Default, plan, and run-style modes where supported.
|
|
92
|
+
- Slash-command friendly input.
|
|
93
|
+
- Tool output rendering for plans, file operations, command output, and provider
|
|
94
|
+
status events.
|
|
95
|
+
- Telegram and browser/desktop notifications when work finishes, fails, or needs
|
|
96
|
+
attention.
|
|
64
97
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
-
|
|
98
|
+
### Files, shell, and source control
|
|
99
|
+
|
|
100
|
+
The side panels are built around the way coding agents change projects.
|
|
101
|
+
|
|
102
|
+
- Files panel with detailed and compact views.
|
|
103
|
+
- File open/edit flows that preserve the main chat or orchestration surface.
|
|
104
|
+
- Shell panel with split/full behavior on desktop and mobile-safe behavior on
|
|
105
|
+
smaller screens.
|
|
106
|
+
- Source Control panel for Git status, diffs, branches, commits, and changed
|
|
107
|
+
files when a project is a Git repository.
|
|
108
|
+
- Local change tracking for projects that are not Git repositories.
|
|
70
109
|
|
|
71
110
|
### Command Center for changed files
|
|
72
111
|
|
|
73
|
-
|
|
112
|
+
Command Center watches what changes while agents work. It can track Git changes
|
|
113
|
+
or local filesystem changes, show the changed file list next to the active chat,
|
|
114
|
+
highlight changed items, and open the edited file at the relevant location.
|
|
74
115
|
|
|
75
|
-
This is meant
|
|
116
|
+
This is meant to answer the practical question: "What did the agent just touch?"
|
|
76
117
|
|
|
77
118
|
### Multi-agent orchestration
|
|
78
119
|
|
|
79
|
-
|
|
120
|
+
Pixcode can run structured agent workflows instead of sending every prompt to one
|
|
121
|
+
agent.
|
|
80
122
|
|
|
81
123
|
Built-in workflow styles include:
|
|
82
124
|
|
|
83
|
-
-
|
|
84
|
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
125
|
+
- Agent Team: split a job across implementation, review, docs, testing, or
|
|
126
|
+
custom roles.
|
|
127
|
+
- Sequential Handoff: pass compact context from one stage to the next.
|
|
128
|
+
- Multi-model Review: compare provider/model opinions on the same code or plan.
|
|
129
|
+
- Decision Debate: make multiple agents argue approaches before acting.
|
|
87
130
|
|
|
88
131
|
Orchestration controls include:
|
|
89
132
|
|
|
90
|
-
-
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
95
|
-
-
|
|
96
|
-
-
|
|
97
|
-
|
|
133
|
+
- per-agent provider and model selection,
|
|
134
|
+
- custom labels, roles, and instructions,
|
|
135
|
+
- duplicate providers when multiple workers should use the same CLI,
|
|
136
|
+
- fallback CLI selection for failed steps,
|
|
137
|
+
- run preview before execution,
|
|
138
|
+
- streamed step output and final report,
|
|
139
|
+
- resizable setup/output panes.
|
|
140
|
+
|
|
141
|
+
### TaskMaster planning
|
|
142
|
+
|
|
143
|
+
Pixcode can integrate TaskMaster-backed planning into project work. The Tasks
|
|
144
|
+
tab is meant for PRD parsing, task breakdown, task status, and handing planned
|
|
145
|
+
work to agents.
|
|
146
|
+
|
|
147
|
+
TaskMaster settings support both known provider variables and custom
|
|
148
|
+
OpenAI-compatible endpoints:
|
|
149
|
+
|
|
150
|
+
- `ANTHROPIC_API_KEY`
|
|
151
|
+
- `PERPLEXITY_API_KEY`
|
|
152
|
+
- `OPENAI_API_KEY`
|
|
153
|
+
- `OPENAI_BASE_URL`
|
|
154
|
+
- `GOOGLE_API_KEY` / `GEMINI_API_KEY`
|
|
155
|
+
- `OPENROUTER_API_KEY`
|
|
156
|
+
- `AZURE_OPENAI_API_KEY`
|
|
157
|
+
- `AZURE_OPENAI_ENDPOINT`
|
|
158
|
+
- `OLLAMA_BASE_URL`
|
|
159
|
+
- custom OpenAI-compatible API key, API URL, and model fields
|
|
160
|
+
|
|
161
|
+
For a private gateway, local model router, or third-party OpenAI-compatible
|
|
162
|
+
provider, open Settings, go to Tasks, and set:
|
|
163
|
+
|
|
164
|
+
- Custom OpenAI-compatible key
|
|
165
|
+
- Custom OpenAI-compatible API URL
|
|
166
|
+
- Custom OpenAI-compatible model, optional
|
|
167
|
+
|
|
168
|
+
Pixcode maps those values into the environment TaskMaster expects during CLI
|
|
169
|
+
execution, while keeping secret values masked in UI responses.
|
|
98
170
|
|
|
99
171
|
### API-first automation
|
|
100
172
|
|
|
101
|
-
Pixcode's
|
|
173
|
+
Pixcode's frontend uses the same backend control plane exposed to external
|
|
174
|
+
automation. Generate a `px_` API key and call the REST/WebSocket APIs from your
|
|
175
|
+
own tools, scripts, CI, dashboards, or Telegram bridge.
|
|
102
176
|
|
|
103
|
-
|
|
177
|
+
List projects:
|
|
104
178
|
|
|
105
179
|
```bash
|
|
106
180
|
curl http://localhost:3001/api/projects \
|
|
107
181
|
-H "Authorization: Bearer px_your_key_here"
|
|
108
182
|
```
|
|
109
183
|
|
|
110
|
-
Run a
|
|
184
|
+
Run a provider task:
|
|
111
185
|
|
|
112
186
|
```bash
|
|
113
187
|
curl http://localhost:3001/api/agent \
|
|
@@ -116,7 +190,7 @@ curl http://localhost:3001/api/agent \
|
|
|
116
190
|
-d '{
|
|
117
191
|
"provider": "codex",
|
|
118
192
|
"projectPath": "/home/me/project",
|
|
119
|
-
"message": "Review the current diff and list
|
|
193
|
+
"message": "Review the current diff and list risky changes.",
|
|
120
194
|
"stream": false
|
|
121
195
|
}'
|
|
122
196
|
```
|
|
@@ -137,50 +211,60 @@ curl http://localhost:3001/api/orchestration/workflows/agent_team/preview \
|
|
|
137
211
|
}'
|
|
138
212
|
```
|
|
139
213
|
|
|
140
|
-
Legacy `ck_` keys remain accepted for older installations, but `px_` is the
|
|
214
|
+
Legacy `ck_` keys remain accepted for older installations, but `px_` is the
|
|
215
|
+
current prefix.
|
|
141
216
|
|
|
142
217
|
OpenAPI reference: [`public/openapi.yaml`](public/openapi.yaml)
|
|
143
218
|
|
|
144
|
-
###
|
|
219
|
+
### Telegram, notifications, and remote control
|
|
145
220
|
|
|
146
|
-
Pixcode
|
|
221
|
+
Pixcode can pair a Telegram chat with your account so completed tasks, failed
|
|
222
|
+
runs, and action-required states can reach you outside the browser. The goal is
|
|
223
|
+
not just a final notification: the Telegram bridge is a control surface for
|
|
224
|
+
remote prompts, provider/session selection, and long-running work.
|
|
147
225
|
|
|
148
|
-
|
|
149
|
-
- Ready-made accent palettes, including emerald and VS Code-like colors.
|
|
150
|
-
- Custom light-mode and dark-mode accent colors.
|
|
151
|
-
- Token-based styling for active states, focus rings, buttons, navigation, and high-emphasis controls.
|
|
152
|
-
- Settings-driven theme changes without rebuilding the app.
|
|
226
|
+
Notification surfaces include:
|
|
153
227
|
|
|
154
|
-
|
|
228
|
+
- in-app alerts,
|
|
229
|
+
- browser/desktop notifications where the platform allows them,
|
|
230
|
+
- Telegram task notifications,
|
|
231
|
+
- update notices and release notes.
|
|
155
232
|
|
|
156
|
-
###
|
|
233
|
+
### Theme system
|
|
157
234
|
|
|
158
|
-
|
|
159
|
-
- Telegram pairing with short-lived codes.
|
|
160
|
-
- Telegram notifications for completed, failed, or action-required work.
|
|
161
|
-
- Optional bridge behavior so Telegram messages can become prompts for the Pixcode instance.
|
|
162
|
-
- Notification preferences are stored per user.
|
|
235
|
+
Pixcode has a real appearance system instead of one fixed blue/navy palette.
|
|
163
236
|
|
|
164
|
-
|
|
237
|
+
- Dark and light modes.
|
|
238
|
+
- Ready-made accent palettes, including emerald and VS Code-like options.
|
|
239
|
+
- Custom accent colors for dark and light themes.
|
|
240
|
+
- Token-based styling for focus rings, active controls, buttons, navigation, and
|
|
241
|
+
panels.
|
|
242
|
+
|
|
243
|
+
### MCP and plugins
|
|
165
244
|
|
|
166
|
-
Pixcode includes
|
|
245
|
+
Pixcode includes extension points for local workflows:
|
|
167
246
|
|
|
168
247
|
- MCP server management for supported providers.
|
|
169
|
-
- Provider-specific
|
|
170
|
-
- Plugin loading with frontend tabs and
|
|
171
|
-
- Local settings for API keys, base URLs, model catalogs, and provider install
|
|
248
|
+
- Provider-specific auth, MCP, and sessions panels.
|
|
249
|
+
- Plugin loading with optional frontend tabs and backend services.
|
|
250
|
+
- Local settings for API keys, base URLs, model catalogs, and provider install
|
|
251
|
+
state.
|
|
172
252
|
|
|
173
253
|
## Installation
|
|
174
254
|
|
|
175
|
-
###
|
|
255
|
+
### Requirements
|
|
176
256
|
|
|
177
|
-
|
|
257
|
+
- Node.js 22 or newer.
|
|
258
|
+
- The provider CLIs you want to use, installed and authenticated separately when
|
|
259
|
+
required.
|
|
260
|
+
|
|
261
|
+
### Run with npx
|
|
178
262
|
|
|
179
263
|
```bash
|
|
180
264
|
npx @pixelbyte-software/pixcode
|
|
181
265
|
```
|
|
182
266
|
|
|
183
|
-
|
|
267
|
+
Open:
|
|
184
268
|
|
|
185
269
|
```text
|
|
186
270
|
http://localhost:3001
|
|
@@ -195,21 +279,24 @@ pixcode
|
|
|
195
279
|
|
|
196
280
|
### Desktop installers
|
|
197
281
|
|
|
198
|
-
Download desktop builds from GitHub
|
|
282
|
+
Download desktop builds from GitHub Releases:
|
|
199
283
|
|
|
200
284
|
- Windows: `.exe`
|
|
201
285
|
- macOS: `.dmg`
|
|
202
|
-
- Linux: AppImage
|
|
286
|
+
- Linux: AppImage or package asset, depending on the release
|
|
203
287
|
|
|
204
288
|
Releases: <https://github.com/alicomert/pixcode/releases/latest>
|
|
205
289
|
|
|
206
290
|
#### macOS Gatekeeper: "Pixcode is damaged"
|
|
207
291
|
|
|
208
|
-
Current macOS desktop builds
|
|
292
|
+
Current macOS desktop builds can be unsigned. If macOS says `Pixcode is damaged
|
|
293
|
+
and can't be opened. You should move it to the Trash`, first make sure the DMG
|
|
294
|
+
came from the official Pixcode GitHub Releases page, then:
|
|
209
295
|
|
|
210
296
|
1. Open the DMG and drag `Pixcode.app` into `/Applications`.
|
|
211
297
|
2. Double-click `Fix Gatekeeper.command` inside the mounted DMG.
|
|
212
|
-
3. Pixcode
|
|
298
|
+
3. Pixcode removes the quarantine flag from `/Applications/Pixcode.app` and can
|
|
299
|
+
open normally.
|
|
213
300
|
|
|
214
301
|
Manual fallback:
|
|
215
302
|
|
|
@@ -220,7 +307,7 @@ open "/Applications/Pixcode.app"
|
|
|
220
307
|
|
|
221
308
|
### Linux daemon
|
|
222
309
|
|
|
223
|
-
For a server
|
|
310
|
+
For a server or VDS setup:
|
|
224
311
|
|
|
225
312
|
```bash
|
|
226
313
|
pixcode daemon install --mode auto --port 3001
|
|
@@ -237,20 +324,22 @@ pixcode --no-daemon
|
|
|
237
324
|
|
|
238
325
|
### Ports
|
|
239
326
|
|
|
240
|
-
-
|
|
327
|
+
- Installed backend and bundled frontend: `SERVER_PORT`, default `3001`.
|
|
241
328
|
- Vite-only frontend development: `VITE_PORT`, default `5173`.
|
|
242
329
|
|
|
243
|
-
For normal installed usage, think in terms of one port: `3001`.
|
|
330
|
+
For normal installed usage, think in terms of one port: `3001`. Port `5173` is
|
|
331
|
+
only for separate Vite frontend development.
|
|
244
332
|
|
|
245
|
-
## First Run
|
|
333
|
+
## First Run
|
|
246
334
|
|
|
247
335
|
1. Open Pixcode and create or sign in to the local user account.
|
|
248
336
|
2. Add the project folders you want to manage.
|
|
249
337
|
3. Connect the CLI providers you actually use.
|
|
250
338
|
4. Open Settings and check provider install/auth/model status.
|
|
251
|
-
5.
|
|
252
|
-
6.
|
|
253
|
-
7.
|
|
339
|
+
5. Enable TaskMaster if you want planning and task execution flows.
|
|
340
|
+
6. Generate a `px_` API key for external automation.
|
|
341
|
+
7. Pair Telegram if you want remote prompts and completion notifications.
|
|
342
|
+
8. Pick your theme palette under Appearance.
|
|
254
343
|
|
|
255
344
|
## Development
|
|
256
345
|
|
|
@@ -264,33 +353,75 @@ npm run build
|
|
|
264
353
|
Important development notes:
|
|
265
354
|
|
|
266
355
|
- `npm run dev` uses the daemon manager on Linux.
|
|
267
|
-
- For a foreground development loop, run `npm run client` and `npm run server`
|
|
268
|
-
|
|
269
|
-
-
|
|
356
|
+
- For a foreground development loop, run `npm run client` and `npm run server`
|
|
357
|
+
separately, or run `pixcode --no-daemon`.
|
|
358
|
+
- `npm run server` runs built output from `dist-server/`; rebuild after backend
|
|
359
|
+
changes.
|
|
360
|
+
- There is no unit test suite configured today. Use smoke scripts, typecheck,
|
|
361
|
+
lint, build, and manual provider/API checks.
|
|
270
362
|
|
|
271
363
|
## Repository Map
|
|
272
364
|
|
|
273
365
|
- `src/` - React + Vite frontend.
|
|
274
|
-
- `server/` - Express, WebSocket, CLI adapters, routes, auth, daemon,
|
|
275
|
-
|
|
276
|
-
- `server/modules/
|
|
366
|
+
- `server/` - Express, WebSocket, CLI adapters, routes, auth, daemon,
|
|
367
|
+
notifications.
|
|
368
|
+
- `server/modules/orchestration/` - multi-agent workflow engine and A2A
|
|
369
|
+
adapters.
|
|
370
|
+
- `server/modules/providers/` - provider auth, MCP, sessions, model and install
|
|
371
|
+
endpoints.
|
|
277
372
|
- `shared/` - contracts shared by frontend and backend.
|
|
278
373
|
- `public/openapi.yaml` - API reference shipped with the app.
|
|
279
|
-
- `public/screenshots/` - README
|
|
374
|
+
- `public/screenshots/` - README and product screenshots.
|
|
375
|
+
- `public/llms.txt` and `public/llms-full.txt` - AI-discovery summaries.
|
|
376
|
+
|
|
377
|
+
## Open Source Readiness
|
|
378
|
+
|
|
379
|
+
Pixcode is prepared for public contribution with the basics contributors expect:
|
|
380
|
+
|
|
381
|
+
- Clear README with purpose, install commands, screenshots, API examples, and
|
|
382
|
+
architecture map.
|
|
383
|
+
- Open-source license in [`LICENSE`](LICENSE).
|
|
384
|
+
- Contribution guide in [`CONTRIBUTING.md`](CONTRIBUTING.md).
|
|
385
|
+
- Code of conduct in [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md).
|
|
386
|
+
- Security policy in [`SECURITY.md`](SECURITY.md).
|
|
387
|
+
- GitHub issue templates for bug reports, feature requests, and good first
|
|
388
|
+
issues.
|
|
389
|
+
- Releases and version tags published through GitHub Releases.
|
|
390
|
+
- Static website and documentation under [`public/`](public).
|
|
391
|
+
|
|
392
|
+
Good starter work should be labeled `good first issue` on GitHub. The repository
|
|
393
|
+
also includes a good-first-issue template so small, scoped tasks can be filed
|
|
394
|
+
without losing context.
|
|
280
395
|
|
|
281
396
|
## Security Model
|
|
282
397
|
|
|
283
398
|
- Pixcode is self-hosted. Treat it like a local control plane for your machine.
|
|
284
399
|
- Use strong local account credentials when exposing it on a network.
|
|
285
|
-
- Put
|
|
400
|
+
- Put public-server deployments behind a trusted reverse proxy, VPN, or firewall.
|
|
286
401
|
- API keys are intended for automation. Rotate them if they are exposed.
|
|
287
402
|
- Provider secrets are masked in APIs and UI responses where possible.
|
|
403
|
+
- Do not publish logs that contain provider tokens, session output, or private
|
|
404
|
+
project paths.
|
|
405
|
+
|
|
406
|
+
## Contributing
|
|
407
|
+
|
|
408
|
+
Read [`CONTRIBUTING.md`](CONTRIBUTING.md) before opening a pull request. Keep
|
|
409
|
+
changes scoped, run the verification commands above, and include screenshots or
|
|
410
|
+
short recordings for UI work when possible.
|
|
411
|
+
|
|
412
|
+
For community behavior expectations, read
|
|
413
|
+
[`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md). For private vulnerability reports,
|
|
414
|
+
read [`SECURITY.md`](SECURITY.md).
|
|
288
415
|
|
|
289
416
|
## Links
|
|
290
417
|
|
|
418
|
+
- Website: <https://alicomert.github.io/pixcode/landing.html>
|
|
291
419
|
- npm: <https://www.npmjs.com/package/@pixelbyte-software/pixcode>
|
|
292
420
|
- GitHub: <https://github.com/alicomert/pixcode>
|
|
293
421
|
- Releases: <https://github.com/alicomert/pixcode/releases/latest>
|
|
294
422
|
- API docs: [`public/openapi.yaml`](public/openapi.yaml)
|
|
295
423
|
- Static docs: [`public/docs.html`](public/docs.html), [`public/features.html`](public/features.html), [`public/orchestration.html`](public/orchestration.html), [`public/api-automation.html`](public/api-automation.html)
|
|
296
424
|
- AI discovery: [`public/llms.txt`](public/llms.txt), [`public/llms-full.txt`](public/llms-full.txt)
|
|
425
|
+
|
|
426
|
+
Pixcode is an independent open-source project and is not affiliated with OpenAI,
|
|
427
|
+
Anthropic, Google, Cursor, Alibaba/Qwen, OpenCode, or TaskMaster.
|
package/SECURITY.md
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
Pixcode is a self-hosted control plane for local projects, provider CLIs, API
|
|
4
|
+
keys, Telegram pairing, shell access, files, Git state, and agent sessions. Treat
|
|
5
|
+
it like sensitive developer infrastructure.
|
|
6
|
+
|
|
7
|
+
## Supported Versions
|
|
8
|
+
|
|
9
|
+
Security fixes are targeted at the latest published release and the current
|
|
10
|
+
`main` branch.
|
|
11
|
+
|
|
12
|
+
| Version | Supported |
|
|
13
|
+
| --- | --- |
|
|
14
|
+
| Latest release | Yes |
|
|
15
|
+
| Older releases | Best effort |
|
|
16
|
+
|
|
17
|
+
## Reporting a Vulnerability
|
|
18
|
+
|
|
19
|
+
Please do not open a public issue for private vulnerabilities, leaked tokens, or
|
|
20
|
+
exploit details.
|
|
21
|
+
|
|
22
|
+
Use GitHub Security Advisories for this repository when available. If advisory
|
|
23
|
+
reporting is not available, contact the repository owner privately through
|
|
24
|
+
GitHub and include:
|
|
25
|
+
|
|
26
|
+
- affected Pixcode version or commit,
|
|
27
|
+
- operating system and deployment mode,
|
|
28
|
+
- reproduction steps,
|
|
29
|
+
- expected impact,
|
|
30
|
+
- relevant logs with secrets removed.
|
|
31
|
+
|
|
32
|
+
## Deployment Guidance
|
|
33
|
+
|
|
34
|
+
- Do not expose Pixcode directly to the public internet without a trusted reverse
|
|
35
|
+
proxy, VPN, firewall, or equivalent access control.
|
|
36
|
+
- Use strong local account credentials.
|
|
37
|
+
- Rotate `px_` API keys and provider tokens if they are exposed.
|
|
38
|
+
- Do not paste production provider tokens into public issues or screenshots.
|
|
39
|
+
- Keep desktop installers and npm packages updated from official Pixcode
|
|
40
|
+
releases.
|
|
41
|
+
|
|
42
|
+
## Scope
|
|
43
|
+
|
|
44
|
+
Reports are most useful when they involve Pixcode application code, API
|
|
45
|
+
authorization, session isolation, secret handling, desktop packaging, update
|
|
46
|
+
behavior, or unsafe shell/file access.
|