openpencil/packages/docs/it/development/contributing.md

1.6 KiB

Contribuire

Struttura del progetto

packages/
  core/              @open-pencil/core — Engine
  cli/               @open-pencil/cli — Headless CLI
  mcp/               @open-pencil/mcp — MCP server
  docs/              @open-pencil/docs — VitePress
src/
  components/        Vue SFCs
  composables/       Canvas input, shortcuts, rendering
  stores/            Editor state
desktop/             Tauri v2
tests/
  e2e/               Playwright
  engine/            bun:test
openspec/            Specs + changes

Ambiente di sviluppo

bun install
bun run dev          # Editor: localhost:1420
bun run docs:dev     # Docs: localhost:5173

Stile del codice

Strumenti

Tool Command Purpose
oxlint bun run lint Linting
oxfmt bun run format Formatting
tsgo bun run typecheck Type checking
bun run check

Convenzioni

  • kebab-case (files), PascalCase (components/types), camelCase (functions), SCREAMING_SNAKE_CASE (constants)
  • AGENTS.md — GitHub

Apportare modifiche

  1. OpenSpec specs
  2. openspec new change "name"
  3. bun run check && bun run test
  4. Pull request

File principali

File Purpose
packages/core/src/scene-graph.ts Scene graph
packages/core/src/renderer.ts CanvasKit rendering
packages/core/src/layout.ts Yoga layout
packages/core/src/kiwi/codec.ts Kiwi codec
packages/cli/src/commands/ CLI commands
src/stores/editor.ts Editor state