HY2XS: target repo structure Цель Структура должна жёстко разделять builder, runtime package, fork UI, документацию и server-side install logic. Рекомендуемая структура project/ ├── README.md ├── docs/ │ ├── architecture/ │ ├── implementation/ │ └── operations/ ├── builder/ │ ├── build.sh │ ├── lib/ │ │ ├── common.sh │ │ ├── package.sh │ │ ├── ui.sh │ │ └── verify.sh │ ├── manifests/ │ │ └── package.manifest │ └── output/ ├── package/ │ ├── install.sh │ ├── orchestrator/ │ │ └── hy2xs-orchestrator │ ├── templates/ │ │ ├── hysteria/ │ │ ├── nftables/ │ │ └── env/ │ ├── systemd/ │ │ ├── hysteria-server.service │ │ └── hy2xs-admin.service │ ├── ui/ │ │ └── hy2xs-admin/ │ ├── docs/ │ └── metadata/ │ ├── package.version │ ├── package.build_id │ └── checksums.txt ├── orchestrator/ │ ├── package.json │ ├── bun.lock │ ├── tsconfig.json │ ├── src/ │ │ ├── cli.ts │ │ ├── commands/ │ │ │ └── install.ts │ │ ├── steps/ │ │ │ ├── preflight.ts │ │ │ ├── deps.ts │ │ │ ├── filesystem.ts │ │ │ ├── hysteria.ts │ │ │ ├── ui.ts │ │ │ ├── systemd.ts │ │ │ ├── firewall.ts │ │ │ ├── env.ts │ │ │ └── smoke.ts │ │ ├── lib/ │ │ └── types/ │ └── dist/ ├── ui/ │ └── hy2xs-admin-fork/ │ ├── upstream-base/ │ ├── app/ │ ├── assets/ │ ├── locales/ │ │ ├── ru/ │ │ └── en/ │ ├── branding/ │ ├── patches/ │ └── BUILD_NOTES.md ├── config/ │ └── hy2xs.env └── dist/ └── hy2xs-install-.tar.gz Что важно 1. builder/ и orchestrator/ разделены. 2. package/ — staging area и состав будущего install package. 3. orchestrator/ — исходники install-only оркестратора на Bun/TypeScript. 4. package/orchestrator/ — уже собранный install-артефакт, а не исходники для target-side build. 5. ui/hy2xs-admin-fork/ — постоянный исходник нашего форка. 6. dist/ — только финальные артефакты. Минимальная допустимая упрощённая структура Если хочешь не раздувать проект на старте, можно сократить до: - builder/ - orchestrator/ - package/ - ui/hy2xs-admin-fork/ - docs/ - dist/ Но логическое разделение всё равно должно сохраниться.