96 lines
3.2 KiB
Plaintext
96 lines
3.2 KiB
Plaintext
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-<version>.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/
|
|
Но логическое разделение всё равно должно сохраниться.
|