Skip to content

ci: adopt org Node baseline (lint+typecheck+test+build) + secret-scan#4

Merged
kazukinakai merged 3 commits into
mainfrom
ci/adopt-baseline
Jun 17, 2026
Merged

ci: adopt org Node baseline (lint+typecheck+test+build) + secret-scan#4
kazukinakai merged 3 commits into
mainfrom
ci/adopt-baseline

Conversation

@kazukinakai

Copy link
Copy Markdown
Member

Adopt the org opinionated baseline reusable. Logic in agiletec-inc/.github. Required checks: secret-scan / scan, ci / ci.

kazukinakai and others added 3 commits June 11, 2026 15:18
…alues

- pnpm-lock.yaml resynced (ERR_PNPM_OUTDATED_LOCKFILE vs airiscode-core).
- .gitleaks.toml allowlists the upstream Gemini/Qwen public OAuth client secret
  (installed-app credential, not confidential) + a sanitizer test fixture.
- caller keeps the turbo-scoped gate (run-command) until the dormant Layer 2
  packages are removed; full baseline deferred.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Every workspace package shipped a "lint": "eslint ..." script, but eslint
was never installed anywhere in this fork (no devDependency, absent from
the lockfile) and the leftover root .eslintrc.json never actually ran.
The org standard linter is Biome, so adopt it to match the agiletec repo.

- Add @biomejs/biome to root devDependencies (no pnpm catalog here, pinned).
- Add biome.json replicating agiletec's curated ruleset
  (recommended:false + error-level rules), formatter, and vcs blocks.
- Replace "eslint ..." with "biome check ." in all 20 package lint scripts
  (packages/gemini-core left as its echo no-op, per design).
- Remove the orphaned .eslintrc.json.
- Apply `biome check --write` (formatting + safe fixes) and fix the residual
  real violations: unused catch bindings, escape/shadowed-global renames,
  redundant test non-null assertions, a placeholder async generator, and a
  generic-T cast where biome's Object.hasOwn safe-fix outran tsc.

Rules tuned for inherited Qwen-fork code (for reviewers):
- noControlCharactersInRegex: off — terminal/ANSI handling intentionally
  matches control chars (every hit carried an eslint-disable no-control-regex).
- noUndeclaredVariables: off — redundant with tsc and misfires on TS type
  references; mirrors agiletec's TypeScript override.
- noExplicitAny / noEmptyBlockStatements: warn — too noisy to gate on now
  across the fork; kept visible as warnings for later cleanup.
@kazukinakai kazukinakai merged commit d2995d6 into main Jun 17, 2026
1 of 2 checks passed
@kazukinakai kazukinakai deleted the ci/adopt-baseline branch June 17, 2026 22:47
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.

1 participant