ai-skills/skills/valdi-overview/skill.md
This is an open source project. Never commit secrets, API keys, or proprietary information.
Valdi uses TSX/JSX syntax but is fundamentally different from React.
Common AI mistakes:
useState, useEffect, useContext (don't exist!)this.props (should be this.viewModel)markNeedsRender(), onMount(), onUpdate() (wrong names/don't exist!)Correct Valdi:
class MyComponent extends StatefulComponentstate = {} + this.setState()this.viewModel for propsonCreate(), onViewModelUpdate(), onDestroy() lifecycleInstall Valdi skills for your AI tool to get context-specific guidance:
npm install -g @snap/valdi
valdi skills install
Skills available (valdi skills list):
| Skill | Coverage |
|---|---|
valdi-tsx | TSX component patterns, lifecycle, styling |
valdi-setup | Module BUILD.bazel, tsconfig, hot reload |
valdi-async | CancelablePromise, HTTPClient, lifecycle safety |
valdi-perf | ViewModel stability, createReusableCallback, Style interning |
valdi-component-tests | elementKeyFind, tapNodeWithKey, discriminated unions |
valdi-ios | Swift/ObjC platform bridging |
valdi-android | Kotlin platform bridging |
valdi-bazel | Build rules, platform builds |
valdi-compiler | Compiler pipeline internals |
valdi-cpp-runtime | C++ runtime and renderer |
valdi-polyglot-module | Cross-platform polyglot APIs, web polyglot entry pattern |
valdi-custom-view | Native view integration, viewFactory |
bazel build //... # Build everything
bazel test //... # Run all tests
valdi install ios # Build & install iOS app
valdi hotreload # Start hot reload
/AGENTS.md/docs/docs/ai-tooling.md/SUPPORT.md