@pixelbyte-software/pixcode 1.54.9 → 1.54.11

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.
Files changed (288) hide show
  1. package/CODE_OF_CONDUCT.md +41 -41
  2. package/CONTRIBUTING.md +156 -156
  3. package/LICENSE +21 -718
  4. package/README.de.md +169 -169
  5. package/README.ja.md +167 -167
  6. package/README.ko.md +167 -167
  7. package/README.md +435 -418
  8. package/README.ru.md +169 -169
  9. package/README.tr.md +298 -298
  10. package/README.zh-CN.md +167 -167
  11. package/SECURITY.md +46 -46
  12. package/dist/api-automation.html +110 -110
  13. package/dist/api-docs.html +548 -548
  14. package/dist/assets/{index-Bm6uAqKU.js → index-Bcqs_1vc.js} +114 -114
  15. package/dist/clear-cache.html +85 -85
  16. package/dist/convert-icons.md +52 -52
  17. package/dist/docs.html +308 -308
  18. package/dist/features.html +133 -133
  19. package/dist/generate-icons.js +48 -48
  20. package/dist/humans.txt +15 -15
  21. package/dist/icons/codex-white.svg +3 -3
  22. package/dist/icons/codex.svg +3 -3
  23. package/dist/icons/cursor-white.svg +11 -11
  24. package/dist/icons/qwen-logo.svg +14 -14
  25. package/dist/index.html +58 -58
  26. package/dist/landing.html +268 -268
  27. package/dist/llms-full.txt +119 -119
  28. package/dist/llms.txt +53 -53
  29. package/dist/manifest.json +60 -60
  30. package/dist/openapi.yaml +1696 -1696
  31. package/dist/orchestration.html +125 -125
  32. package/dist/robots.txt +4 -4
  33. package/dist/site.css +692 -692
  34. package/dist/sitemap.xml +51 -51
  35. package/dist/sw.js +132 -132
  36. package/dist-server/server/cli.js +100 -100
  37. package/dist-server/server/daemon/manager.js +33 -33
  38. package/dist-server/server/daemon-manager.js +64 -64
  39. package/dist-server/server/index.js +13 -0
  40. package/dist-server/server/index.js.map +1 -1
  41. package/dist-server/server/routes/agent.js +10 -1
  42. package/dist-server/server/routes/agent.js.map +1 -1
  43. package/dist-server/server/routes/commands.js +25 -25
  44. package/dist-server/server/routes/git.js +17 -17
  45. package/dist-server/server/routes/live-view.js +46 -46
  46. package/dist-server/server/services/public-api-manifest.js +51 -51
  47. package/dist-server/server/sessionManager.js +5 -5
  48. package/dist-server/server/sessionManager.js.map +1 -1
  49. package/package.json +224 -224
  50. package/scripts/fix-node-pty.js +67 -67
  51. package/scripts/github/create-v1.38-issues.mjs +351 -351
  52. package/scripts/github/create-vscode-workbench-issues.mjs +121 -121
  53. package/scripts/smoke/backend-resource-bounds.mjs +152 -152
  54. package/scripts/smoke/changes-panel-layout.mjs +48 -48
  55. package/scripts/smoke/chat-composer-fixed-layout.mjs +55 -55
  56. package/scripts/smoke/chat-message-timeline-order.mjs +41 -41
  57. package/scripts/smoke/chat-realtime-hydration.mjs +44 -44
  58. package/scripts/smoke/chat-session-provider-pools.mjs +35 -35
  59. package/scripts/smoke/chat-session-state.mjs +19 -19
  60. package/scripts/smoke/code-editor-theme.mjs +55 -55
  61. package/scripts/smoke/code-editor-vscode-engine.mjs +91 -91
  62. package/scripts/smoke/command-center-agent-writes.mjs +79 -79
  63. package/scripts/smoke/command-center-non-git.mjs +46 -46
  64. package/scripts/smoke/context-packet.mjs +43 -43
  65. package/scripts/smoke/control-room-ux-redesign.mjs +91 -91
  66. package/scripts/smoke/daemon-entrypoint.mjs +20 -20
  67. package/scripts/smoke/default-landing-routing.mjs +33 -33
  68. package/scripts/smoke/desktop-native-notifications.mjs +30 -30
  69. package/scripts/smoke/desktop-tray-icon.mjs +33 -33
  70. package/scripts/smoke/discord-release-workflow.mjs +24 -24
  71. package/scripts/smoke/git-install-update.mjs +255 -255
  72. package/scripts/smoke/handoff-artifact-protocol.mjs +50 -50
  73. package/scripts/smoke/live-view-diagnostics.mjs +53 -53
  74. package/scripts/smoke/live-view-environment.mjs +92 -92
  75. package/scripts/smoke/live-view-integration.mjs +450 -450
  76. package/scripts/smoke/mac-desktop-runtime.mjs +37 -37
  77. package/scripts/smoke/mobile-tunnel-guidance.mjs +29 -29
  78. package/scripts/smoke/mobile-ux.mjs +76 -76
  79. package/scripts/smoke/model-registry.mjs +36 -36
  80. package/scripts/smoke/multi-project-ui.mjs +45 -45
  81. package/scripts/smoke/multi-worker-slots.mjs +42 -42
  82. package/scripts/smoke/notification-center.mjs +87 -87
  83. package/scripts/smoke/notification-inapp-preference.mjs +23 -23
  84. package/scripts/smoke/notification-taxonomy.mjs +58 -58
  85. package/scripts/smoke/orchestration-api.mjs +172 -172
  86. package/scripts/smoke/orchestration-execution-dashboard.mjs +33 -33
  87. package/scripts/smoke/orchestration-live-run.mjs +176 -176
  88. package/scripts/smoke/orchestration-mobile-scroll.mjs +29 -29
  89. package/scripts/smoke/orchestration-model-sync.mjs +30 -30
  90. package/scripts/smoke/orchestration-permission-fallback.mjs +34 -34
  91. package/scripts/smoke/orchestration-runtime-guards.mjs +48 -48
  92. package/scripts/smoke/orchestration-user-facing-output.mjs +25 -25
  93. package/scripts/smoke/permission-policy.mjs +50 -50
  94. package/scripts/smoke/pixcode-workbench-1-48.mjs +167 -167
  95. package/scripts/smoke/provider-models-opencode-live.mjs +66 -66
  96. package/scripts/smoke/provider-rest-api.mjs +124 -124
  97. package/scripts/smoke/provider-selection-status.mjs +52 -52
  98. package/scripts/smoke/run-state-refresh.mjs +52 -52
  99. package/scripts/smoke/runtime-manager.mjs +99 -99
  100. package/scripts/smoke/shell-manual-disconnect.mjs +30 -30
  101. package/scripts/smoke/side-panel-editor-layout.mjs +34 -34
  102. package/scripts/smoke/static-root-routing.mjs +21 -21
  103. package/scripts/smoke/strict-handoff-compact.mjs +60 -60
  104. package/scripts/smoke/taskmaster-config.mjs +24 -24
  105. package/scripts/smoke/taskmaster-execution-telegram.mjs +3 -3
  106. package/scripts/smoke/taskmaster-onboarding.mjs +3 -3
  107. package/scripts/smoke/taskmaster-run-graph.mjs +3 -3
  108. package/scripts/smoke/telegram-control.mjs +331 -331
  109. package/scripts/smoke/tunnel-persistence.mjs +56 -56
  110. package/scripts/smoke/update-issue-progress.mjs +69 -69
  111. package/scripts/smoke/update-ux.mjs +55 -55
  112. package/scripts/smoke/v138-completion.mjs +132 -132
  113. package/scripts/smoke/v138-desktop-release-hardening.mjs +69 -69
  114. package/scripts/smoke/v138-diagnostics.mjs +63 -63
  115. package/scripts/smoke/v138-issue-planner.mjs +33 -33
  116. package/scripts/smoke/v143-remote-control.mjs +76 -76
  117. package/scripts/smoke/v144-production-loop.mjs +47 -47
  118. package/scripts/smoke/v145-platformization.mjs +46 -46
  119. package/scripts/smoke/v146-control-room-ui.mjs +150 -150
  120. package/scripts/smoke/version-modal-autoshow.mjs +29 -29
  121. package/scripts/smoke/vscode-workbench-layout.mjs +63 -63
  122. package/scripts/smoke/vscode-workbench-polish.mjs +461 -461
  123. package/scripts/smoke/workflow-fallback-replay.mjs +56 -56
  124. package/scripts/smoke/workflow-templates.mjs +43 -43
  125. package/scripts/smoke/workflow-trace-timeline.mjs +46 -46
  126. package/scripts/update-git-install.mjs +298 -298
  127. package/server/claude-sdk.js +927 -927
  128. package/server/cli.js +1106 -1106
  129. package/server/constants/config.js +4 -4
  130. package/server/cursor-cli.js +344 -344
  131. package/server/daemon/manager.js +563 -563
  132. package/server/daemon-manager.js +964 -964
  133. package/server/database/db.js +988 -988
  134. package/server/database/json-store.js +197 -197
  135. package/server/gemini-cli.js +550 -550
  136. package/server/gemini-response-handler.js +79 -79
  137. package/server/index.js +5671 -5659
  138. package/server/load-env.js +35 -35
  139. package/server/middleware/account-lockout.js +112 -112
  140. package/server/middleware/auth.js +277 -277
  141. package/server/middleware/rate-limiter.js +87 -87
  142. package/server/modules/orchestration/a2a/adapter-registry.ts +108 -108
  143. package/server/modules/orchestration/a2a/adapters/abstract-a2a.adapter.ts +63 -63
  144. package/server/modules/orchestration/a2a/adapters/claude-code.adapter.ts +286 -286
  145. package/server/modules/orchestration/a2a/adapters/codex.adapter.ts +244 -244
  146. package/server/modules/orchestration/a2a/adapters/cursor.adapter.ts +249 -249
  147. package/server/modules/orchestration/a2a/adapters/gemini.adapter.ts +248 -248
  148. package/server/modules/orchestration/a2a/adapters/json-event.adapter.test.ts +60 -60
  149. package/server/modules/orchestration/a2a/adapters/json-event.adapter.ts +101 -101
  150. package/server/modules/orchestration/a2a/adapters/opencode.adapter.ts +248 -248
  151. package/server/modules/orchestration/a2a/adapters/qwen.adapter.ts +248 -248
  152. package/server/modules/orchestration/a2a/agent-card.ts +55 -55
  153. package/server/modules/orchestration/a2a/auth.middleware.ts +29 -29
  154. package/server/modules/orchestration/a2a/bus.ts +46 -46
  155. package/server/modules/orchestration/a2a/routes.ts +586 -586
  156. package/server/modules/orchestration/a2a/task-dispatcher.ts +345 -345
  157. package/server/modules/orchestration/a2a/task-store.ts +178 -178
  158. package/server/modules/orchestration/a2a/types.ts +126 -126
  159. package/server/modules/orchestration/a2a/validator.ts +113 -113
  160. package/server/modules/orchestration/index.ts +99 -99
  161. package/server/modules/orchestration/preview/port-watcher.ts +112 -112
  162. package/server/modules/orchestration/preview/preview-proxy.ts +60 -60
  163. package/server/modules/orchestration/preview/types.ts +19 -19
  164. package/server/modules/orchestration/security/permission-policy.ts +401 -401
  165. package/server/modules/orchestration/tasks/orchestration-task-store.ts +41 -41
  166. package/server/modules/orchestration/tasks/orchestration-task.routes.ts +81 -81
  167. package/server/modules/orchestration/tasks/orchestration-task.service.ts +201 -201
  168. package/server/modules/orchestration/tasks/orchestration-task.types.ts +40 -40
  169. package/server/modules/orchestration/tasks/task-run-graph.ts +155 -155
  170. package/server/modules/orchestration/workflows/approval-queue.ts +106 -106
  171. package/server/modules/orchestration/workflows/built-in-workflows.ts +127 -127
  172. package/server/modules/orchestration/workflows/context-packet.ts +186 -186
  173. package/server/modules/orchestration/workflows/handoff-artifact.ts +175 -175
  174. package/server/modules/orchestration/workflows/workflow-fallback-policy.ts +161 -161
  175. package/server/modules/orchestration/workflows/workflow-replay.ts +254 -254
  176. package/server/modules/orchestration/workflows/workflow-runner.ts +2062 -2062
  177. package/server/modules/orchestration/workflows/workflow-store.ts +97 -97
  178. package/server/modules/orchestration/workflows/workflow-templates.ts +272 -272
  179. package/server/modules/orchestration/workflows/workflow-trace.ts +424 -424
  180. package/server/modules/orchestration/workflows/workflow.routes.ts +586 -586
  181. package/server/modules/orchestration/workflows/workflow.types.ts +111 -111
  182. package/server/modules/orchestration/workflows/workspace-target.ts +122 -122
  183. package/server/modules/orchestration/workspace/docker-workspace.ts +136 -136
  184. package/server/modules/orchestration/workspace/path-safety.ts +55 -55
  185. package/server/modules/orchestration/workspace/types.ts +52 -52
  186. package/server/modules/orchestration/workspace/workspace-manager.ts +102 -102
  187. package/server/modules/orchestration/workspace/worktree-workspace.ts +126 -126
  188. package/server/modules/providers/index.ts +2 -2
  189. package/server/modules/providers/list/claude/claude-auth.provider.ts +146 -146
  190. package/server/modules/providers/list/claude/claude-mcp.provider.ts +135 -135
  191. package/server/modules/providers/list/claude/claude-sessions.provider.ts +306 -306
  192. package/server/modules/providers/list/claude/claude.provider.ts +15 -15
  193. package/server/modules/providers/list/codex/codex-auth.provider.ts +117 -117
  194. package/server/modules/providers/list/codex/codex-mcp.provider.ts +135 -135
  195. package/server/modules/providers/list/codex/codex-sessions.provider.ts +319 -319
  196. package/server/modules/providers/list/codex/codex.provider.ts +15 -15
  197. package/server/modules/providers/list/cursor/cursor-auth.provider.ts +147 -147
  198. package/server/modules/providers/list/cursor/cursor-mcp.provider.ts +108 -108
  199. package/server/modules/providers/list/cursor/cursor-sessions.provider.ts +421 -421
  200. package/server/modules/providers/list/cursor/cursor.provider.ts +15 -15
  201. package/server/modules/providers/list/gemini/gemini-auth.provider.ts +173 -173
  202. package/server/modules/providers/list/gemini/gemini-mcp.provider.ts +110 -110
  203. package/server/modules/providers/list/gemini/gemini-sessions.provider.ts +227 -227
  204. package/server/modules/providers/list/gemini/gemini.provider.ts +15 -15
  205. package/server/modules/providers/list/opencode/opencode-auth.provider.ts +131 -131
  206. package/server/modules/providers/list/opencode/opencode-sessions.provider.ts +286 -286
  207. package/server/modules/providers/list/qwen/qwen-auth.provider.ts +146 -146
  208. package/server/modules/providers/list/qwen/qwen-sessions.provider.ts +265 -265
  209. package/server/modules/providers/provider.registry.ts +40 -40
  210. package/server/modules/providers/provider.routes.ts +982 -982
  211. package/server/modules/providers/services/mcp.service.ts +86 -86
  212. package/server/modules/providers/services/provider-auth.service.ts +26 -26
  213. package/server/modules/providers/services/sessions.service.ts +45 -45
  214. package/server/modules/providers/shared/base/abstract.provider.ts +20 -20
  215. package/server/modules/providers/shared/mcp/mcp.provider.ts +151 -151
  216. package/server/modules/providers/tests/mcp.test.ts +293 -293
  217. package/server/openai-codex.js +468 -468
  218. package/server/opencode-cli.js +491 -491
  219. package/server/opencode-response-handler.js +111 -111
  220. package/server/projects.js +3135 -3135
  221. package/server/qwen-code-cli.js +410 -410
  222. package/server/routes/agent.js +1462 -1451
  223. package/server/routes/auth.js +298 -298
  224. package/server/routes/codex.js +20 -20
  225. package/server/routes/commands.js +581 -581
  226. package/server/routes/cursor.js +61 -61
  227. package/server/routes/diagnostics.js +44 -44
  228. package/server/routes/gemini.js +25 -25
  229. package/server/routes/git.js +1822 -1822
  230. package/server/routes/live-view.js +434 -434
  231. package/server/routes/mcp-utils.js +13 -13
  232. package/server/routes/messages.js +97 -97
  233. package/server/routes/network.js +143 -143
  234. package/server/routes/platformization.js +231 -231
  235. package/server/routes/plugins.js +690 -690
  236. package/server/routes/production-agent-loop.js +90 -90
  237. package/server/routes/projects.js +918 -918
  238. package/server/routes/public-api.js +34 -34
  239. package/server/routes/qwen.js +27 -27
  240. package/server/routes/remote.js +56 -56
  241. package/server/routes/settings.js +321 -321
  242. package/server/routes/telegram.js +163 -163
  243. package/server/routes/user.js +125 -125
  244. package/server/routes/webhooks.js +63 -63
  245. package/server/services/control-room.js +102 -102
  246. package/server/services/diagnostics.js +165 -165
  247. package/server/services/external-access.js +403 -403
  248. package/server/services/install-jobs.js +715 -715
  249. package/server/services/live-view.js +956 -956
  250. package/server/services/managed-runtimes.js +493 -493
  251. package/server/services/model-registry.js +144 -144
  252. package/server/services/notification-orchestrator.js +365 -365
  253. package/server/services/notification-taxonomy.js +204 -204
  254. package/server/services/platformization.js +1052 -1052
  255. package/server/services/production-agent-loop.js +248 -248
  256. package/server/services/provider-cli-versions.js +149 -149
  257. package/server/services/provider-credentials.js +189 -189
  258. package/server/services/provider-models.js +396 -396
  259. package/server/services/public-api-manifest.js +181 -181
  260. package/server/services/qr-login.js +126 -126
  261. package/server/services/remote-connection.js +127 -127
  262. package/server/services/runtime-manager.js +323 -323
  263. package/server/services/startup-update.js +259 -259
  264. package/server/services/telegram/bot.js +393 -393
  265. package/server/services/telegram/control-center.js +2453 -2453
  266. package/server/services/telegram/telegram-gateway.js +314 -314
  267. package/server/services/telegram/telegram-http-client.js +201 -201
  268. package/server/services/telegram/translations.js +470 -470
  269. package/server/services/webhooks.js +216 -216
  270. package/server/sessionManager.js +225 -225
  271. package/server/setup-wizard.js +283 -283
  272. package/server/shared/interfaces.ts +54 -54
  273. package/server/shared/types.ts +172 -172
  274. package/server/shared/utils.ts +193 -193
  275. package/server/tsconfig.json +36 -36
  276. package/server/utils/colors.js +21 -21
  277. package/server/utils/commandParser.js +305 -305
  278. package/server/utils/frontmatter.js +18 -18
  279. package/server/utils/gitConfig.js +34 -34
  280. package/server/utils/plugin-loader.js +461 -461
  281. package/server/utils/plugin-process-manager.js +185 -185
  282. package/server/utils/port-access.js +227 -227
  283. package/server/utils/runtime-paths.js +37 -37
  284. package/server/utils/security-log.js +84 -84
  285. package/server/utils/url-detection.js +71 -71
  286. package/server/vite-daemon.js +79 -79
  287. package/shared/modelConstants.js +161 -161
  288. package/shared/networkHosts.js +22 -22
