1c-project-init

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

/1c-project-init — Initialize or enrich 1C project

/1c-project-init — 初始化或完善1C项目

Source workspace:
YOUR_KIT_ROOT
(path where 1c-ai-development-kit is cloned)
源工作空间:
YOUR_KIT_ROOT
(1c-ai-development-kit的克隆路径)

Mode detection

模式检测

  • .claude/skills/
    exists in target → enrich (sync missing/outdated skills & docs)
  • No
    .claude/skills/
    new (full init)
  • 目标路径中存在
    .claude/skills/
    完善模式(同步缺失/过时的技能与文档)
  • 不存在
    .claude/skills/
    新建模式(完整初始化)

Steps

操作步骤

1. Determine target path

1. 确定目标路径

  • If argument provided → use it
  • Otherwise → current working directory (
    pwd
    )
  • 如果提供了参数 → 使用参数指定的路径
  • 否则 → 使用当前工作目录(
    pwd
    )

2. Run init script

2. 运行初始化脚本

powershell
powershell.exe -NoProfile -File "YOUR_KIT_ROOT\.claude\skills\1c-project-init\scripts\init.ps1" -TargetPath "<target>" -Mode <new|enrich>
Script output lists what was copied/updated.
powershell
powershell.exe -NoProfile -File "YOUR_KIT_ROOT\.claude\skills\1c-project-init\scripts\init.ps1" -TargetPath "<target>" -Mode <new|enrich>
脚本输出会列出所有已复制/更新的内容。

3. If mode = new — collect project info interactively

3. 如果是新建模式 — 交互式收集项目信息

Ask user (AskUserQuestion):
  1. Project name (for CLAUDE.md header)
  2. 1C base name (e.g.
    Minim_kg
    ,
    Buh
    )
  3. Platform version:
    8.3.24
    /
    8.3.25
    /
    8.3.27
  4. Web publication name (e.g.
    minim
    ,
    buh
    ) — for HTTP API and playwright
  5. Project type:
    extension
    /
    configuration
    /
    external-processor
  6. EDT project name (Latin, e.g.
    MyProject_25
    ) — for edt-mcp reference
Platform → server mapping (all on CT107 / YOUR_EDT_SERVER):
  • 8.3.24
    → server
    YOUR_EDT_SERVER:1641
    , container
    onec-server-24
    , web port
    8081
  • 8.3.25
    → server
    YOUR_EDT_SERVER:1541
    , container
    onec-server-25
    , web port
    8080
  • 8.3.27
    → server
    YOUR_EDT_SERVER:1741
    , container
    onec-server-27
    , web port
    8082
