内容
# 科拉维
创意跟踪器
您的创意即将到来!
科拉维是一个面向小型开发团队的实验性项目,旨在提供一个统一的知识、任务管理和与AI代理的聊天通信平台。
科拉维中的创意代表一个类似树状的待办事项列表,可以作为文档块、任务或聊天。
演示:[https://collavre.com](https://collavre.com)
* [功能](docs/features_summary.md)
## 入门指南
[Ruby on Rails 入门文档](https://github.com/sh1nj1/ror_getting_started/blob/main/getting_started.md)
### 本地开发
* 安装 mise 并安装 Ruby
`mise install`
* 安装 nvm 并安装 Node.js
`nvm install`
* `bundle install`
* `./bin/rails db:prepare`
* `./bin/rails db:seed`
* `brew install vips` # 用于图像处理(macOS)
* `./script/install-hooks.sh` # 安装 Git 钩子(预推送检查)
* `bin/rails server` - 启动 Rails 服务器。当设置 `SOLID_QUEUE_IN_PUMA` 时,背景作业处理器和调度程序与服务器一起运行。`bin/dev` 脚本在开发环境中自动设置此变量。
### Git 钩子
预推送钩子在每次推送之前自动运行:
- `./bin/rubocop -a` - 自动修复 linting 问题
- `rake test` - 运行所有测试
- 死代码检查 - 检测调试语句(`binding.pry`、`debugger` 等)
- i18n 检查 - 确保所有键都存在于 `en.yml` 和 `ko.yml` 中
要手动安装钩子:`./script/install-hooks.sh`
### 测试
* 有 minitest 测试 `./bin/rake test && ./bin/rails test:system`
* 使用 `chrome` 驱动进行系统测试,`SYSTEM_TEST_DRIVER=chrome ./bin/rails test:system`
## JavaScript 打包
该项目使用 `jsbundling-rails`,因此在构建生产环境时必须安装 Node.js 和 npm 包。确保 `npm ci` 在 `rails assets:precompile` 之前运行。提供的 Dockerfile 和 Render 构建脚本会自动处理此问题。
## 自定义
科拉维支持通过本地引擎扩展。
- [引擎开发指南](docs/engine_development.md)
## 部署到 AWS EC2
- [部署到 AWS EC2](docs/deploy_to_ec2.md)
## 部署到 Render
该应用程序已配置为在 Render 上部署。`bin/render-build.sh` 脚本在预编译资产之前使用 `npm ci` 安装 npm 包。要部署:
1. [](https://render.com/deploy?repo=https://github.com/sh1nj1/ror_getting_started)
2. 您需要在 Render 中设置以下环境变量:
- `RAILS_MASTER_KEY`:从本地 `config/master.key` 文件复制
- `DEFAULT_USER_EMAIL`:默认管理员用户的电子邮件(例如,admin@example.com)
- `DEFAULT_USER_PASSWORD`:默认管理员用户的密码
点击部署按钮后,您将被提示设置这些环境变量。
3. 点击“应用”以启动部署
Render 将根据 `render.yaml` 配置自动创建 Web 服务和 PostgreSQL 数据库。
## 许可证
科拉维根据 [GNU Affero General Public License v3.0](LICENSE) 分发。