alxjrvs / alxjrvs/Hermuz

EPIC: bring Hermuz onto the house toolchain baseline

未关闭
#20 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
TypeScript
星标
0
派生
0
平均合并
6 分钟
30 天内合并 PR
1

描述

Tracking issue. `Hermuz` has drifted behind the toolchain the other personal monorepos converged on — it is not a deliberate variant, just an earlier generation.

## Where it stands

| | Hermuz | house standard |
|---|---|---|
| Workspace layout | `packages/*` + `apps/*` ✅ | same |
| Runtime / PM | Bun ✅ | same |
| Lint | ESLint 9 (`config/eslint.js`) | Biome |
| Format | Prettier | Biome (same tool) |
| Git hooks | none | Lefthook |
| Dead code | none | knip |
| Version catalog | none | Bun `catalog:` |
| TypeScript | `^5.8.3` | `7.0.2` |
| Shared tsconfig | `tsconfig.base.json` ✅ | same |
| CI | one `ci:` job | filter → fan-out → `CI Success` gate |

The bones are right — Bun, the two-directory workspace split, a shared base tsconfig. It is the quality-gate layer that is missing.

## Gaps beyond tooling

Two things stand out reading the root `package.json`:

- **No `test` script and no `typecheck` script at the root.** Scripts are limited to `db:generate`, `db:migrate`, `lint` and `format`. There is a `run_tests.sh` at the repo root that is not wired into anything.
- **`remove-comments.js` sits at the repo root** with no reference from any script. Worth deleting or explaining.

Adding a root `typecheck` and `test` is a prerequisite for most of the rest, since CI and pre-push hooks have nothing to call otherwise.

## Suggested order

1. **Root `typecheck` and `test` scripts** fanning out with `bun run --filter '*'`, plus folding `run_tests.sh` into them or removing it
2. **ESLint + Prettier → Biome** — one mechanical reformat commit, separate from behavioural change
3. **CI: fan out and add the `CI Success` aggregate gate**, then make it the required check for `main`
4. **Lefthook** — staged-only Biome on pre-commit, typecheck + test on pre-push
5. **knip**
6. **Bun catalog** for shared versions (`typescript`, `@types/node`, `drizzle`, `discord.js`)
7. **TypeScript 5.8 → 7**

Step 7 is last deliberately — it is the one most likely to surface real errors, and it is much easier to land once CI is actually running.

## Worth confirming first

This repo has had less recent activity than the others. If it is dormant, the right scope may be just steps 1–3 (so CI catches regressions if work resumes) and closing the rest. Worth deciding before anyone starts on step 7.

贡献指南

这个仓库没有索引到贡献指南

调研方向

Begin with the root package.json, run_tests.sh, remove-comments.js, and config/eslint.js; first confirm whether the repository is dormant and decide whether the scope stops at steps 1–3. Done means the agreed toolchain scope is implemented in the listed order, with root test/typecheck entry points and the CI aggregate gate verified.

由索引模型根据 Issue 内容生成。

评估

技术栈
bun, typescript
领域
build-system, ci-cd, tooling
Issue 类型
重构
难度
5/5
预计耗时
一周以上
活跃度
冷清
描述清晰度
基本清楚
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。