Skip to content

Development and Testing

exzile edited this page May 20, 2026 · 2 revisions

Development and Testing

This page summarizes the repository structure and day-to-day development commands.

Cindr3D design workspace

Common Developer Loop

Phase Command
Install npm install
Run locally npm run dev
Type check npm run typecheck
Lint npm run lint
Test once npm run test:run
Build npm run build

Project Layout

src/
  assets/              UI and app assets
  components/          React components
  hooks/               React hooks
  lib/                 Shared runtime logic
  mcp/                 Local MCP bridge and tool definitions
  store/               Zustand stores and slices
  test/                Vitest integration and behavior tests
  types/               Shared TypeScript types
  utils/               Project IO and shared helpers

public/
  fonts/               Runtime font assets

wasm/
  dist/                Tracked WASM runtime artifacts

scripts/
  cindr3d-updater.mjs
  install-orangepi-updater.sh
  check-wasm-budget.mjs
  verify-wasm-build.mjs

Ignored local/private folders include gcodes/, .claude/, .codex/, memory/, .gitnexus/, obj/, node_modules/, and dist/.

Scripts

Command Purpose
npm run dev Start Vite dev server
npm run dev:fresh Clear Vite cache and start dev server
npm run build Type-check and build production files
npm run lint Run ESLint
npm run typecheck Run TypeScript project checks
npm run test:run Run Vitest once
npm run verify Type-check and run tests
npm run check:wasm-budget Check WASM bundle budget
npm run verify:wasm-build Verify WASM build artifacts

Recommended Checks

Before submitting code:

npm run typecheck
npm run lint
npm run test:run
npm run build

For faster local iteration:

npm run typecheck
npm run lint

GitNexus Code Intelligence

The repository includes GitNexus guidance in AGENTS.md and CLAUDE.md.

Useful commands:

npm run graph:analyze
npm run graph:list
npm run graph:serve

When changing functions, classes, or methods, follow the GitNexus impact-analysis workflow from AGENTS.md before editing symbols and run change detection before committing.

Clone this wiki locally