向用户询问(AskUserQuestion):
  1. 项目名称(用于CLAUDE.md头部)
  2. 1C base名称(例如
    Minim_kg
    Buh
  3. 平台版本:
    8.3.24
    /
    8.3.25
    /
    8.3.27
  4. Web发布名称(例如
    minim
    buh
    )——用于HTTP API和playwright
  5. 项目类型:
    extension
    /
    configuration
    /
    external-processor
  6. EDT项目名称(仅拉丁字母,例如
    MyProject_25
    )——用于edt-mcp引用
平台与服务器映射(全部部署在CT107 / YOUR_EDT_SERVER上):
  • 8.3.24
    → 服务器
    YOUR_EDT_SERVER:1641
    ,容器
    onec-server-24
    ,Web端口
    8081
  • 8.3.25
    → 服务器
    YOUR_EDT_SERVER:1541
    ,容器
    onec-server-25
    ,Web端口
    8080
  • 8.3.27
    → 服务器
    YOUR_EDT_SERVER:1741
    ,容器
    onec-server-27
    ,Web端口
    8082

4. Generate CLAUDE.md

4. 生成CLAUDE.md

Read template:
YOUR_KIT_ROOT\.claude\skills\1c-project-init\templates\CLAUDE.md.template
Fill all placeholders:
  • {{PROJECT_NAME}}
    — project name
  • {{PROJECT_DESCRIPTION}}
    — brief description
  • {{V8_VERSION}}
    — platform version (e.g.
    8.3.25
    )
  • {{SERVER}}
    YOUR_EDT_SERVER
  • {{PORT}}
    — from platform map
  • {{SERVER_SUFFIX}}
    24
    /
    25
    /
    27
  • {{WEB_PORT}}
    — from platform map
  • {{BASE_NAME}}
    — 1C base name
  • {{PUBLICATION}}
    — web publication name
  • {{EDT_PROJECT_NAME}}
    — EDT project name
Write to
<target>/CLAUDE.md
.
读取模板:
YOUR_KIT_ROOT\.claude\skills\1c-project-init\templates\CLAUDE.md.template
填充所有占位符:
  • {{PROJECT_NAME}}
    — 项目名称
  • {{PROJECT_DESCRIPTION}}
    — 项目简介
  • {{V8_VERSION}}
    — 平台版本(例如
    8.3.25
  • {{SERVER}}
    YOUR_EDT_SERVER
  • {{PORT}}
    — 来自平台映射表
  • {{SERVER_SUFFIX}}
    24
    /
    25
    /
    27
  • {{WEB_PORT}}
    — 来自平台映射表
  • {{BASE_NAME}}
    — 1C base名称
  • {{PUBLICATION}}
    — Web发布名称
  • {{EDT_PROJECT_NAME}}
    — EDT项目名称
写入到
<target>/CLAUDE.md

5. Generate .mcp.json

5. 生成.mcp.json

Read template:
YOUR_KIT_ROOT\.claude\skills\1c-project-init\templates\mcp.json.template
Replace
{{PROJECT_NAME}}
and
{{PUBLICATION}}
placeholders. Write to
<target>/.mcp.json
.
读取模板:
YOUR_KIT_ROOT\.claude\skills\1c-project-init\templates\mcp.json.template
替换
{{PROJECT_NAME}}
{{PUBLICATION}}
占位符。 写入到
<target>/.mcp.json

6. Generate .v8-project.json if not exists

6. 如果不存在.v8-project.json则生成该文件

Use platform map to fill server/port automatically:
json
{
  "v8path": "",
  "infobase": {
    "server": "YOUR_EDT_SERVER:<PORT>",
    "ref": "<BASE_NAME>",
    "user": "",
    "password": ""
  },
  "publication": "http://YOUR_EDT_SERVER:<WEB_PORT>/<PUBLICATION>"
}
使用平台映射表自动填充服务器/端口:
json
{
  "v8path": "",
  "infobase": {
    "server": "YOUR_EDT_SERVER:<PORT>",
    "ref": "<BASE_NAME>",
    "user": "",
    "password": ""
  },
  "publication": "http://YOUR_EDT_SERVER:<WEB_PORT>/<PUBLICATION>"
}

7. Create openspec structure if mode = new

7. 新建模式下创建openspec目录结构

openspec/
  project.md        ← project context for AI
  changes/          ← active proposals
  specs/            ← feature specs
  archive/          ← done
openspec/
  project.md        ← AI使用的项目上下文
  changes/          ← 待处理的变更提案
  specs/            ← 功能规范
  archive/          ← 已归档内容

8. Report

8. 结果报告

List what was created/updated. Remind user to configure:
  • v8path
    in
    .v8-project.json
  • MCP port in
    .mcp.json
    if using minimkg-enhanced
  • Open project with
    claude
    in target directory
列出所有已创建/更新的内容,提醒用户配置:
  • .v8-project.json
    中的
    v8path
  • 如果使用minimkg-enhanced需配置
    .mcp.json
    中的MCP端口
  • 在目标目录使用
    claude
    命令打开项目

9. Register in EDT (optional)

9. 在EDT中注册(可选)

Ask: "Зарегистрировать проект в EDT на CT107?"
If yes — determine mode:
  • Project already has
    src/
    with 1C XML and
    .project
    file → mode=
    project
  • Project has
    src/
    with 1C XML but no
    .project
    → mode=
    xml
  • Only
    .dt
    available → mode=
    dt
Run:
powershell
powershell.exe -NoProfile -File "YOUR_KIT_ROOT\.claude\skills\1c-project-init\scripts\edt-import.ps1" `
  -Mode <mode> -Source "<path-on-CT107>" -ProjectName "<EDT_PROJECT_NAME>" `
  -PlatformVersion "<V8_VERSION>" -ServerVersion "<SERVER_SUFFIX>"
For dt mode with extensions add
-WithExtensions
. After import verify with
edt-mcp list_projects
.
EDT project name rules: Latin only, no Cyrillic, no spaces. Convention:
<ProjectName>_<ServerSuffix>
(e.g.
MyProject_25
).
询问用户: "Зарегистрировать проект в EDT на CT107?"
如果用户同意 — 确定导入模式:
  • 项目已存在包含1C XML的
    src/
    目录和
    .project
    文件 → 模式=
    project
  • 项目存在包含1C XML的
    src/
    目录但无
    .project
    文件 → 模式=
    xml
  • 仅存在
    .dt
    文件 → 模式=
    dt
运行命令:
powershell
powershell.exe -NoProfile -File "YOUR_KIT_ROOT\.claude\skills\1c-project-init\scripts\edt-import.ps1" `
  -Mode <mode> -Source "<path-on-CT107>" -ProjectName "<EDT_PROJECT_NAME>" `
  -PlatformVersion "<V8_VERSION>" -ServerVersion "<SERVER_SUFFIX>"
如果是dt模式且存在扩展,添加
-WithExtensions
参数。 导入完成后使用
edt-mcp list_projects
验证结果。
EDT项目名称规则: 仅使用拉丁字母,不可使用西里尔字母,不可包含空格。命名规范:
<ProjectName>_<ServerSuffix>
(例如
MyProject_25
)。

Enrich mode specifics

完善模式注意事项

Compare skill files by content hash — copy only if workspace version is newer or file missing in target. Always overwrite
.claude/docs/
(platform specs don't change per-project). Never overwrite:
CLAUDE.md
,
.mcp.json
,
.v8-project.json
,
openspec/
.
按内容哈希比较技能文件——仅当工作空间版本更新或者目标路径中缺少该文件时才复制。 始终覆盖
.claude/docs/
(平台规范不会随项目变化)。 永不覆盖以下文件/目录:
CLAUDE.md
.mcp.json
.v8-project.json
openspec/