@@ -1,41 +1,41 @@
1
- # Code of Conduct
2
-
3
- ## Our Pledge
4
-
5
- Pixcode is an open-source project for developers who want a practical,
6
- self-hosted workspace for AI coding agents. We want discussion, issues, reviews,
7
- and contributions to stay useful, respectful, and focused on improving the
8
- project.
9
-
10
- ## Expected Behavior
11
-
12
- - Be respectful when discussing bugs, design choices, and tradeoffs.
13
- - Assume good intent, but be concrete when something is wrong.
14
- - Keep issues actionable: include reproduction steps, logs, screenshots, or
15
- environment details when possible.
16
- - Respect maintainers' time by keeping pull requests scoped.
17
- - Avoid sharing private tokens, project paths, customer data, or provider
18
- credentials in public threads.
19
-
20
- ## Unacceptable Behavior
21
-
22
- - Harassment, personal attacks, slurs, threats, or targeted abuse.
23
- - Publishing another person's private information without permission.
24
- - Repeated off-topic comments that derail issue or pull request discussion.
25
- - Posting secrets, malware, exploit payloads, or harmful instructions unrelated
26
- to a responsible security report.
27
- - Any behavior that makes the project unsafe for contributors or users.
28
-
29
- ## Reporting
30
-
31
- If you see conduct problems, report them through GitHub by contacting the
32
- repository maintainers or opening a private security/advisory channel when the
33
- problem includes sensitive information.
34
-
35
- Maintainers may remove comments, close issues, block users, or take other
36
- reasonable actions to keep the project healthy.
37
-
38
- ## Scope
39
-
40
- This code of conduct applies to the Pixcode repository, issue tracker, pull
41
- requests, discussions, release threads, and other project-managed spaces.
1
+ # Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ Pixcode is an open-source project for developers who want a practical,
6
+ self-hosted workspace for AI coding agents. We want discussion, issues, reviews,
7
+ and contributions to stay useful, respectful, and focused on improving the
8
+ project.
9
+
10
+ ## Expected Behavior
11
+
12
+ - Be respectful when discussing bugs, design choices, and tradeoffs.
13
+ - Assume good intent, but be concrete when something is wrong.
14
+ - Keep issues actionable: include reproduction steps, logs, screenshots, or
15
+ environment details when possible.
16
+ - Respect maintainers' time by keeping pull requests scoped.
17
+ - Avoid sharing private tokens, project paths, customer data, or provider
18
+ credentials in public threads.
19
+
20
+ ## Unacceptable Behavior
21
+
22
+ - Harassment, personal attacks, slurs, threats, or targeted abuse.
23
+ - Publishing another person's private information without permission.
24
+ - Repeated off-topic comments that derail issue or pull request discussion.
25
+ - Posting secrets, malware, exploit payloads, or harmful instructions unrelated
26
+ to a responsible security report.
27
+ - Any behavior that makes the project unsafe for contributors or users.
28
+
29
+ ## Reporting
30
+
31
+ If you see conduct problems, report them through GitHub by contacting the
32
+ repository maintainers or opening a private security/advisory channel when the
33
+ problem includes sensitive information.
34
+
35
+ Maintainers may remove comments, close issues, block users, or take other
36
+ reasonable actions to keep the project healthy.
37
+
38
+ ## Scope
39
+
40
+ This code of conduct applies to the Pixcode repository, issue tracker, pull
41
+ requests, discussions, release threads, and other project-managed spaces.
package/CONTRIBUTING.md CHANGED
@@ -1,156 +1,156 @@
1
- # Contributing to Pixcode
2
-
3
- Thanks for your interest in contributing to Pixcode! Before you start, please take a moment to read through this guide.
4
-
5
- ## Before You Start
6
-
7
- - **Search first.** Check [existing issues](https://github.com/alicomert/pixcode/issues) and [pull requests](https://github.com/alicomert/pixcode/pulls) to avoid duplicating work.
8
- - **Discuss first** for new features. Open an [issue](https://github.com/alicomert/pixcode/issues/new) to discuss your idea before investing time in implementation. We may already have plans or opinions on how it should work.
9
- - **Bug fixes are always welcome.** If you spot a bug, feel free to open a PR directly.
10
-
11
- ## Prerequisites
12
-
13
- - [Node.js](https://nodejs.org/) 22 or later
14
- - [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code) installed and configured
15
-
16
- ## Getting Started
17
-
18
- 1. Fork the repository
19
- 2. Clone your fork:
20
- ```bash
21
- git clone https://github.com/<your-username>/pixcode.git
22
- cd pixcode
23
- ```
24
- 3. Install dependencies:
25
- ```bash
26
- npm install
27
- ```
28
- 4. Start the development server:
29
- ```bash
30
- npm run dev
31
- ```
32
- 5. Create a branch for your changes:
33
- ```bash
34
- git checkout -b feat/your-feature-name
35
- ```
36
-
37
- ## Project Structure
38
-
39
- ```
40
- pixcode/
41
- ├── src/ # React frontend (Vite + Tailwind)
42
- │ ├── components/ # UI components
43
- │ ├── contexts/ # React context providers
44
- │ ├── hooks/ # Custom React hooks
45
- │ ├── i18n/ # Internationalization and translations
46
- │ ├── lib/ # Shared frontend libraries
47
- │ ├── types/ # TypeScript type definitions
48
- │ └── utils/ # Frontend utilities
49
- ├── server/ # Express backend
50
- │ ├── routes/ # API route handlers
51
- │ ├── middleware/ # Express middleware
52
- │ ├── database/ # SQLite database layer
53
- │ └── tools/ # CLI tool integrations
54
- ├── shared/ # Code shared between client and server
55
- └── public/ # Static assets, icons, PWA manifest
56
- ```
57
-
58
- ## Development Workflow
59
-
60
- - `npm run dev` — Start both the frontend and backend in development mode
61
- - `npm run build` — Create a production build
62
- - `npm run server` — Start only the backend server
63
- - `npm run client` — Start only the Vite dev server
64
-
65
- ## Making Changes
66
-
67
- ### Bug Fixes
68
-
69
- - Reference the issue number in your PR if one exists
70
- - Describe how to reproduce the bug in your PR description
71
- - Add a screenshot or recording for visual bugs
72
-
73
- ### New Features
74
-
75
- - Keep the scope focused — one feature per PR
76
- - Include screenshots or recordings for UI changes
77
-
78
- ### Documentation
79
-
80
- - Documentation improvements are always welcome
81
- - Keep language clear and concise
82
-
83
- ## Commit Convention
84
-
85
- We follow [Conventional Commits](https://conventionalcommits.org/) to generate release notes automatically. Every commit message should follow this format:
86
-
87
- ```
88
- <type>(optional scope): <description>
89
- ```
90
-
91
- Use imperative, present tense: "add feature" not "added feature" or "adds feature".
92
-
93
- ### Types
94
-
95
- | Type | Description |
96
- |------|-------------|
97
- | `feat` | A new feature |
98
- | `fix` | A bug fix |
99
- | `perf` | A performance improvement |
100
- | `refactor` | Code change that neither fixes a bug nor adds a feature |
101
- | `docs` | Documentation only |
102
- | `style` | CSS, formatting, visual changes |
103
- | `chore` | Maintenance, dependencies, config |
104
- | `ci` | CI/CD pipeline changes |
105
- | `test` | Adding or updating tests |
106
- | `build` | Build system changes |
107
-
108
- ### Examples
109
-
110
- ```bash
111
- feat: add conversation search
112
- feat(i18n): add Japanese language support
113
- fix: redirect unauthenticated users to login
114
- fix(editor): syntax highlighting for .env files
115
- perf: lazy load code editor component
116
- refactor(chat): extract message list component
117
- docs: update API configuration guide
118
- ```
119
-
120
- ### Breaking Changes
121
-
122
- Add `!` after the type or include `BREAKING CHANGE:` in the commit footer:
123
-
124
- ```bash
125
- feat!: redesign settings page layout
126
- ```
127
-
128
- ## Pull Requests
129
-
130
- - Give your PR a clear, descriptive title following the commit convention above
131
- - Fill in the PR description with what changed and why
132
- - Link any related issues
133
- - Include screenshots for UI changes
134
- - Make sure the build passes (`npm run build`)
135
- - Keep PRs focused — avoid unrelated changes
136
-
137
- ## Releases
138
-
139
- Releases are managed by maintainers using [release-it](https://github.com/release-it/release-it) with the [conventional changelog plugin](https://github.com/release-it/conventional-changelog).
140
-
141
- ```bash
142
- npm run release # interactive (prompts for version bump)
143
- npm run release -- patch # patch release
144
- npm run release -- minor # minor release
145
- ```
146
-
147
- This automatically:
148
- - Bumps the version based on commit types (`feat` = minor, `fix` = patch)
149
- - Generates categorized release notes
150
- - Updates `CHANGELOG.md`
151
- - Creates a git tag and GitHub Release
152
- - Publishes to npm
153
-
154
- ## License
155
-
156
- By contributing, you agree that your contributions will be licensed under the [AGPL-3.0-or-later License](LICENSE), including the additional terms specified in Section 7 of the LICENSE file.
1
+ # Contributing to Pixcode
2
+
3
+ Thanks for your interest in contributing to Pixcode! Before you start, please take a moment to read through this guide.
4
+
5
+ ## Before You Start
6
+
7
+ - **Search first.** Check [existing issues](https://github.com/alicomert/pixcode/issues) and [pull requests](https://github.com/alicomert/pixcode/pulls) to avoid duplicating work.
8
+ - **Discuss first** for new features. Open an [issue](https://github.com/alicomert/pixcode/issues/new) to discuss your idea before investing time in implementation. We may already have plans or opinions on how it should work.
9
+ - **Bug fixes are always welcome.** If you spot a bug, feel free to open a PR directly.
10
+
11
+ ## Prerequisites
12
+
13
+ - [Node.js](https://nodejs.org/) 22 or later
14
+ - [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code) installed and configured
15
+
16
+ ## Getting Started
17
+
18
+ 1. Fork the repository
19
+ 2. Clone your fork:
20
+ ```bash
21
+ git clone https://github.com/<your-username>/pixcode.git
22
+ cd pixcode
23
+ ```
24
+ 3. Install dependencies:
25
+ ```bash
26
+ npm install
27
+ ```
28
+ 4. Start the development server:
29
+ ```bash
30
+ npm run dev
31
+ ```
32
+ 5. Create a branch for your changes:
33
+ ```bash
34
+ git checkout -b feat/your-feature-name
35
+ ```
36
+
37
+ ## Project Structure
38
+
39
+ ```
40
+ pixcode/
41
+ ├── src/ # React frontend (Vite + Tailwind)
42
+ │ ├── components/ # UI components
43
+ │ ├── contexts/ # React context providers
44
+ │ ├── hooks/ # Custom React hooks
45
+ │ ├── i18n/ # Internationalization and translations
46
+ │ ├── lib/ # Shared frontend libraries
47
+ │ ├── types/ # TypeScript type definitions
48
+ │ └── utils/ # Frontend utilities
49
+ ├── server/ # Express backend
50
+ │ ├── routes/ # API route handlers
51
+ │ ├── middleware/ # Express middleware
52
+ │ ├── database/ # SQLite database layer
53
+ │ └── tools/ # CLI tool integrations
54
+ ├── shared/ # Code shared between client and server
55
+ └── public/ # Static assets, icons, PWA manifest
56
+ ```
57
+
58
+ ## Development Workflow
59
+
60
+ - `npm run dev` — Start both the frontend and backend in development mode
61
+ - `npm run build` — Create a production build
62
+ - `npm run server` — Start only the backend server
63
+ - `npm run client` — Start only the Vite dev server
64
+
65
+ ## Making Changes
66
+
67
+ ### Bug Fixes
68
+
69
+ - Reference the issue number in your PR if one exists
70
+ - Describe how to reproduce the bug in your PR description
71
+ - Add a screenshot or recording for visual bugs
72
+
73
+ ### New Features
74
+
75
+ - Keep the scope focused — one feature per PR
76
+ - Include screenshots or recordings for UI changes
77
+
78
+ ### Documentation
79
+
80
+ - Documentation improvements are always welcome
81
+ - Keep language clear and concise
82
+
83
+ ## Commit Convention
84
+
85
+ We follow [Conventional Commits](https://conventionalcommits.org/) to generate release notes automatically. Every commit message should follow this format:
86
+
87
+ ```
88
+ <type>(optional scope): <description>
89
+ ```
90
+
91
+ Use imperative, present tense: "add feature" not "added feature" or "adds feature".
92
+
93
+ ### Types
94
+
95
+ | Type | Description |
96
+ |------|-------------|
97
+ | `feat` | A new feature |
98
+ | `fix` | A bug fix |
99
+ | `perf` | A performance improvement |
100
+ | `refactor` | Code change that neither fixes a bug nor adds a feature |
101
+ | `docs` | Documentation only |
102
+ | `style` | CSS, formatting, visual changes |
103
+ | `chore` | Maintenance, dependencies, config |
104
+ | `ci` | CI/CD pipeline changes |
105
+ | `test` | Adding or updating tests |
106
+ | `build` | Build system changes |
107
+
108
+ ### Examples
109
+
110
+ ```bash
111
+ feat: add conversation search
112
+ feat(i18n): add Japanese language support
113
+ fix: redirect unauthenticated users to login
114
+ fix(editor): syntax highlighting for .env files
115
+ perf: lazy load code editor component
116
+ refactor(chat): extract message list component
117
+ docs: update API configuration guide
118
+ ```
119
+
120
+ ### Breaking Changes
121
+
122
+ Add `!` after the type or include `BREAKING CHANGE:` in the commit footer:
123
+
124
+ ```bash
125
+ feat!: redesign settings page layout
126
+ ```
127
+
128
+ ## Pull Requests
129
+
130
+ - Give your PR a clear, descriptive title following the commit convention above
131
+ - Fill in the PR description with what changed and why
132
+ - Link any related issues
133
+ - Include screenshots for UI changes
134
+ - Make sure the build passes (`npm run build`)
135
+ - Keep PRs focused — avoid unrelated changes
136
+
137
+ ## Releases
138
+
139
+ Releases are managed by maintainers using [release-it](https://github.com/release-it/release-it) with the [conventional changelog plugin](https://github.com/release-it/conventional-changelog).
140
+
141
+ ```bash
142
+ npm run release # interactive (prompts for version bump)
143
+ npm run release -- patch # patch release
144
+ npm run release -- minor # minor release
145
+ ```
146
+
147
+ This automatically:
148
+ - Bumps the version based on commit types (`feat` = minor, `fix` = patch)
149
+ - Generates categorized release notes
150
+ - Updates `CHANGELOG.md`
151
+ - Creates a git tag and GitHub Release
152
+ - Publishes to npm
153
+
154
+ ## License
155
+
156
+ By contributing, you agree that your contributions will be licensed under the [MIT License](LICENSE).