Installation
Add WildwoodComponents to your project. The library is available for multiple platforms — choose your framework below.
Step 1: Add the Package
Install the WildwoodComponents NuGet package using the .NET CLI:
dotnet add package WildwoodComponents
Or add it directly to your .csproj file:
<ItemGroup>
<PackageReference Include="WildwoodComponents" Version="1.1.0" />
</ItemGroup>
Install the React SDK packages via npm or pnpm:
npm install @wildwood/core @wildwood/react
Or with pnpm:
pnpm add @wildwood/core @wildwood/react
The @wildwood/core package provides the API client and services. The @wildwood/react package provides React hooks and pre-built components.
Install the React Native SDK packages:
npm install @wildwood/core @wildwood/react-native
The @wildwood/react-native package provides native components using View, Text, and Pressable instead of HTML.
Install the Node.js SDK for server-side usage:
npm install @wildwood/core @wildwood/node
The @wildwood/node package provides Express middleware for JWT validation and API proxying. Express is an optional peer dependency.
Step 2: Setup
Static Assets
Add the theme stylesheet in your <head> and the JS interop before </body>:
<!-- In <head> -->
<link rel="stylesheet" href="_content/WildwoodComponents.Blazor/css/wildwood-themes.css" />
<!-- Before </body> -->
<script src="_content/WildwoodComponents.Blazor/js/wildwood-components.js"></script>
Namespace Imports
Add to your _Imports.razor:
@using WildwoodComponents.Blazor.Models
@using WildwoodComponents.Blazor.Services
@using WildwoodComponents.Blazor.Components.Base
@using WildwoodComponents.Blazor.Components.Authentication
@using WildwoodComponents.Blazor.Components.Registration
@using WildwoodComponents.Blazor.Components.Base if any pages reference
BaseWildwoodComponent or ComponentErrorEventArgs.
App Entry Point
Wrap your app with WildwoodProvider to initialize the SDK:
import { WildwoodProvider } from '@wildwood/react';
function App() {
return (
<WildwoodProvider config={{
baseUrl: 'https://api.example.com',
appId: 'your-app-id',
enableAutoTokenRefresh: true,
}}>
{/* Your routes and components */}
</WildwoodProvider>
);
}
Import components and hooks as needed:
import { useAuth, AuthenticationComponent } from '@wildwood/react';
import type { AuthenticationResponse } from '@wildwood/core';
App Entry Point
Wrap your app with WildwoodProvider:
import { WildwoodProvider } from '@wildwood/react-native';
function App() {
return (
<WildwoodProvider config={{
baseUrl: 'https://api.example.com',
appId: 'your-app-id',
enableAutoTokenRefresh: true,
storage: 'memory', // or pass AsyncStorage adapter
}}>
{/* Your screens */}
</WildwoodProvider>
);
}
Import hooks and components:
import { useAuth, useTheme } from '@wildwood/react-native';
Express Middleware Setup
Add the auth middleware to your Express app:
import express from 'express';
import { createAuthMiddleware, createProxyMiddleware } from '@wildwood/node';
const app = express();
// Validate JWT tokens on protected routes
const auth = createAuthMiddleware({
baseUrl: 'https://api.example.com',
apiKey: process.env.WILDWOOD_API_KEY,
});
app.use('/api', auth);
// Access validated user in route handlers
app.get('/api/profile', (req, res) => {
res.json(req.wildwoodUser);
});
--ww-* CSS custom property system.
Built-in themes include woodland-warm (default), cool-blue, and fall-colors.
In Blazor, set data-theme="cool-blue" on your body. In React, use the useTheme() hook.
Install via Claude Code Plugin
If you use Claude Code (Anthropic's CLI for Claude), you can install and integrate WildwoodComponents with a single slash command — no manual setup required. The plugin handles package installation, service registration, component wiring, and configuration automatically.
Step 1: Install the Plugin
Run this command in your terminal to add the Wildwood plugin to Claude Code:
# macOS/Linux
curl -fsSL https://raw.githubusercontent.com/WildwoodWorks/WildwoodComponents.Claude/master/install.sh | bash
# Windows PowerShell
irm https://raw.githubusercontent.com/WildwoodWorks/WildwoodComponents.Claude/master/install.ps1 | iex
Step 2: Integrate into Your Project
Navigate to your project directory and run:
/wildwood integrate
The skill will detect your project type (Blazor, React, React Native, or Node.js), install the correct packages, register services, add theme files, and wire up the provider — all in a single prompt.
Step 3: Deploy (Optional)
Deploy your app to Wildwood hosting at apps.wildwoodworks.io:
/wildwood deploy
The /wildwood Command
Everything is accessed through a single command. Just tell it what you need:
| Command | Description |
|---|---|
/wildwood setup |
Create account, connect MCP, configure your first app |
/wildwood integrate |
Add WildwoodComponents SDK to any project — auth, AI, messaging, payments |
/wildwood deploy |
Build and deploy your app to a hosting service |
/wildwood hosting |
Manage Wildwood-hosted app deployments |
/wildwood database |
Manage hosted Azure SQL databases |
/wildwood status |
Check platform health, app status, and usage |
For the full list of AI tools and universal prompts (compatible with GPT, Copilot, Cursor, and more), see AI Tools & Skills.
Verify the Installation
Build your project to verify everything is wired up correctly:
dotnet build
You should see a clean build with no errors related to WildwoodComponents. If you see missing type or namespace errors, double-check that:
- The package reference or project reference is in your
.csprojfile. - Your
_Imports.razorincludes the required@usingdirectives. - You have restored packages with
dotnet restore.
Run a TypeScript type check to verify everything is wired up correctly:
npx tsc --noEmit
You should see no type errors. If you see missing module errors, double-check that:
- Both
@wildwood/coreand your framework package are installed. - Your
tsconfig.jsonhas"moduleResolution": "bundler"or"node16". - You have run
npm installorpnpm install.
Next, you need to register the WildwoodComponents services in your dependency injection container. Head to Service Registration to continue.