@pixelbyte-software/pixcode 1.54.10 → 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 (282) 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-DWOW_Jn0.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/routes/commands.js +25 -25
  40. package/dist-server/server/routes/git.js +17 -17
  41. package/dist-server/server/routes/live-view.js +46 -46
  42. package/dist-server/server/services/public-api-manifest.js +51 -51
  43. package/package.json +224 -224
  44. package/scripts/fix-node-pty.js +67 -67
  45. package/scripts/github/create-v1.38-issues.mjs +351 -351
  46. package/scripts/github/create-vscode-workbench-issues.mjs +121 -121
  47. package/scripts/smoke/backend-resource-bounds.mjs +152 -152
  48. package/scripts/smoke/changes-panel-layout.mjs +48 -48
  49. package/scripts/smoke/chat-composer-fixed-layout.mjs +55 -55
  50. package/scripts/smoke/chat-message-timeline-order.mjs +41 -41
  51. package/scripts/smoke/chat-realtime-hydration.mjs +44 -44
  52. package/scripts/smoke/chat-session-provider-pools.mjs +35 -35
  53. package/scripts/smoke/chat-session-state.mjs +19 -19
  54. package/scripts/smoke/code-editor-theme.mjs +55 -55
  55. package/scripts/smoke/code-editor-vscode-engine.mjs +91 -91
  56. package/scripts/smoke/command-center-agent-writes.mjs +79 -79
  57. package/scripts/smoke/command-center-non-git.mjs +46 -46
  58. package/scripts/smoke/context-packet.mjs +43 -43
  59. package/scripts/smoke/control-room-ux-redesign.mjs +91 -91
  60. package/scripts/smoke/daemon-entrypoint.mjs +20 -20
  61. package/scripts/smoke/default-landing-routing.mjs +33 -33
  62. package/scripts/smoke/desktop-native-notifications.mjs +30 -30
  63. package/scripts/smoke/desktop-tray-icon.mjs +33 -33
  64. package/scripts/smoke/discord-release-workflow.mjs +24 -24
  65. package/scripts/smoke/git-install-update.mjs +255 -255
  66. package/scripts/smoke/handoff-artifact-protocol.mjs +50 -50
  67. package/scripts/smoke/live-view-diagnostics.mjs +53 -53
  68. package/scripts/smoke/live-view-environment.mjs +92 -92
  69. package/scripts/smoke/live-view-integration.mjs +450 -450
  70. package/scripts/smoke/mac-desktop-runtime.mjs +37 -37
  71. package/scripts/smoke/mobile-tunnel-guidance.mjs +29 -29
  72. package/scripts/smoke/mobile-ux.mjs +76 -76
  73. package/scripts/smoke/model-registry.mjs +36 -36
  74. package/scripts/smoke/multi-project-ui.mjs +45 -45
  75. package/scripts/smoke/multi-worker-slots.mjs +42 -42
  76. package/scripts/smoke/notification-center.mjs +87 -87
  77. package/scripts/smoke/notification-inapp-preference.mjs +23 -23
  78. package/scripts/smoke/notification-taxonomy.mjs +58 -58
  79. package/scripts/smoke/orchestration-api.mjs +172 -172
  80. package/scripts/smoke/orchestration-execution-dashboard.mjs +33 -33
  81. package/scripts/smoke/orchestration-live-run.mjs +176 -176
  82. package/scripts/smoke/orchestration-mobile-scroll.mjs +29 -29
  83. package/scripts/smoke/orchestration-model-sync.mjs +30 -30
  84. package/scripts/smoke/orchestration-permission-fallback.mjs +34 -34
  85. package/scripts/smoke/orchestration-runtime-guards.mjs +48 -48
  86. package/scripts/smoke/orchestration-user-facing-output.mjs +25 -25
  87. package/scripts/smoke/permission-policy.mjs +50 -50
  88. package/scripts/smoke/pixcode-workbench-1-48.mjs +167 -167
  89. package/scripts/smoke/provider-models-opencode-live.mjs +66 -66
  90. package/scripts/smoke/provider-rest-api.mjs +124 -124
  91. package/scripts/smoke/provider-selection-status.mjs +52 -52
  92. package/scripts/smoke/run-state-refresh.mjs +52 -52
  93. package/scripts/smoke/runtime-manager.mjs +99 -99
  94. package/scripts/smoke/shell-manual-disconnect.mjs +30 -30
  95. package/scripts/smoke/side-panel-editor-layout.mjs +34 -34
  96. package/scripts/smoke/static-root-routing.mjs +21 -21
  97. package/scripts/smoke/strict-handoff-compact.mjs +60 -60
  98. package/scripts/smoke/taskmaster-config.mjs +24 -24
  99. package/scripts/smoke/taskmaster-execution-telegram.mjs +3 -3
  100. package/scripts/smoke/taskmaster-onboarding.mjs +3 -3
  101. package/scripts/smoke/taskmaster-run-graph.mjs +3 -3
  102. package/scripts/smoke/telegram-control.mjs +331 -331
  103. package/scripts/smoke/tunnel-persistence.mjs +56 -56
  104. package/scripts/smoke/update-issue-progress.mjs +69 -69
  105. package/scripts/smoke/update-ux.mjs +55 -55
  106. package/scripts/smoke/v138-completion.mjs +132 -132
  107. package/scripts/smoke/v138-desktop-release-hardening.mjs +69 -69
  108. package/scripts/smoke/v138-diagnostics.mjs +63 -63
  109. package/scripts/smoke/v138-issue-planner.mjs +33 -33
  110. package/scripts/smoke/v143-remote-control.mjs +76 -76
  111. package/scripts/smoke/v144-production-loop.mjs +47 -47
  112. package/scripts/smoke/v145-platformization.mjs +46 -46
  113. package/scripts/smoke/v146-control-room-ui.mjs +150 -150
  114. package/scripts/smoke/version-modal-autoshow.mjs +29 -29
  115. package/scripts/smoke/vscode-workbench-layout.mjs +63 -63
  116. package/scripts/smoke/vscode-workbench-polish.mjs +461 -461
  117. package/scripts/smoke/workflow-fallback-replay.mjs +56 -56
  118. package/scripts/smoke/workflow-templates.mjs +43 -43
  119. package/scripts/smoke/workflow-trace-timeline.mjs +46 -46
  120. package/scripts/update-git-install.mjs +298 -298
  121. package/server/claude-sdk.js +927 -927
  122. package/server/cli.js +1106 -1106
  123. package/server/constants/config.js +4 -4
  124. package/server/cursor-cli.js +344 -344
  125. package/server/daemon/manager.js +563 -563
  126. package/server/daemon-manager.js +964 -964
  127. package/server/database/db.js +988 -988
  128. package/server/database/json-store.js +197 -197
  129. package/server/gemini-cli.js +550 -550
  130. package/server/gemini-response-handler.js +79 -79
  131. package/server/index.js +5671 -5671
  132. package/server/load-env.js +35 -35
  133. package/server/middleware/account-lockout.js +112 -112
  134. package/server/middleware/auth.js +277 -277
  135. package/server/middleware/rate-limiter.js +87 -87
  136. package/server/modules/orchestration/a2a/adapter-registry.ts +108 -108
  137. package/server/modules/orchestration/a2a/adapters/abstract-a2a.adapter.ts +63 -63
  138. package/server/modules/orchestration/a2a/adapters/claude-code.adapter.ts +286 -286
  139. package/server/modules/orchestration/a2a/adapters/codex.adapter.ts +244 -244
  140. package/server/modules/orchestration/a2a/adapters/cursor.adapter.ts +249 -249
  141. package/server/modules/orchestration/a2a/adapters/gemini.adapter.ts +248 -248
  142. package/server/modules/orchestration/a2a/adapters/json-event.adapter.test.ts +60 -60
  143. package/server/modules/orchestration/a2a/adapters/json-event.adapter.ts +101 -101
  144. package/server/modules/orchestration/a2a/adapters/opencode.adapter.ts +248 -248
  145. package/server/modules/orchestration/a2a/adapters/qwen.adapter.ts +248 -248
  146. package/server/modules/orchestration/a2a/agent-card.ts +55 -55
  147. package/server/modules/orchestration/a2a/auth.middleware.ts +29 -29
  148. package/server/modules/orchestration/a2a/bus.ts +46 -46
  149. package/server/modules/orchestration/a2a/routes.ts +586 -586
  150. package/server/modules/orchestration/a2a/task-dispatcher.ts +345 -345
  151. package/server/modules/orchestration/a2a/task-store.ts +178 -178
  152. package/server/modules/orchestration/a2a/types.ts +126 -126
  153. package/server/modules/orchestration/a2a/validator.ts +113 -113
  154. package/server/modules/orchestration/index.ts +99 -99
  155. package/server/modules/orchestration/preview/port-watcher.ts +112 -112
  156. package/server/modules/orchestration/preview/preview-proxy.ts +60 -60
  157. package/server/modules/orchestration/preview/types.ts +19 -19
  158. package/server/modules/orchestration/security/permission-policy.ts +401 -401
  159. package/server/modules/orchestration/tasks/orchestration-task-store.ts +41 -41
  160. package/server/modules/orchestration/tasks/orchestration-task.routes.ts +81 -81
  161. package/server/modules/orchestration/tasks/orchestration-task.service.ts +201 -201
  162. package/server/modules/orchestration/tasks/orchestration-task.types.ts +40 -40
  163. package/server/modules/orchestration/tasks/task-run-graph.ts +155 -155
  164. package/server/modules/orchestration/workflows/approval-queue.ts +106 -106
  165. package/server/modules/orchestration/workflows/built-in-workflows.ts +127 -127
  166. package/server/modules/orchestration/workflows/context-packet.ts +186 -186
  167. package/server/modules/orchestration/workflows/handoff-artifact.ts +175 -175
  168. package/server/modules/orchestration/workflows/workflow-fallback-policy.ts +161 -161
  169. package/server/modules/orchestration/workflows/workflow-replay.ts +254 -254
  170. package/server/modules/orchestration/workflows/workflow-runner.ts +2062 -2062
  171. package/server/modules/orchestration/workflows/workflow-store.ts +97 -97
  172. package/server/modules/orchestration/workflows/workflow-templates.ts +272 -272
  173. package/server/modules/orchestration/workflows/workflow-trace.ts +424 -424
  174. package/server/modules/orchestration/workflows/workflow.routes.ts +586 -586
  175. package/server/modules/orchestration/workflows/workflow.types.ts +111 -111
  176. package/server/modules/orchestration/workflows/workspace-target.ts +122 -122
  177. package/server/modules/orchestration/workspace/docker-workspace.ts +136 -136
  178. package/server/modules/orchestration/workspace/path-safety.ts +55 -55
  179. package/server/modules/orchestration/workspace/types.ts +52 -52
  180. package/server/modules/orchestration/workspace/workspace-manager.ts +102 -102
  181. package/server/modules/orchestration/workspace/worktree-workspace.ts +126 -126
  182. package/server/modules/providers/index.ts +2 -2
  183. package/server/modules/providers/list/claude/claude-auth.provider.ts +146 -146
  184. package/server/modules/providers/list/claude/claude-mcp.provider.ts +135 -135
  185. package/server/modules/providers/list/claude/claude-sessions.provider.ts +306 -306
  186. package/server/modules/providers/list/claude/claude.provider.ts +15 -15
  187. package/server/modules/providers/list/codex/codex-auth.provider.ts +117 -117
  188. package/server/modules/providers/list/codex/codex-mcp.provider.ts +135 -135
  189. package/server/modules/providers/list/codex/codex-sessions.provider.ts +319 -319
  190. package/server/modules/providers/list/codex/codex.provider.ts +15 -15
  191. package/server/modules/providers/list/cursor/cursor-auth.provider.ts +147 -147
  192. package/server/modules/providers/list/cursor/cursor-mcp.provider.ts +108 -108
  193. package/server/modules/providers/list/cursor/cursor-sessions.provider.ts +421 -421
  194. package/server/modules/providers/list/cursor/cursor.provider.ts +15 -15
  195. package/server/modules/providers/list/gemini/gemini-auth.provider.ts +173 -173
  196. package/server/modules/providers/list/gemini/gemini-mcp.provider.ts +110 -110
  197. package/server/modules/providers/list/gemini/gemini-sessions.provider.ts +227 -227
  198. package/server/modules/providers/list/gemini/gemini.provider.ts +15 -15
  199. package/server/modules/providers/list/opencode/opencode-auth.provider.ts +131 -131
  200. package/server/modules/providers/list/opencode/opencode-sessions.provider.ts +286 -286
  201. package/server/modules/providers/list/qwen/qwen-auth.provider.ts +146 -146
  202. package/server/modules/providers/list/qwen/qwen-sessions.provider.ts +265 -265
  203. package/server/modules/providers/provider.registry.ts +40 -40
  204. package/server/modules/providers/provider.routes.ts +982 -982
  205. package/server/modules/providers/services/mcp.service.ts +86 -86
  206. package/server/modules/providers/services/provider-auth.service.ts +26 -26
  207. package/server/modules/providers/services/sessions.service.ts +45 -45
  208. package/server/modules/providers/shared/base/abstract.provider.ts +20 -20
  209. package/server/modules/providers/shared/mcp/mcp.provider.ts +151 -151
  210. package/server/modules/providers/tests/mcp.test.ts +293 -293
  211. package/server/openai-codex.js +468 -468
  212. package/server/opencode-cli.js +491 -491
  213. package/server/opencode-response-handler.js +111 -111
  214. package/server/projects.js +3135 -3135
  215. package/server/qwen-code-cli.js +410 -410
  216. package/server/routes/agent.js +1462 -1462
  217. package/server/routes/auth.js +298 -298
  218. package/server/routes/codex.js +20 -20
  219. package/server/routes/commands.js +581 -581
  220. package/server/routes/cursor.js +61 -61
  221. package/server/routes/diagnostics.js +44 -44
  222. package/server/routes/gemini.js +25 -25
  223. package/server/routes/git.js +1822 -1822
  224. package/server/routes/live-view.js +434 -434
  225. package/server/routes/mcp-utils.js +13 -13
  226. package/server/routes/messages.js +97 -97
  227. package/server/routes/network.js +143 -143
  228. package/server/routes/platformization.js +231 -231
  229. package/server/routes/plugins.js +690 -690
  230. package/server/routes/production-agent-loop.js +90 -90
  231. package/server/routes/projects.js +918 -918
  232. package/server/routes/public-api.js +34 -34
  233. package/server/routes/qwen.js +27 -27
  234. package/server/routes/remote.js +56 -56
  235. package/server/routes/settings.js +321 -321
  236. package/server/routes/telegram.js +163 -163
  237. package/server/routes/user.js +125 -125
  238. package/server/routes/webhooks.js +63 -63
  239. package/server/services/control-room.js +102 -102
  240. package/server/services/diagnostics.js +165 -165
  241. package/server/services/external-access.js +403 -403
  242. package/server/services/install-jobs.js +715 -715
  243. package/server/services/live-view.js +956 -956
  244. package/server/services/managed-runtimes.js +493 -493
  245. package/server/services/model-registry.js +144 -144
  246. package/server/services/notification-orchestrator.js +365 -365
  247. package/server/services/notification-taxonomy.js +204 -204
  248. package/server/services/platformization.js +1052 -1052
  249. package/server/services/production-agent-loop.js +248 -248
  250. package/server/services/provider-cli-versions.js +149 -149
  251. package/server/services/provider-credentials.js +189 -189
  252. package/server/services/provider-models.js +396 -396
  253. package/server/services/public-api-manifest.js +181 -181
  254. package/server/services/qr-login.js +126 -126
  255. package/server/services/remote-connection.js +127 -127
  256. package/server/services/runtime-manager.js +323 -323
  257. package/server/services/startup-update.js +259 -259
  258. package/server/services/telegram/bot.js +393 -393
  259. package/server/services/telegram/control-center.js +2453 -2453
  260. package/server/services/telegram/telegram-gateway.js +314 -314
  261. package/server/services/telegram/telegram-http-client.js +201 -201
  262. package/server/services/telegram/translations.js +470 -470
  263. package/server/services/webhooks.js +216 -216
  264. package/server/sessionManager.js +225 -225
  265. package/server/setup-wizard.js +283 -283
  266. package/server/shared/interfaces.ts +54 -54
  267. package/server/shared/types.ts +172 -172
  268. package/server/shared/utils.ts +193 -193
  269. package/server/tsconfig.json +36 -36
  270. package/server/utils/colors.js +21 -21
  271. package/server/utils/commandParser.js +305 -305
  272. package/server/utils/frontmatter.js +18 -18
  273. package/server/utils/gitConfig.js +34 -34
  274. package/server/utils/plugin-loader.js +461 -461
  275. package/server/utils/plugin-process-manager.js +185 -185
  276. package/server/utils/port-access.js +227 -227
  277. package/server/utils/runtime-paths.js +37 -37
  278. package/server/utils/security-log.js +84 -84
  279. package/server/utils/url-detection.js +71 -71
  280. package/server/vite-daemon.js +79 -79
  281. package/shared/modelConstants.js +161 -161
  282. 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).