项目文件夹

文件
wehub-resource-sync 719032b19f
Update Schema / Update configuration json schema (push) Has been cancelled
Memory Benchmark / Memory Test (Full Analysis) (push) Has been cancelled
CI Quality / Lint GitHub Actions (actionlint) (push) Has been cancelled
CI Quality / Lint GitHub Actions (zizmor) (push) Has been cancelled
CI Quality / Check typos (push) Has been cancelled
CI / Test coverage (push) Has been cancelled
CI / Test (22.x, windows-latest) (push) Has been cancelled
CI / Test (24.x, macos-latest) (push) Has been cancelled
CI / Test (24.x, ubuntu-latest) (push) Has been cancelled
CI / Test (24.x, windows-latest) (push) Has been cancelled
CI / Test (26.x, macos-latest) (push) Has been cancelled
CI / Test (26.x, ubuntu-latest) (push) Has been cancelled
CI / Test (26.x, windows-latest) (push) Has been cancelled
CI / Test with Bun (latest, macos-latest) (push) Has been cancelled
CI / Test with Bun (latest, ubuntu-latest) (push) Has been cancelled
CI / Test with Bun (latest, windows-latest) (push) Has been cancelled
CI / Build and run (22.x, macos-latest) (push) Has been cancelled
CI / Build and run (22.x, ubuntu-latest) (push) Has been cancelled
CI / Build and run (22.x, windows-latest) (push) Has been cancelled
autofix.ci / autofix (push) Has been cancelled
CI Browser Extension / Lint Browser Extension (push) Has been cancelled
CI Browser Extension / Test Browser Extension (push) Has been cancelled
Memory Benchmark / Memory Test (push) Has been cancelled
CI Website / Lint Website Client (push) Has been cancelled
CI Website / Lint Website Server (push) Has been cancelled
CI Website / Test Website Server (push) Has been cancelled
CI Website / Bundle Website Server (push) Has been cancelled
CI / Lint Biome (push) Has been cancelled
CI / Lint oxlint (push) Has been cancelled
CI / Lint TypeScript (push) Has been cancelled
CI / Lint Secretlint (push) Has been cancelled
CI / Test (22.x, macos-latest) (push) Has been cancelled
CI / Test (22.x, ubuntu-latest) (push) Has been cancelled
CI / Build and run (24.x, macos-latest) (push) Has been cancelled
CI / Build and run (24.x, ubuntu-latest) (push) Has been cancelled
CI / Build and run (24.x, windows-latest) (push) Has been cancelled
CI / Build and run (26.x, macos-latest) (push) Has been cancelled
CI / Build and run (26.x, ubuntu-latest) (push) Has been cancelled
CI / Build and run (26.x, windows-latest) (push) Has been cancelled
CI / Build and run with Bun (latest, macos-latest) (push) Has been cancelled
CI / Build and run with Bun (latest, ubuntu-latest) (push) Has been cancelled
CI / Build and run with Bun (latest, windows-latest) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
Docker / build (linux/amd64, ubuntu-latest) (push) Has been cancelled
Docker / build (linux/arm/v7, ubuntu-24.04-arm) (push) Has been cancelled
Docker / build (linux/arm64, ubuntu-24.04-arm) (push) Has been cancelled
Docker / merge (push) Has been cancelled
Pack repository with Repomix / pack-repo (push) Has been cancelled
Performance Benchmark History / Benchmark (macos-latest) (push) Has been cancelled
Performance Benchmark History / Benchmark (ubuntu-latest) (push) Has been cancelled
Performance Benchmark History / Benchmark (windows-latest) (push) Has been cancelled
Performance Benchmark History / Store Results (push) Has been cancelled
Test Repomix Action / Test Node.js 22 (push) Has been cancelled
Test Repomix Action / Test Node.js 24 (push) Has been cancelled
Test Repomix Action / Test Node.js 26 (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:39:37 +08:00

3.5 KiB

description, alwaysApply
description alwaysApply
Core project guidelines for the Repomix codebase. Apply these rules when working on any code, documentation, or configuration files within the Repomix project. true

Repomix

A tool that packs repository contents into a single AI-friendly file. Supports XML, Markdown, JSON, and plain text output formats.

Refer to README.md for full project overview and CONTRIBUTING.md for contribution procedures.

Repository Layout

  • src/ — main source code (cli/, config/, core/, shared/). Feature-based structure; avoid dependencies between features
  • tests/ — mirrors the src/ directory structure
  • website/ — documentation website (VitePress); docs live in 15 language directories (en + 14 translated locales) under website/client/src/
  • browser/ — browser extension

Coding Guidelines

  • Follow the project's coding standards enforced by Biome (biome.json)
  • Keep each file focused on a single responsibility. Treat ~250 lines as a signal to review a file's cohesion, not a mandate to split: split when the file mixes multiple responsibilities, but leave it as-is when the length comes from one cohesive concern (e.g. large data/config tables)
  • Add comments in English where non-obvious logic exists
  • Provide corresponding unit tests for new features
  • Verify changes by running:
    npm run lint  # Ensure code style compliance
    npm run test  # Verify all tests pass
    

Non-Obvious Rules and Pitfalls

  • The config JSON schema under website/client/src/public/schemas/ is generated (npm run website-generate-schema; CI regenerates it after merges to main). Never edit it by hand.
  • User-facing option or feature changes must update the docs in all 15 language directories under website/client/src/, not just en.
  • Root npm run lint does not typecheck the website client. When changing website/client, verify with npm run docs:build in that directory.
  • The VitePress build does not validate in-page anchor links; when renaming a heading, search the docs for links to its old anchor.
  • GitHub Actions steps must be pinned to full commit SHAs with a version comment (e.g. uses: actions/checkout@<sha> # v7.0.0); pinact and zizmor enforce this in CI.

Commit Messages

Follow Conventional Commits with scope: type(scope): Description (e.g. feat(cli): Add new --no-progress flag)

  • Scope: affected area (cli, core, website, security, etc.)
  • Description: clear, concise present tense starting with a capital letter
  • Commit body: follow the contextual-commit skill (.claude/skills/contextual-commit/SKILL.md)

Pull Request Guidelines

  • Follow the template at .github/pull_request_template.md
  • Include a clear summary of changes at the top
  • Reference related issues using #issue-number
  • Combine small, related changes in the same area into one PR rather than splitting them

Dependencies and Testing

Inject dependencies through a deps object parameter for testability:

export const functionName = async (
  param1: Type1,
  param2: Type2,
  deps = {
    defaultFunction1,
    defaultFunction2,
  }
) => {
  // Use deps.defaultFunction1() instead of direct call
};
  • Mock dependencies by passing test doubles through the deps object
  • Use vi.mock() only when dependency injection is not feasible

Output Generation

  • Include all content without abbreviation, unless specified otherwise
  • Optimize for handling large codebases while maintaining output quality