Skip to content

feat(devbox): auto-init submodule and add upstream:sync script - #3

Merged
musichen merged 1 commit into
acryldev:mainfrom
levonk:feat/devbox-submodule-init
Sep 2, 2026
Merged

feat(devbox): auto-init submodule and add upstream:sync script#3
musichen merged 1 commit into
acryldev:mainfrom
levonk:feat/devbox-submodule-init

Conversation

@levonk

@levonk levonk commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Summary / 摘要

Add a guarded submodule init to the devbox.json init_hook so the pinned deepseek-harness checkout populates automatically on first devbox shell. Add a pnpm run upstream:sync script as the canonical submodule sync command, reachable with or without devbox. Update AGENTS.md, CONTRIBUTING.md, CONTRIBUTING.en.md, README.md, and README.en.md to reference corepack pnpm run upstream:sync instead of the raw git submodule update --init --recursive command.

The init_hook guard is [ -d deepseek-harness/.git ] || git submodule update --init --recursive — it populates the submodule once on first shell, then skips the git invocation on subsequent shells to keep them cheap. A devbox run sync-submodule script delegates to pnpm run upstream:sync for explicit sync-after-pin-move.

Related Issues / 关联 Issue

Resolves #2

Type / 类型

  • Bug fix / 问题修复
  • Feature / 新功能
  • Documentation / 文档
  • Release or packaging / 发布或打包
  • Tests only / 仅测试
  • Other / 其他

Platforms / 影响平台

  • Windows installer / Windows 安装包
  • Windows portable ZIP / Windows 便携版 ZIP
  • macOS Apple Silicon
  • macOS Intel
  • macOS Universal package / macOS 通用安装包
  • Linux
  • Not platform-specific / 与平台无关

Verification / 验证

  • corepack pnpm run check:layout — bilingual-docs verification passes (42 records, 84 documents consistent); README.i18n.yaml hashes updated to match new README blobs
  • corepack pnpm run typecheck
  • corepack pnpm run test
  • corepack pnpm run check
  • Platform package smoke / 平台打包或启动冒烟
  • Manual test / 人工测试 — node scripts/verify-bilingual-docs.mjs passes; node --test scripts/bilingual-docs.test.mjs passes (4/4)

Release Notes / 发布说明

Contributor experience improvement: new devbox.json with auto-init submodule guard, new pnpm run upstream:sync script. No user-visible application changes.

Add guarded submodule init to devbox init_hook so the pinned
deepseek-harness checkout populates automatically on first devbox shell.
Add upstream:sync pnpm script as the canonical submodule sync command,
reachable with or without devbox. Update AGENTS.md, CONTRIBUTING.md,
CONTRIBUTING.en.md, README.md, and README.en.md to reference
corepack pnpm run upstream:sync instead of raw git submodule update.

Resolves acryldev#2
@musichen

musichen commented Sep 2, 2026

Copy link
Copy Markdown
Member

Thanks for the solid contribution, @levonk! I reviewed this at a technical level and everything checks out:

devbox.json — Excellent DX improvement. The guarded init pattern is perfect: ensures submodules populate once on first shell, then stay cheap on subsequent invocations.

upstream:sync abstraction — Clean API design. Wrapping raw git commands in a pnpm script makes this discoverable, maintainable, and sets a pattern for future upstream operations.

Bilingual documentation — All updates consistent. Proper hash tracking in README.i18n.yaml shows you understand the bilingual maintenance contract here.

Zero breaking changes — Backward compatible throughout. Tests pass, verification gates clear.

This is exactly the kind of focused, well-executed first contribution that moves the project forward. Approved and merged.

Looking forward to more collaboration on ACRYL. Welcome aboard!

@musichen
musichen merged commit 4ecf271 into acryldev:main Sep 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add submodule auto-init to devbox hook and upstream:sync script

2 participants