手动创建工作区
直接在终端跑 one create。看清它往磁盘写了什么、生成的 manifest 长什么样、默认接了哪些 backend。
这一章介绍 one create。可先阅读模板教程选择项目,再继续配置环境变量。
1. 装 One CLI
curl -fsSL https://1cli.dev/install.sh | bash
one --version
装不上看 手动安装。
2. 跑 one create
最简形式,所有都交互式问你:
one create my-workspace
如果你从模板页拿到了一条 one create 命令,直接粘贴 — 它已经填好了 --preset / --project-names。
非交互式(脚本 / CI 用):
one create my-workspace --yes
关键 flag:
| Flag | 作用 |
|---|---|
--name <name> | 工作区名(覆盖位置参数的 basename) |
--yes | 跳过所有交互,全部走默认 |
--preset <id> | 创建模板选择器编码的项目组合 |
完整 flag 列表见 one create 参考。
3. 跑完写了啥
cd my-workspace
ls -la
会看到:
.git/
.config/
apps/
one.manifest.json
packages/
services/
看 manifest:
cat one.manifest.json | jq
manifest 关键字段:
version: 1— schema 版本必须是 1workspace.id— 自动生成的 UUIDenvironments.names: ["dev", "preview", "prod"]、default: "dev"env— 可选 Infisical 绑定,配置前不存在projects: []— 空数组(除非你传了--preset)
4. one create 默认接上的能力
每个新工作区都会默认接上两项基础能力,不用你选:
| Capability | Implementation | 给你啥 |
|---|---|---|
env | Infisical | 绑定后直接注入进程,绑定前使用 shell 环境 |
dev | mise | one add 时把每个项目的 dev 命令写到 projects[].dev.command,one dev 通过 mise 调度 |
one create 和 one add 都不会默认配置 CI,也不会自动生成 workflow 文件。
5. 第一次提交
git status
git add .
git commit -m "chore: scaffold workspace"
one create 已经跑过 git init,第一次 commit 把骨架收进 git。
常见错误
| 错误码 | 现象 | 修法 |
|---|---|---|
INVALID_NAME | 名字有非法字符 | 用 ^[a-zA-Z0-9][a-zA-Z0-9_-]*$(kebab-case 最稳) |
WORKSPACE_NESTED_FORBIDDEN | 在已有工作区里 one create | 退出去再起 |
TARGET_EXISTS | 目标目录已经存在且非空 | 换个名字,或清空目录 |
TEMPLATE_NOT_FOUND | Preset 引用了不存在的模板 | 跑 one templates list 或回 模板页 |
完整码表:错误码大全。
下一步
- 设第一个环境变量 → 配置环境变量