codekanban 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +130 -0
- package/README.zh-CN.md +133 -0
- package/npm-bin/codekanban.js +59 -0
- package/package.json +35 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
Apache License
|
|
2
|
+
Version 2.0, January 2004
|
|
3
|
+
http://www.apache.org/licenses/
|
|
4
|
+
|
|
5
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
6
|
+
|
|
7
|
+
1. Definitions.
|
|
8
|
+
|
|
9
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
10
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
11
|
+
|
|
12
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
13
|
+
the copyright owner that is granting the License.
|
|
14
|
+
|
|
15
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
16
|
+
other entities that control, are controlled by, or are under common
|
|
17
|
+
control with that entity. For the purposes of this definition,
|
|
18
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
19
|
+
direction or management of such entity, whether by contract or
|
|
20
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
21
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
22
|
+
|
|
23
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
24
|
+
exercising permissions granted by this License.
|
|
25
|
+
|
|
26
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
27
|
+
including but not limited to software source code, documentation
|
|
28
|
+
source, and configuration files.
|
|
29
|
+
|
|
30
|
+
"Object" form shall mean any form resulting from mechanical
|
|
31
|
+
transformation or translation of a Source form, including but
|
|
32
|
+
not limited to compiled object code, generated documentation,
|
|
33
|
+
and conversions to other media types.
|
|
34
|
+
|
|
35
|
+
"Work" shall mean the work of authorship, whether in Source or
|
|
36
|
+
Object form, made available under the License, as indicated by a
|
|
37
|
+
copyright notice that is included in or attached to the work
|
|
38
|
+
(an example is provided in the Appendix below).
|
|
39
|
+
|
|
40
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
41
|
+
form, that is based on (or derived from) the Work and for which the
|
|
42
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
43
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
44
|
+
of this License, Derivative Works shall not include works that remain
|
|
45
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
46
|
+
the Work and Derivative Works thereof.
|
|
47
|
+
|
|
48
|
+
"Contribution" shall mean any work of authorship, including
|
|
49
|
+
the original version of the Work and any modifications or additions
|
|
50
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
51
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
52
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
53
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
|
54
|
+
means any form of electronic, verbal, or written communication sent
|
|
55
|
+
to the Licensor or its representatives, including but not limited to
|
|
56
|
+
communication on electronic mailing lists, source code control systems,
|
|
57
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
|
58
|
+
Licensor for the purpose of discussing and improving the Work, but
|
|
59
|
+
excluding communication that is conspicuously marked or otherwise
|
|
60
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
|
61
|
+
|
|
62
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
63
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
64
|
+
subsequently incorporated within the Work.
|
|
65
|
+
|
|
66
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
67
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
68
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
69
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
70
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
71
|
+
Work and such Derivative Works in Source or Object form.
|
|
72
|
+
|
|
73
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
74
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
75
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
76
|
+
(except as stated in this section) patent license to make, have made,
|
|
77
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
78
|
+
where such license applies only to those patent claims licensable
|
|
79
|
+
by such Contributor that are necessarily infringed by their
|
|
80
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
81
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
82
|
+
institute patent litigation against any entity (including a
|
|
83
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
84
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
85
|
+
or contributory patent infringement, then any patent licenses
|
|
86
|
+
granted to You under this License for that Work shall terminate
|
|
87
|
+
as of the date such litigation is filed.
|
|
88
|
+
|
|
89
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
90
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
91
|
+
modifications, and in Source or Object form, provided that You
|
|
92
|
+
meet the following conditions:
|
|
93
|
+
|
|
94
|
+
(a) You must give any other recipients of the Work or
|
|
95
|
+
Derivative Works a copy of this License; and
|
|
96
|
+
|
|
97
|
+
(b) You must cause any modified files to carry prominent notices
|
|
98
|
+
stating that You changed the files; and
|
|
99
|
+
|
|
100
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
101
|
+
that You distribute, all copyright, patent, trademark, and
|
|
102
|
+
attribution notices from the Source form of the Work,
|
|
103
|
+
excluding those notices that do not pertain to any part of
|
|
104
|
+
the Derivative Works; and
|
|
105
|
+
|
|
106
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
|
107
|
+
distribution, then any Derivative Works that You distribute must
|
|
108
|
+
include a readable copy of the attribution notices contained
|
|
109
|
+
within such NOTICE file, excluding those notices that do not
|
|
110
|
+
pertain to any part of the Derivative Works, in at least one
|
|
111
|
+
of the following places: within a NOTICE text file distributed
|
|
112
|
+
as part of the Derivative Works; within the Source form or
|
|
113
|
+
documentation, if provided along with the Derivative Works; or,
|
|
114
|
+
within a display generated by the Derivative Works, if and
|
|
115
|
+
wherever such third-party notices normally appear. The contents
|
|
116
|
+
of the NOTICE file are for informational purposes only and
|
|
117
|
+
do not modify the License. You may add Your own attribution
|
|
118
|
+
notices within Derivative Works that You distribute, alongside
|
|
119
|
+
or as an addendum to the NOTICE text from the Work, provided
|
|
120
|
+
that such additional attribution notices cannot be construed
|
|
121
|
+
as modifying the License.
|
|
122
|
+
|
|
123
|
+
You may add Your own copyright statement to Your modifications and
|
|
124
|
+
may provide additional or different license terms and conditions
|
|
125
|
+
for use, reproduction, or distribution of Your modifications, or
|
|
126
|
+
for any such Derivative Works as a whole, provided Your use,
|
|
127
|
+
reproduction, and distribution of the Work otherwise complies with
|
|
128
|
+
the conditions stated in this License.
|
|
129
|
+
|
|
130
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
131
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
132
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
133
|
+
this License, without any additional terms or conditions.
|
|
134
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
135
|
+
the terms of any separate license agreement you may have executed
|
|
136
|
+
with Licensor regarding such Contributions.
|
|
137
|
+
|
|
138
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
139
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
140
|
+
except as required for reasonable and customary use in describing the
|
|
141
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
142
|
+
|
|
143
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
144
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
145
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
146
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
147
|
+
implied, including, without limitation, any warranties or conditions
|
|
148
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
149
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
150
|
+
appropriateness of using or redistributing the Work and assume any
|
|
151
|
+
risks associated with Your exercise of permissions under this License.
|
|
152
|
+
|
|
153
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
154
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
155
|
+
unless required by applicable law (such as deliberate and grossly
|
|
156
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
157
|
+
liable to You for damages, including any direct, indirect, special,
|
|
158
|
+
incidental, or consequential damages of any character arising as a
|
|
159
|
+
result of this License or out of the use or inability to use the
|
|
160
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
161
|
+
work stoppage, computer failure or malfunction, or any and all
|
|
162
|
+
other commercial damages or losses), even if such Contributor
|
|
163
|
+
has been advised of the possibility of such damages.
|
|
164
|
+
|
|
165
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
166
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
167
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
168
|
+
or other liability obligations and/or rights consistent with this
|
|
169
|
+
License. However, in accepting such obligations, You may act only
|
|
170
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
|
171
|
+
of any other Contributor, and only if You agree to indemnify,
|
|
172
|
+
defend, and hold each Contributor harmless for any liability
|
|
173
|
+
incurred by, or claims asserted against, such Contributor by reason
|
|
174
|
+
of your accepting any such warranty or additional liability.
|
|
175
|
+
|
|
176
|
+
END OF TERMS AND CONDITIONS
|
|
177
|
+
|
|
178
|
+
APPENDIX: How to apply the Apache License to your work.
|
|
179
|
+
|
|
180
|
+
To apply the Apache License to your work, attach the following
|
|
181
|
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
182
|
+
replaced with your own identifying information. (Don't include
|
|
183
|
+
the brackets!) The text should be enclosed in the appropriate
|
|
184
|
+
comment syntax for the file format. We also recommend that a
|
|
185
|
+
file or class name and description of purpose be included on the
|
|
186
|
+
same "printed page" as the copyright notice for easier
|
|
187
|
+
identification within third-party archives.
|
|
188
|
+
|
|
189
|
+
Copyright [yyyy] [name of copyright owner]
|
|
190
|
+
|
|
191
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
|
+
you may not use this file except in compliance with the License.
|
|
193
|
+
You may obtain a copy of the License at
|
|
194
|
+
|
|
195
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
196
|
+
|
|
197
|
+
Unless required by applicable law or agreed to in writing, software
|
|
198
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
199
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
200
|
+
See the License for the specific language governing permissions and
|
|
201
|
+
limitations under the License.
|
package/README.md
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# Code Kanban
|
|
4
|
+
|
|
5
|
+
An auxiliary programming tool for the AI era, helping you speed up 10x.
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+

|
|
9
|
+

|
|
10
|
+

|
|
11
|
+
|
|
12
|
+
[中文](README.zh-CN.md) | [English](README.md)
|
|
13
|
+
|
|
14
|
+
[Core Features](#core-features) • [Quick Start](#quick-start) • [Development Guide](#development-guide) • [About](#about)
|
|
15
|
+
|
|
16
|
+

|
|
17
|
+
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
## Quick Start
|
|
21
|
+
|
|
22
|
+
Try it instantly:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npx codekanban
|
|
26
|
+
# or
|
|
27
|
+
npm install -g codekanban
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Core Features
|
|
31
|
+
|
|
32
|
+
- **Ready to Use**: Single file, local database, double-click to use
|
|
33
|
+
- **Multi-Project Multi-Terminal Management**: Easily switch between 3-4 code repositories and dozens of terminals, each running different AI programming tasks
|
|
34
|
+
- **Git Worktree Management**: Lightweight branch management, let AI develop multiple features simultaneously, rollback anytime if unsatisfied
|
|
35
|
+
- **Task Kanban**: Visualize development task management with support for task status tracking and branch association
|
|
36
|
+
- **Web Terminal Integration**: Web terminal using the same technology stack as VSC, supports tab management, drag sorting, collapse/expand, etc. (Hotkey: `)
|
|
37
|
+
- **Notes Feature**: Supports multi-tab notes, auto-save, tabs can be renamed and sorted (Hotkey: 1)
|
|
38
|
+
- **Editor Integration**: Quick open VSCode, Cursor, Zed and other editors
|
|
39
|
+
- **Use Your Favorite Tools**: Claude Code, Codex, Gemini, Qwen Code, Droid, ... anything works
|
|
40
|
+
|
|
41
|
+
## Development Guide
|
|
42
|
+
|
|
43
|
+
### Requirements
|
|
44
|
+
- **Node.js**: v20.19.0+ or v22.12.0+
|
|
45
|
+
- **Go**: 1.24.6+
|
|
46
|
+
- **Package Manager**: pnpm (recommended)
|
|
47
|
+
|
|
48
|
+
### Install Dependencies
|
|
49
|
+
|
|
50
|
+
**Frontend Dependencies**:
|
|
51
|
+
```bash
|
|
52
|
+
cd ui
|
|
53
|
+
pnpm install
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Backend Dependencies**:
|
|
57
|
+
```bash
|
|
58
|
+
go mod tidy
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Development Mode
|
|
62
|
+
|
|
63
|
+
**Frontend Development Server**:
|
|
64
|
+
```bash
|
|
65
|
+
cd ui
|
|
66
|
+
pnpm dev
|
|
67
|
+
```
|
|
68
|
+
Access at: `http://localhost:5173`
|
|
69
|
+
|
|
70
|
+
**Backend Development Server**:
|
|
71
|
+
```bash
|
|
72
|
+
go run . # Note: After first run, config.yaml will be generated with port 3007. Due to conflicts with the production version, they cannot run simultaneously. It's recommended to change to 3005. The following assumes it has been changed.
|
|
73
|
+
```
|
|
74
|
+
- Server Port: `http://localhost:3005`
|
|
75
|
+
- OpenAPI Documentation: `http://localhost:3005/docs`
|
|
76
|
+
- Health Check: `http://localhost:3005/api/v1/health`
|
|
77
|
+
|
|
78
|
+
**Optional Parameters**:
|
|
79
|
+
- `-m` or `--migrate`: Force database migration
|
|
80
|
+
- `-i` or `--install`: Install as system service
|
|
81
|
+
- `--uninstall`: Uninstall system service
|
|
82
|
+
|
|
83
|
+
### Production Build
|
|
84
|
+
|
|
85
|
+
**Full Build** (Recommended):
|
|
86
|
+
```bash
|
|
87
|
+
python build.py
|
|
88
|
+
```
|
|
89
|
+
This script will automatically complete the following steps:
|
|
90
|
+
1. Build frontend (`pnpm build`)
|
|
91
|
+
2. Copy frontend artifacts to `static/` directory
|
|
92
|
+
3. Build Go executable (with optimization)
|
|
93
|
+
|
|
94
|
+
**Manual Build**:
|
|
95
|
+
```bash
|
|
96
|
+
# Build frontend
|
|
97
|
+
cd ui && pnpm build
|
|
98
|
+
|
|
99
|
+
# Build backend
|
|
100
|
+
go build -ldflags="-s -w" -trimpath -o CodeKanban
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Build Artifacts**:
|
|
104
|
+
- Frontend: `ui/dist/` → `static/` (After moving to this directory, building the backend will automatically store it in the executable, achieving single-file launch)
|
|
105
|
+
- Backend: `CodeKanban.exe` (Windows) or `CodeKanban` (Linux/macOS)
|
|
106
|
+
|
|
107
|
+
### Access Application
|
|
108
|
+
|
|
109
|
+
**Development Environment**:
|
|
110
|
+
- Frontend Dev Server: `http://localhost:5173`
|
|
111
|
+
- Backend API: `http://localhost:3005`
|
|
112
|
+
|
|
113
|
+
**Production Environment**:
|
|
114
|
+
Run the built executable and access `http://localhost:3007`
|
|
115
|
+
|
|
116
|
+
## About
|
|
117
|
+
|
|
118
|
+
We are in an era that is both rapidly changing and extremely divided, and our work is the same.
|
|
119
|
+
|
|
120
|
+
This tool has genuinely improved my efficiency, but perhaps the improvement in efficiency will also reduce work demand, and the development of AI will eliminate this industry.
|
|
121
|
+
|
|
122
|
+
Anyway, I hope everyone enjoys using it.
|
|
123
|
+
|
|
124
|
+
If it helps you, you can give it a star or sponsor me a little.
|
|
125
|
+
|
|
126
|
+
### Possible Future Features
|
|
127
|
+
- Mobile support
|
|
128
|
+
- Code cleanup: For example, the frontend's src/api should all be auto-generated
|
|
129
|
+
- Completion reminder feature, such as playing a sound after AI is done to tell you it's finished.
|
|
130
|
+
- Idle terminal list / Terminal list awaiting interaction.
|
package/README.zh-CN.md
ADDED
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# 代码看板 Code kanban
|
|
4
|
+
|
|
5
|
+
AI时代的辅助编程工具,帮助你提速10倍。
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+

|
|
9
|
+

|
|
10
|
+

|
|
11
|
+
|
|
12
|
+
[中文](README.zh-CN.md) | [English](README.md)
|
|
13
|
+
|
|
14
|
+
[核心特性](#核心特性) • [快速体验](#快速体验) • [开发指南](#开发指南) • [关于](#关于)
|
|
15
|
+
|
|
16
|
+

|
|
17
|
+
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
## 快速体验
|
|
21
|
+
|
|
22
|
+
立即试用:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npx codekanban
|
|
26
|
+
# 或
|
|
27
|
+
npm install -g codekanban
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## 核心特性
|
|
31
|
+
|
|
32
|
+
- **开箱即用**: 单文件,本地数据库,双击即可使用
|
|
33
|
+
- **多项目多终端管理**:轻松在 3-4 个代码仓库、二十几个终端之间切换,每个终端运行不同的 AI 编程任务
|
|
34
|
+
- **Git Worktree 管理**:轻量级分支管理,同时让 AI 开发多个功能,不满意随时回滚
|
|
35
|
+
- **任务看板**:可视化管理开发任务,支持任务状态跟踪和分支关联
|
|
36
|
+
- **Web 终端集成**:使用VSC同款技术栈的 Web 终端,支持标签管理、拖动排序、折叠展开等 (快捷键`)
|
|
37
|
+
- **笔记功能**:支持多标签笔记,自动保存,标签可重命名和排序 (快捷键1)
|
|
38
|
+
- **编辑器集成**:快捷打开 VSCode、Cursor、Zed 等编辑器
|
|
39
|
+
- **使用你喜欢的工具**: Claude Code, Codex, Gemini, Qwen Code, Droid, ... 啥都行
|
|
40
|
+
|
|
41
|
+
Tips: 中文用户注意,搜狗输入法在 ClaudeCode 中兼容性不佳,在VSCode中表现也是大差不差的。不过alt+v仍然可以粘贴图片。
|
|
42
|
+
|
|
43
|
+
## 开发指南
|
|
44
|
+
|
|
45
|
+
### 环境要求
|
|
46
|
+
- **Node.js**: v20.19.0+ 或 v22.12.0+
|
|
47
|
+
- **Go**: 1.24.6+
|
|
48
|
+
- **包管理器**: pnpm(推荐)
|
|
49
|
+
|
|
50
|
+
### 安装依赖
|
|
51
|
+
|
|
52
|
+
**前端依赖**:
|
|
53
|
+
```bash
|
|
54
|
+
cd ui
|
|
55
|
+
pnpm install
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**后端依赖**:
|
|
59
|
+
```bash
|
|
60
|
+
go mod tidy
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 开发运行
|
|
64
|
+
|
|
65
|
+
**前端开发服务器**:
|
|
66
|
+
```bash
|
|
67
|
+
cd ui
|
|
68
|
+
pnpm dev
|
|
69
|
+
```
|
|
70
|
+
访问地址:`http://localhost:5173`
|
|
71
|
+
|
|
72
|
+
**后端开发服务器**:
|
|
73
|
+
```bash
|
|
74
|
+
go run . # 注意,初次运行后会生成config.yaml,端口3007,由于跟正式版本冲突,无法同时运行,建议改为3005。以下当作已经修改
|
|
75
|
+
```
|
|
76
|
+
- 服务端口:`http://localhost:3005`
|
|
77
|
+
- OpenAPI 文档:`http://localhost:3005/docs`
|
|
78
|
+
- 健康检查:`http://localhost:3005/api/v1/health`
|
|
79
|
+
|
|
80
|
+
**可选参数**:
|
|
81
|
+
- `-m` 或 `--migrate`:强制执行数据库迁移
|
|
82
|
+
- `-i` 或 `--install`:安装为系统服务
|
|
83
|
+
- `--uninstall`:卸载系统服务
|
|
84
|
+
|
|
85
|
+
### 生产构建
|
|
86
|
+
|
|
87
|
+
**完整构建**(推荐):
|
|
88
|
+
```bash
|
|
89
|
+
python build.py
|
|
90
|
+
```
|
|
91
|
+
此脚本会自动完成以下步骤:
|
|
92
|
+
1. 构建前端(`pnpm build`)
|
|
93
|
+
2. 将前端产物复制到 `static/` 目录
|
|
94
|
+
3. 构建 Go 可执行文件(带优化)
|
|
95
|
+
|
|
96
|
+
**手动构建**:
|
|
97
|
+
```bash
|
|
98
|
+
# 构建前端
|
|
99
|
+
cd ui && pnpm build
|
|
100
|
+
|
|
101
|
+
# 构建后端
|
|
102
|
+
go build -ldflags="-s -w" -trimpath -o CodeKanban
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**构建产物**:
|
|
106
|
+
- 前端:`ui/dist/` → `static/` (移动到此目录后,构建后端会自动存入可执行文件,实现单文件启动)
|
|
107
|
+
- 后端:`CodeKanban.exe`(Windows)或 `CodeKanban`(Linux/macOS)
|
|
108
|
+
|
|
109
|
+
### 访问应用
|
|
110
|
+
|
|
111
|
+
**开发环境**:
|
|
112
|
+
- 前端开发服务器:`http://localhost:5173`
|
|
113
|
+
- 后端 API:`http://localhost:3005`
|
|
114
|
+
|
|
115
|
+
**生产环境**:
|
|
116
|
+
运行构建后的可执行文件,访问 `http://localhost:3007`
|
|
117
|
+
|
|
118
|
+
## 关于
|
|
119
|
+
|
|
120
|
+
我们处在一个日新月异也异常撕裂的时代,我们的作品也是如此。
|
|
121
|
+
|
|
122
|
+
这个工具切实的提升了我的效率,但也许效率的提升也会减少工作需求,而AI的发展会消灭这个行业。
|
|
123
|
+
|
|
124
|
+
不管怎么说,希望大家用的开心。
|
|
125
|
+
|
|
126
|
+
如果有帮到你,可以点点star或者给我一点赞助。
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
### 未来可能的一些功能
|
|
130
|
+
- 移动端支持
|
|
131
|
+
- 代码清理: 如前端的src/api,应当全走自动生成
|
|
132
|
+
- 完成提醒功能,例如AI干完之后播放个声音,告诉你已经弄好了。
|
|
133
|
+
- 空闲终端列表 / 待交互终端列表。
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const { spawn } = require('child_process');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
|
|
5
|
+
// 平台映射
|
|
6
|
+
const PLATFORMS = {
|
|
7
|
+
'win32-x64': '@codekanban/win32-x64',
|
|
8
|
+
'darwin-x64': '@codekanban/darwin-x64',
|
|
9
|
+
'darwin-arm64': '@codekanban/darwin-arm64',
|
|
10
|
+
'linux-x64': '@codekanban/linux-x64',
|
|
11
|
+
'linux-arm64': '@codekanban/linux-arm64',
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const platform = process.platform;
|
|
15
|
+
const arch = process.arch;
|
|
16
|
+
const platformKey = `${platform}-${arch}`;
|
|
17
|
+
const packageName = PLATFORMS[platformKey];
|
|
18
|
+
|
|
19
|
+
if (!packageName) {
|
|
20
|
+
console.error(`Unsupported platform: ${platformKey}`);
|
|
21
|
+
console.error('Supported platforms:', Object.keys(PLATFORMS).join(', '));
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// 查找二进制文件
|
|
26
|
+
let binPath;
|
|
27
|
+
try {
|
|
28
|
+
const packagePath = require.resolve(packageName + '/package.json');
|
|
29
|
+
const packageDir = path.dirname(packagePath);
|
|
30
|
+
const binName = platform === 'win32' ? 'codekanban.exe' : 'codekanban';
|
|
31
|
+
binPath = path.join(packageDir, binName);
|
|
32
|
+
} catch (e) {
|
|
33
|
+
console.error(`Failed to find binary for ${platformKey}`);
|
|
34
|
+
console.error(`Make sure ${packageName} is installed`);
|
|
35
|
+
console.error('');
|
|
36
|
+
console.error('Try one of the following:');
|
|
37
|
+
console.error(' 1. Uninstall and reinstall with npm:');
|
|
38
|
+
console.error(' npm uninstall -g codekanban');
|
|
39
|
+
console.error(' npm install -g codekanban');
|
|
40
|
+
console.error(' 2. Or uninstall and reinstall with pnpm:');
|
|
41
|
+
console.error(' pnpm uninstall -g codekanban');
|
|
42
|
+
console.error(' pnpm install -g codekanban');
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// 运行二进制
|
|
47
|
+
const child = spawn(binPath, process.argv.slice(2), {
|
|
48
|
+
stdio: 'inherit',
|
|
49
|
+
windowsHide: false
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
child.on('error', (err) => {
|
|
53
|
+
console.error('Failed to start binary:', err.message);
|
|
54
|
+
process.exit(1);
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
child.on('exit', (code) => {
|
|
58
|
+
process.exit(code || 0);
|
|
59
|
+
});
|
package/package.json
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "codekanban",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "An auxiliary programming tool for the AI era, helping you speed up 10x.",
|
|
5
|
+
"bin": {
|
|
6
|
+
"codekanban": "npm-bin/codekanban.js"
|
|
7
|
+
},
|
|
8
|
+
"optionalDependencies": {
|
|
9
|
+
"@codekanban/win32-x64": "0.1.0",
|
|
10
|
+
"@codekanban/darwin-x64": "0.1.0",
|
|
11
|
+
"@codekanban/darwin-arm64": "0.1.0",
|
|
12
|
+
"@codekanban/linux-x64": "0.1.0",
|
|
13
|
+
"@codekanban/linux-arm64": "0.1.0"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"ai",
|
|
17
|
+
"coding",
|
|
18
|
+
"kanban",
|
|
19
|
+
"terminal",
|
|
20
|
+
"productivity",
|
|
21
|
+
"developer-tools",
|
|
22
|
+
"worktree",
|
|
23
|
+
"git"
|
|
24
|
+
],
|
|
25
|
+
"author": "fy0",
|
|
26
|
+
"license": "Apache-2.0",
|
|
27
|
+
"repository": {
|
|
28
|
+
"type": "git",
|
|
29
|
+
"url": "https://github.com/fy0/CodeKanban"
|
|
30
|
+
},
|
|
31
|
+
"homepage": "https://github.com/fy0/CodeKanban#readme",
|
|
32
|
+
"engines": {
|
|
33
|
+
"node": ">=14.0.0"
|
|
34
|
+
}
|
|
35
|
+
}
|