Root
Root Module
The Root module contains monorepo-wide configuration files that establish the development environment, tooling setup, and workspace structure for the Conflux DevKit repository. It does not contain application logic but provides shared configuration for all packages.
Configuration Files
biome.json
Configures the Biome formatter and linter:
- Extends shared configuration from
./repos/cfx-config/packages/biome-config/biome.json - Enables Tailwind CSS directive parsing in the CSS parser
knip.config.ts
Defines unused dependency and dead code detection rules:
- Specifies global dependencies that Knip cannot detect statically (used via Biome/TSConfig extends, PostCSS/Tailwind, Vite, Drizzle CLI, dynamic imports)
- Configures per-workspace rules:
- Core packages (
repos/cfx-core/*): Entry points atsrc/index.tsandsrc/bin/**/*.ts - UI packages (
repos/cfx-ui/*): Includes TSX files and bin scripts - Example applications: Defines entry points for frontend apps (
src/main.ts,src/main.tsx,app/page.tsx) - Ignores build artifacts, config files, and tooling directories
- Core packages (
- Disables duplicate detection rules
package.json
Root package manifest defining monorepo scripts and dependencies:
- Scripts:
- Build/test/lint: Uses Moonrepo for concurrent execution (
moon run :<task> --concurrency N) - Architecture checks: Runs
arch-checktasks for hotspots, secrets, CI config, etc. - Documentation: Tooling commands for API docs, READMEs, structure generation
- Development: DevNode setup, showcase apps, local CA trust, Caddy server
- LLM integration: Agent commands for exploratory/deterministic tasks
- Build/test/lint: Uses Moonrepo for concurrent execution (
- Dependencies:
- Dev tools: Biome, Changesets, Moonrepo, Gitnexus, Knip, TypeScript, Vite, Vitest
- PNPM overrides: Specific versions for transports, HTTP clients, React types, ESBuild, etc.
- Engines: Requires Node ≥24.15.0 and PNPM ≥10.0.0
pnpm-workspace.yaml
Defines the monorepo workspace structure:
- Includes packages from:
- Configuration:
repos/cfx-config/packages/* - Meta:
repos/cfx-meta/packages/* - All repos:
repos/*/packages/* - CFX Tools: Devtools, infra, templates subdirectories
- Projects: Apps and packages under
projects/*/ - Contracts:
projects/*/contracts
- Configuration:
- Excludes tooling and build directories implicitly via package.json ignore rules
tsconfig.base.json
Base TypeScript configuration:
- Extends shared config from
./repos/cfx-config/packages/tsconfig/base.json - Establishes path aliases for core packages:
@cfxdevkit/core→./repos/cfx-core/packages/core/src/index.ts@cfxdevkit/protocol→./repos/cfx-core/packages/protocol/src/index.ts@cfxdevkit/executor→./repos/cfx-core/packages/executor/src/index.ts@cfxdevkit/devnode→./repos/cfx-core/packages/devnode/src/index.ts@cfxdevkit/testing→./repos/cfx-core/packages/testing/src/index.ts
Last updated on