@pixelbyte-software/pixcode 1.51.7 → 1.51.9

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 (307) hide show
  1. package/CODE_OF_CONDUCT.md +41 -41
  2. package/CONTRIBUTING.md +155 -155
  3. package/LICENSE +718 -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 +419 -419
  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-BvQgSoyC.js → index-Gs7C4hZT.js} +70 -70
  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/favicon.svg +8 -8
  19. package/dist/features.html +133 -133
  20. package/dist/generate-icons.js +48 -48
  21. package/dist/humans.txt +15 -15
  22. package/dist/icons/codex-white.svg +3 -3
  23. package/dist/icons/codex.svg +3 -3
  24. package/dist/icons/cursor-white.svg +11 -11
  25. package/dist/icons/icon-128x128.svg +9 -9
  26. package/dist/icons/icon-144x144.svg +9 -9
  27. package/dist/icons/icon-152x152.svg +9 -9
  28. package/dist/icons/icon-192x192.svg +9 -9
  29. package/dist/icons/icon-384x384.svg +9 -9
  30. package/dist/icons/icon-512x512.svg +9 -9
  31. package/dist/icons/icon-72x72.svg +9 -9
  32. package/dist/icons/icon-96x96.svg +9 -9
  33. package/dist/icons/icon-template.svg +9 -9
  34. package/dist/icons/qwen-logo.svg +14 -14
  35. package/dist/index.html +58 -58
  36. package/dist/landing.html +268 -268
  37. package/dist/llms-full.txt +119 -119
  38. package/dist/llms.txt +53 -53
  39. package/dist/logo.svg +12 -12
  40. package/dist/manifest.json +60 -60
  41. package/dist/openapi.yaml +1696 -1696
  42. package/dist/orchestration.html +125 -125
  43. package/dist/robots.txt +4 -4
  44. package/dist/site.css +692 -692
  45. package/dist/sitemap.xml +51 -51
  46. package/dist/sw.js +132 -132
  47. package/dist-server/server/cli.js +96 -96
  48. package/dist-server/server/daemon/manager.js +33 -33
  49. package/dist-server/server/daemon-manager.js +64 -64
  50. package/dist-server/server/index.js +91 -65
  51. package/dist-server/server/index.js.map +1 -1
  52. package/dist-server/server/routes/commands.js +25 -25
  53. package/dist-server/server/routes/git.js +17 -17
  54. package/dist-server/server/routes/live-view.js +46 -46
  55. package/dist-server/server/services/hermes-gateway.js +5 -5
  56. package/dist-server/server/services/public-api-manifest.js +51 -51
  57. package/package.json +222 -222
  58. package/scripts/fix-node-pty.js +67 -67
  59. package/scripts/github/create-v1.38-issues.mjs +351 -351
  60. package/scripts/github/create-vscode-workbench-issues.mjs +121 -121
  61. package/scripts/hermes/configure-pixcode-mcp.mjs +165 -165
  62. package/scripts/hermes/pixcode-mcp-server.mjs +1009 -1009
  63. package/scripts/smoke/changes-panel-layout.mjs +48 -48
  64. package/scripts/smoke/chat-composer-fixed-layout.mjs +55 -55
  65. package/scripts/smoke/chat-message-timeline-order.mjs +41 -41
  66. package/scripts/smoke/chat-realtime-hydration.mjs +44 -44
  67. package/scripts/smoke/chat-session-provider-pools.mjs +35 -35
  68. package/scripts/smoke/chat-session-state.mjs +19 -19
  69. package/scripts/smoke/code-editor-theme.mjs +55 -55
  70. package/scripts/smoke/code-editor-vscode-engine.mjs +91 -91
  71. package/scripts/smoke/command-center-agent-writes.mjs +79 -79
  72. package/scripts/smoke/command-center-non-git.mjs +46 -46
  73. package/scripts/smoke/context-packet.mjs +43 -43
  74. package/scripts/smoke/control-room-ux-redesign.mjs +91 -91
  75. package/scripts/smoke/daemon-entrypoint.mjs +20 -20
  76. package/scripts/smoke/default-landing-routing.mjs +33 -33
  77. package/scripts/smoke/desktop-native-notifications.mjs +30 -30
  78. package/scripts/smoke/desktop-tray-icon.mjs +33 -33
  79. package/scripts/smoke/discord-release-workflow.mjs +24 -24
  80. package/scripts/smoke/git-install-update.mjs +255 -255
  81. package/scripts/smoke/handoff-artifact-protocol.mjs +50 -50
  82. package/scripts/smoke/hermes-api-install.mjs +56 -56
  83. package/scripts/smoke/hermes-gateway-persistence.mjs +104 -104
  84. package/scripts/smoke/hermes-mcp-pixcode-roundtrip.mjs +426 -426
  85. package/scripts/smoke/hermes-rest-chat-api.mjs +162 -162
  86. package/scripts/smoke/hermes-rest-chat-live.mjs +45 -45
  87. package/scripts/smoke/hermes-rest-codex-launch.mjs +209 -209
  88. package/scripts/smoke/hermes-rest-gateway.mjs +79 -79
  89. package/scripts/smoke/hermes-rest-live.mjs +42 -42
  90. package/scripts/smoke/hermes-roundtrip.mjs +167 -167
  91. package/scripts/smoke/hermes-settings-commands.mjs +349 -349
  92. package/scripts/smoke/hermes-smoke-launcher-guard.mjs +34 -34
  93. package/scripts/smoke/live-view-diagnostics.mjs +53 -53
  94. package/scripts/smoke/live-view-environment.mjs +92 -92
  95. package/scripts/smoke/live-view-integration.mjs +450 -450
  96. package/scripts/smoke/mac-desktop-runtime.mjs +37 -37
  97. package/scripts/smoke/mobile-tunnel-guidance.mjs +29 -29
  98. package/scripts/smoke/model-registry.mjs +36 -36
  99. package/scripts/smoke/multi-project-ui.mjs +45 -45
  100. package/scripts/smoke/multi-worker-slots.mjs +42 -42
  101. package/scripts/smoke/notification-center.mjs +87 -87
  102. package/scripts/smoke/notification-inapp-preference.mjs +23 -23
  103. package/scripts/smoke/notification-taxonomy.mjs +58 -58
  104. package/scripts/smoke/orchestration-api.mjs +172 -172
  105. package/scripts/smoke/orchestration-execution-dashboard.mjs +33 -33
  106. package/scripts/smoke/orchestration-live-run.mjs +176 -176
  107. package/scripts/smoke/orchestration-mobile-scroll.mjs +29 -29
  108. package/scripts/smoke/orchestration-model-sync.mjs +30 -30
  109. package/scripts/smoke/orchestration-permission-fallback.mjs +34 -34
  110. package/scripts/smoke/orchestration-runtime-guards.mjs +48 -48
  111. package/scripts/smoke/orchestration-user-facing-output.mjs +25 -25
  112. package/scripts/smoke/permission-policy.mjs +50 -50
  113. package/scripts/smoke/pixcode-workbench-1-48.mjs +167 -167
  114. package/scripts/smoke/provider-models-opencode-live.mjs +66 -66
  115. package/scripts/smoke/provider-rest-api.mjs +124 -124
  116. package/scripts/smoke/provider-selection-status.mjs +52 -52
  117. package/scripts/smoke/run-state-refresh.mjs +52 -52
  118. package/scripts/smoke/runtime-manager.mjs +99 -99
  119. package/scripts/smoke/shell-manual-disconnect.mjs +30 -30
  120. package/scripts/smoke/side-panel-editor-layout.mjs +34 -34
  121. package/scripts/smoke/static-root-routing.mjs +21 -21
  122. package/scripts/smoke/strict-handoff-compact.mjs +60 -60
  123. package/scripts/smoke/taskmaster-config.mjs +24 -24
  124. package/scripts/smoke/taskmaster-execution-telegram.mjs +3 -3
  125. package/scripts/smoke/taskmaster-onboarding.mjs +3 -3
  126. package/scripts/smoke/taskmaster-run-graph.mjs +3 -3
  127. package/scripts/smoke/telegram-control.mjs +242 -242
  128. package/scripts/smoke/tunnel-persistence.mjs +56 -56
  129. package/scripts/smoke/update-issue-progress.mjs +69 -69
  130. package/scripts/smoke/update-ux.mjs +55 -55
  131. package/scripts/smoke/v138-completion.mjs +132 -132
  132. package/scripts/smoke/v138-desktop-release-hardening.mjs +69 -69
  133. package/scripts/smoke/v138-diagnostics.mjs +63 -63
  134. package/scripts/smoke/v138-issue-planner.mjs +33 -33
  135. package/scripts/smoke/v143-remote-control.mjs +76 -76
  136. package/scripts/smoke/v144-production-loop.mjs +47 -47
  137. package/scripts/smoke/v145-platformization.mjs +46 -46
  138. package/scripts/smoke/v146-control-room-ui.mjs +150 -150
  139. package/scripts/smoke/version-modal-autoshow.mjs +29 -29
  140. package/scripts/smoke/vscode-workbench-layout.mjs +63 -63
  141. package/scripts/smoke/vscode-workbench-polish.mjs +461 -461
  142. package/scripts/smoke/workflow-fallback-replay.mjs +56 -56
  143. package/scripts/smoke/workflow-templates.mjs +43 -43
  144. package/scripts/smoke/workflow-trace-timeline.mjs +46 -46
  145. package/scripts/update-git-install.mjs +283 -283
  146. package/server/claude-sdk.js +920 -920
  147. package/server/cli.js +1035 -1035
  148. package/server/constants/config.js +4 -4
  149. package/server/cursor-cli.js +344 -344
  150. package/server/daemon/manager.js +563 -563
  151. package/server/daemon-manager.js +964 -964
  152. package/server/database/db.js +895 -895
  153. package/server/database/json-store.js +197 -197
  154. package/server/gemini-cli.js +550 -550
  155. package/server/gemini-response-handler.js +79 -79
  156. package/server/index.js +111 -81
  157. package/server/load-env.js +35 -35
  158. package/server/middleware/auth.js +155 -155
  159. package/server/modules/orchestration/a2a/adapter-registry.ts +108 -108
  160. package/server/modules/orchestration/a2a/adapters/abstract-a2a.adapter.ts +63 -63
  161. package/server/modules/orchestration/a2a/adapters/claude-code.adapter.ts +286 -286
  162. package/server/modules/orchestration/a2a/adapters/codex.adapter.ts +244 -244
  163. package/server/modules/orchestration/a2a/adapters/cursor.adapter.ts +249 -249
  164. package/server/modules/orchestration/a2a/adapters/gemini.adapter.ts +248 -248
  165. package/server/modules/orchestration/a2a/adapters/json-event.adapter.ts +100 -100
  166. package/server/modules/orchestration/a2a/adapters/opencode.adapter.ts +248 -248
  167. package/server/modules/orchestration/a2a/adapters/qwen.adapter.ts +248 -248
  168. package/server/modules/orchestration/a2a/agent-card.ts +55 -55
  169. package/server/modules/orchestration/a2a/routes.ts +590 -590
  170. package/server/modules/orchestration/a2a/task-store.ts +178 -178
  171. package/server/modules/orchestration/a2a/types.ts +126 -126
  172. package/server/modules/orchestration/a2a/validator.ts +113 -113
  173. package/server/modules/orchestration/hermes/hermes.routes.ts +642 -642
  174. package/server/modules/orchestration/index.ts +101 -101
  175. package/server/modules/orchestration/preview/port-watcher.ts +112 -112
  176. package/server/modules/orchestration/preview/preview-proxy.ts +60 -60
  177. package/server/modules/orchestration/preview/types.ts +19 -19
  178. package/server/modules/orchestration/security/permission-policy.ts +401 -401
  179. package/server/modules/orchestration/tasks/orchestration-task-store.ts +41 -41
  180. package/server/modules/orchestration/tasks/orchestration-task.routes.ts +64 -64
  181. package/server/modules/orchestration/tasks/orchestration-task.service.ts +209 -209
  182. package/server/modules/orchestration/tasks/orchestration-task.types.ts +40 -40
  183. package/server/modules/orchestration/tasks/task-run-graph.ts +155 -155
  184. package/server/modules/orchestration/workflows/approval-queue.ts +106 -106
  185. package/server/modules/orchestration/workflows/built-in-workflows.ts +127 -127
  186. package/server/modules/orchestration/workflows/context-packet.ts +186 -186
  187. package/server/modules/orchestration/workflows/handoff-artifact.ts +175 -175
  188. package/server/modules/orchestration/workflows/workflow-fallback-policy.ts +161 -161
  189. package/server/modules/orchestration/workflows/workflow-replay.ts +254 -254
  190. package/server/modules/orchestration/workflows/workflow-runner.ts +2070 -2070
  191. package/server/modules/orchestration/workflows/workflow-store.ts +97 -97
  192. package/server/modules/orchestration/workflows/workflow-templates.ts +272 -272
  193. package/server/modules/orchestration/workflows/workflow-trace.ts +424 -424
  194. package/server/modules/orchestration/workflows/workflow.routes.ts +586 -586
  195. package/server/modules/orchestration/workflows/workflow.types.ts +111 -111
  196. package/server/modules/orchestration/workflows/workspace-target.ts +122 -122
  197. package/server/modules/orchestration/workspace/docker-workspace.ts +136 -136
  198. package/server/modules/orchestration/workspace/path-safety.ts +55 -55
  199. package/server/modules/orchestration/workspace/types.ts +52 -52
  200. package/server/modules/orchestration/workspace/workspace-manager.ts +102 -102
  201. package/server/modules/orchestration/workspace/worktree-workspace.ts +126 -126
  202. package/server/modules/providers/index.ts +2 -2
  203. package/server/modules/providers/list/claude/claude-auth.provider.ts +146 -146
  204. package/server/modules/providers/list/claude/claude-mcp.provider.ts +135 -135
  205. package/server/modules/providers/list/claude/claude-sessions.provider.ts +306 -306
  206. package/server/modules/providers/list/claude/claude.provider.ts +15 -15
  207. package/server/modules/providers/list/codex/codex-auth.provider.ts +117 -117
  208. package/server/modules/providers/list/codex/codex-mcp.provider.ts +135 -135
  209. package/server/modules/providers/list/codex/codex-sessions.provider.ts +319 -319
  210. package/server/modules/providers/list/codex/codex.provider.ts +15 -15
  211. package/server/modules/providers/list/cursor/cursor-auth.provider.ts +147 -147
  212. package/server/modules/providers/list/cursor/cursor-mcp.provider.ts +108 -108
  213. package/server/modules/providers/list/cursor/cursor-sessions.provider.ts +421 -421
  214. package/server/modules/providers/list/cursor/cursor.provider.ts +15 -15
  215. package/server/modules/providers/list/gemini/gemini-auth.provider.ts +173 -173
  216. package/server/modules/providers/list/gemini/gemini-mcp.provider.ts +110 -110
  217. package/server/modules/providers/list/gemini/gemini-sessions.provider.ts +227 -227
  218. package/server/modules/providers/list/gemini/gemini.provider.ts +15 -15
  219. package/server/modules/providers/list/opencode/opencode-auth.provider.ts +131 -131
  220. package/server/modules/providers/list/opencode/opencode-mcp.provider.ts +126 -126
  221. package/server/modules/providers/list/opencode/opencode-sessions.provider.ts +286 -286
  222. package/server/modules/providers/list/opencode/opencode.provider.ts +29 -29
  223. package/server/modules/providers/list/qwen/qwen-auth.provider.ts +146 -146
  224. package/server/modules/providers/list/qwen/qwen-mcp.provider.ts +114 -114
  225. package/server/modules/providers/list/qwen/qwen-sessions.provider.ts +265 -265
  226. package/server/modules/providers/list/qwen/qwen.provider.ts +21 -21
  227. package/server/modules/providers/provider.registry.ts +40 -40
  228. package/server/modules/providers/provider.routes.ts +891 -891
  229. package/server/modules/providers/services/mcp.service.ts +86 -86
  230. package/server/modules/providers/services/provider-auth.service.ts +26 -26
  231. package/server/modules/providers/services/sessions.service.ts +45 -45
  232. package/server/modules/providers/shared/base/abstract.provider.ts +20 -20
  233. package/server/modules/providers/shared/mcp/mcp.provider.ts +151 -151
  234. package/server/modules/providers/shared/provider-configs.ts +142 -142
  235. package/server/modules/providers/tests/mcp.test.ts +293 -293
  236. package/server/openai-codex.js +462 -462
  237. package/server/opencode-cli.js +491 -491
  238. package/server/opencode-response-handler.js +111 -111
  239. package/server/projects.js +3008 -3008
  240. package/server/qwen-code-cli.js +410 -410
  241. package/server/qwen-response-handler.js +73 -73
  242. package/server/routes/agent.js +1435 -1435
  243. package/server/routes/auth.js +142 -142
  244. package/server/routes/codex.js +20 -20
  245. package/server/routes/commands.js +538 -538
  246. package/server/routes/cursor.js +61 -61
  247. package/server/routes/diagnostics.js +41 -41
  248. package/server/routes/gemini.js +25 -25
  249. package/server/routes/git.js +1641 -1641
  250. package/server/routes/live-view.js +387 -387
  251. package/server/routes/mcp-utils.js +13 -13
  252. package/server/routes/messages.js +50 -50
  253. package/server/routes/network.js +117 -117
  254. package/server/routes/platformization.js +182 -182
  255. package/server/routes/plugins.js +320 -320
  256. package/server/routes/production-agent-loop.js +90 -90
  257. package/server/routes/projects.js +911 -911
  258. package/server/routes/public-api.js +34 -34
  259. package/server/routes/qwen.js +27 -27
  260. package/server/routes/remote.js +50 -50
  261. package/server/routes/settings.js +321 -321
  262. package/server/routes/telegram.js +140 -140
  263. package/server/routes/user.js +125 -125
  264. package/server/routes/webhooks.js +63 -63
  265. package/server/services/control-room.js +102 -102
  266. package/server/services/diagnostics.js +165 -165
  267. package/server/services/external-access.js +375 -375
  268. package/server/services/hermes-gateway.js +1562 -1562
  269. package/server/services/hermes-install-jobs.js +729 -729
  270. package/server/services/install-jobs.js +715 -715
  271. package/server/services/live-view.js +956 -956
  272. package/server/services/managed-runtimes.js +493 -493
  273. package/server/services/model-registry.js +144 -144
  274. package/server/services/notification-orchestrator.js +365 -365
  275. package/server/services/notification-taxonomy.js +204 -204
  276. package/server/services/platformization.js +773 -773
  277. package/server/services/production-agent-loop.js +248 -248
  278. package/server/services/provider-cli-versions.js +149 -149
  279. package/server/services/provider-credentials.js +189 -189
  280. package/server/services/provider-models.js +396 -396
  281. package/server/services/public-api-manifest.js +190 -190
  282. package/server/services/remote-connection.js +127 -127
  283. package/server/services/runtime-manager.js +323 -323
  284. package/server/services/startup-update.js +234 -234
  285. package/server/services/telegram/bot.js +331 -331
  286. package/server/services/telegram/control-center.js +979 -979
  287. package/server/services/telegram/telegram-http-client.js +151 -151
  288. package/server/services/telegram/translations.js +340 -340
  289. package/server/services/vapid-keys.js +36 -36
  290. package/server/services/webhooks.js +216 -216
  291. package/server/sessionManager.js +225 -225
  292. package/server/shared/interfaces.ts +54 -54
  293. package/server/shared/types.ts +172 -172
  294. package/server/shared/utils.ts +193 -193
  295. package/server/tsconfig.json +36 -36
  296. package/server/utils/colors.js +21 -21
  297. package/server/utils/commandParser.js +305 -305
  298. package/server/utils/frontmatter.js +18 -18
  299. package/server/utils/gitConfig.js +34 -34
  300. package/server/utils/plugin-loader.js +457 -457
  301. package/server/utils/plugin-process-manager.js +185 -185
  302. package/server/utils/port-access.js +209 -209
  303. package/server/utils/runtime-paths.js +37 -37
  304. package/server/utils/url-detection.js +71 -71
  305. package/server/vite-daemon.js +79 -79
  306. package/shared/modelConstants.js +161 -161
  307. 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
-
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
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.