= {
prevDoc: undefined,
nextDoc: { slug: 'quickstart', name: 'Quickstart Guide' },
content: `
-## Welcome to AeThex
-
-AeThex is the infrastructure layer for the metaverse. We provide the foundational tools, APIs, and services that developers need to build persistent, cross-platform digital experiences.
-
-### The Trinity Architecture
-
-AeThex is organized into three divisions, each serving a distinct purpose:
-
-**🔴 Foundation** — The nonprofit backbone maintaining authentication, security, and core open-source APIs. This is the critical infrastructure that the entire ecosystem depends on.
-
-**🔵 Corporation** — The commercial division delivering polished products and enterprise-grade infrastructure to developers and players worldwide.
-
-**🟡 Labs** — The innovation division pushing boundaries with experimental features, beta technologies, and next-generation R&D.
-
-### Core Principles
-
-1. **Security First** — Every system is built with security as a foundational requirement, not an afterthought.
-2. **Open Standards** — We embrace and contribute to open protocols and standards.
-3. **Developer Experience** — APIs and tools are designed to be intuitive and well-documented.
-4. **Cross-Platform** — Build once, deploy everywhere across games, devices, and platforms.
-
-### What You Can Build
-
-- **Games** — Multiplayer games with real-time networking, matchmaking, and persistence
-- **Virtual Worlds** — Persistent environments with user-generated content
-- **Social Platforms** — Communities with identity, friends, and messaging
-- **Digital Economies** — Marketplaces with assets, trading, and commerce
-
-### Next Steps
-
-Ready to dive in? Start with the [Quickstart Guide](/docs/quickstart) to get your first project running in under 10 minutes.
+ Welcome to AeThex
+ AeThex is the infrastructure layer for the metaverse. We provide the foundational tools, APIs, and services that developers need to build persistent, cross-platform digital experiences.
+
+ The Trinity Architecture
+ AeThex is organized into three divisions, each serving a distinct purpose:
+
+ 🔴 Foundation — The nonprofit backbone maintaining authentication, security, and core open-source APIs.
+ 🔵 Corporation — The commercial division delivering polished products and enterprise-grade infrastructure.
+ 🟡 Labs — The innovation division pushing boundaries with experimental features and next-gen R&D.
+
+
+ Core Principles
+
+ Security First — Every system is built with security as a foundational requirement.
+ Open Standards — We embrace and contribute to open protocols and standards.
+ Developer Experience — APIs and tools are designed to be intuitive and well-documented.
+ Cross-Platform — Build once, deploy everywhere across games, devices, and platforms.
+
+
+ What You Can Build
+
+ Games — Multiplayer games with real-time networking, matchmaking, and persistence
+ Virtual Worlds — Persistent environments with user-generated content
+ Social Platforms — Communities with identity, friends, and messaging
+ Digital Economies — Marketplaces with assets, trading, and commerce
+
+
+ Next Steps
+ Ready to dive in? Start with the Quickstart Guide to get your first project running in under 10 minutes.
`
},
'quickstart': {
@@ -66,88 +61,57 @@ Ready to dive in? Start with the [Quickstart Guide](/docs/quickstart) to get you
prevDoc: { slug: 'introduction', name: 'Introduction' },
nextDoc: { slug: 'architecture', name: 'Architecture Overview' },
content: `
-## Quickstart Guide
-
-Get your first AeThex project running in under 10 minutes.
-
-### Prerequisites
-
-- Node.js 18+ or Python 3.9+
-- An AeThex account ([sign up free](https://aethex.us/contribute))
-- A code editor (VS Code recommended)
-
-### Step 1: Install the SDK
-
-\`\`\`bash
-# Using npm
+ Quickstart Guide
+ Get your first AeThex project running in under 10 minutes.
+
+ Prerequisites
+
+ Node.js 18+ or Python 3.9+
+ An AeThex account (sign up free )
+ A code editor (VS Code recommended)
+
+
+ Step 1: Install the SDK
+ # Using npm
npm install @aethex/sdk
# Using yarn
yarn add @aethex/sdk
# Using Python
-pip install aethex
-\`\`\`
-
-### Step 2: Initialize the Client
-
-\`\`\`javascript
-import { AeThex } from '@aethex/sdk';
+pip install aethex
+
+ Step 2: Initialize the Client
+ import { AeThex } from '@aethex/sdk';
const aethex = new AeThex({
projectId: 'your-project-id',
apiKey: 'your-api-key'
-});
-\`\`\`
-
-### Step 3: Authenticate a User
-
-\`\`\`javascript
-// Using email/password
-const user = await aethex.auth.login({
- email: 'user@example.com',
- password: 'secure-password'
+});
+
+ Step 3: Authenticate a User
+ // Start OAuth flow
+const session = await aethex.auth.signIn({
+ provider: 'google' // or 'discord', 'github', etc.
});
-// Using OAuth
-const user = await aethex.auth.loginWithOAuth('google');
+console.log('Welcome,', session.user.name);
+
+ Step 4: Make Your First API Call
+ // Get user profile
+const profile = await aethex.identity.getProfile();
-console.log('Welcome,', user.profile.displayName);
-\`\`\`
-
-### Step 4: Make Your First API Call
-
-\`\`\`javascript
-// Get user profile
-const profile = await aethex.users.getProfile();
-
-// Update profile
-await aethex.users.updateProfile({
- displayName: 'New Name',
- avatar: 'https://example.com/avatar.png'
-});
-\`\`\`
-
-### Step 5: Real-Time Events
-
-\`\`\`javascript
-// Subscribe to real-time updates
-aethex.realtime.subscribe('user:online', (event) => {
- console.log('User came online:', event.userId);
-});
-
-// Send a real-time event
-aethex.realtime.emit('game:action', {
- action: 'move',
- position: { x: 10, y: 20 }
-});
-\`\`\`
-
-### What's Next?
-
-- Explore the [Architecture Overview](/docs/architecture) to understand how AeThex works
-- Set up [Authentication](/docs/authentication) for your app
-- Dive into the [Identity API](/docs/identity-api) reference
+// Update display name
+await aethex.identity.update({
+ displayName: 'NewPlayer123'
+});
+
+ Next Steps
+
`
},
'architecture': {
@@ -157,695 +121,448 @@ aethex.realtime.emit('game:action', {
time: '8 min read',
description: 'Understanding the Trinity structure',
prevDoc: { slug: 'quickstart', name: 'Quickstart Guide' },
- nextDoc: { slug: 'authentication', name: 'Authentication Setup' },
+ nextDoc: { slug: 'authentication', name: 'Authentication' },
content: `
-## Architecture Overview
-
-Understanding how AeThex is structured will help you make better decisions when building your applications.
-
-### The Trinity Model
-
-\`\`\`
-┌─────────────┐ ┌─────────────┐ ┌─────────────┐
-│ Labs │ ──▶ │ Foundation │ ──▶ │ Corporation │
-│ (R&D) │ │ (Validate) │ │ (Production)│
-└─────────────┘ └─────────────┘ └─────────────┘
-\`\`\`
-
-1. **Labs** creates breakthrough technology and experimental features
-2. **Foundation** validates, secures, and open-sources stable components
-3. **Corporation** delivers production-ready products with enterprise support
-
-### Core Services
-
-| Service | Description | Division |
-|---------|-------------|----------|
-| Passport | Identity & authentication | Foundation |
-| Shield | Security infrastructure | Foundation |
-| Nexus | API gateway | Foundation |
-| Studio | Development IDE | Corporation |
-| Cloud | Hosting & deployment | Corporation |
-| Forge | Game development tools | Labs |
-
-### Data Flow
-
-\`\`\`
-Client App
- │
- ▼
-┌─────────────────────────────────┐
-│ API Gateway (Nexus) │
-│ - Rate limiting │
-│ - Authentication │
-│ - Request routing │
-└─────────────────────────────────┘
- │
- ├──▶ Identity Service (Passport)
- ├──▶ Asset Service
- ├──▶ Events Service
- └──▶ Analytics Service
-\`\`\`
-
-### Security Layers
-
-1. **Transport** — TLS 1.3 encryption for all connections
-2. **Authentication** — OAuth 2.0 / OIDC with MFA support
-3. **Authorization** — Role-based access control (RBAC)
-4. **Data** — AES-256 encryption at rest
-
-### Scaling
-
-AeThex is designed to scale horizontally:
-
-- **Edge nodes** in 50+ locations worldwide
-- **Auto-scaling** based on demand
-- **Global CDN** for static assets
-- **Distributed databases** with eventual consistency
+ Architecture Overview
+ Understanding how AeThex is structured will help you make better decisions when building your applications.
+
+ The Trinity Model
+
+
LabsR&D
+
→
+
FoundationValidate
+
→
+
CorporationProduction
+
+
+
+ Labs creates breakthrough technology and experimental features
+ Foundation validates, secures, and open-sources stable components
+ Corporation delivers production-ready products with enterprise support
+
+
+ Core Services
+
+
+ Service Description Division
+
+
+ Passport Identity & authentication Foundation
+ Shield Security infrastructure Foundation
+ Nexus API gateway Foundation
+ Studio Development IDE Corporation
+ Cloud Hosting & deployment Corporation
+ GameForge Game development toolkit Labs
+
+
+
+ Data Flow
+ All requests flow through the following pipeline:
+
+ Client SDK — Your application makes a request
+ Edge Network — Global CDN routes to nearest region
+ API Gateway — Authentication and rate limiting
+ Service Mesh — Request routed to appropriate microservice
+ Response — Data returned through the same path
+
`
},
'authentication': {
- title: 'Authentication Setup',
+ title: 'Authentication',
category: 'Getting Started',
categoryColor: '#6cf',
time: '12 min read',
- description: 'Implement SSO and identity verification',
+ description: 'User authentication and session management',
prevDoc: { slug: 'architecture', name: 'Architecture Overview' },
nextDoc: { slug: 'identity-api', name: 'Identity API' },
content: `
-## Authentication Setup
+ Authentication
+ AeThex Passport provides secure, universal authentication across all your applications.
+
+ Supported Providers
+
+ OAuth 2.0 — Google, Discord, GitHub, Twitter, Steam
+ Email/Password — Traditional authentication with MFA support
+ Wallet — Ethereum, Solana, and other blockchain wallets
+ SSO — Enterprise single sign-on (SAML, OIDC)
+
+
+ Basic Authentication
+ // Initialize auth
+const auth = aethex.auth;
-Implement secure authentication in your AeThex application.
-
-### Authentication Methods
-
-AeThex supports multiple authentication methods:
-
-- **Email/Password** — Traditional credentials
-- **OAuth 2.0** — Google, Discord, GitHub, Twitter
-- **Passkeys** — Biometric and hardware keys
-- **SSO** — Enterprise single sign-on
-
-### Basic Email Authentication
-
-\`\`\`javascript
-import { AeThex } from '@aethex/sdk';
-
-const aethex = new AeThex({ projectId: 'your-project' });
-
-// Sign up a new user
-const newUser = await aethex.auth.signUp({
- email: 'user@example.com',
- password: 'secure-password-123',
- displayName: 'New User'
+// Sign in with OAuth
+const session = await auth.signIn({
+ provider: 'discord',
+ scopes: ['identity', 'email']
});
-// Sign in existing user
-const user = await aethex.auth.signIn({
- email: 'user@example.com',
- password: 'secure-password-123'
-});
+// Check auth state
+if (auth.isAuthenticated) {
+ console.log('User:', auth.user.id);
+}
+
+ Session Management
+ // Get current session
+const session = await auth.getSession();
+
+// Refresh token
+await auth.refreshToken();
// Sign out
-await aethex.auth.signOut();
-\`\`\`
-
-### OAuth Authentication
-
-\`\`\`javascript
-// Redirect to OAuth provider
-await aethex.auth.loginWithOAuth('google');
-
-// Handle OAuth callback
-const user = await aethex.auth.handleOAuthCallback();
-\`\`\`
-
-### Session Management
-
-\`\`\`javascript
-// Get current session
-const session = await aethex.auth.getSession();
-
-// Refresh session
-const newSession = await aethex.auth.refreshSession();
-
-// Check if authenticated
-if (await aethex.auth.isAuthenticated()) {
- // User is logged in
-}
-\`\`\`
-
-### Multi-Factor Authentication
-
-\`\`\`javascript
-// Enable MFA
-const mfaSecret = await aethex.auth.enableMFA();
+await auth.signOut();
+
+ Multi-Factor Authentication
+ // Enable MFA
+await auth.mfa.enable({
+ method: 'totp' // or 'sms', 'email'
+});
// Verify MFA code
-await aethex.auth.verifyMFA({
+await auth.mfa.verify({
code: '123456'
-});
-\`\`\`
-
-### Security Best Practices
-
-1. **Always use HTTPS** in production
-2. **Implement rate limiting** on auth endpoints
-3. **Store tokens securely** (HttpOnly cookies recommended)
-4. **Enable MFA** for sensitive operations
-5. **Monitor for suspicious activity** using our analytics
+});
`
},
'identity-api': {
title: 'Identity API',
category: 'Core APIs',
- categoryColor: '#ff4d4d',
+ categoryColor: '#0f0',
time: '15 min read',
- description: 'User authentication and profile management',
- prevDoc: { slug: 'authentication', name: 'Authentication Setup' },
+ description: 'User profiles, friends, and presence',
+ prevDoc: { slug: 'authentication', name: 'Authentication' },
nextDoc: { slug: 'asset-api', name: 'Asset API' },
content: `
-## Identity API
+ Identity API
+ Manage user profiles, social connections, and online presence.
+
+ User Profiles
+ // Get current user profile
+const profile = await aethex.identity.getProfile();
-The Identity API provides comprehensive user management, authentication, and profile functionality.
-
-### Base URL
-
-\`\`\`
-https://api.aethex.us/v1/identity
-\`\`\`
-
-### Authentication
-
-All requests require a valid API key or user token:
-
-\`\`\`bash
-Authorization: Bearer
-X-API-Key:
-\`\`\`
-
-### Endpoints
-
-#### Get Current User
-
-\`\`\`http
-GET /v1/identity/me
-\`\`\`
-
-**Response:**
-\`\`\`json
-{
- "id": "usr_abc123",
- "email": "user@example.com",
- "displayName": "John Doe",
- "avatar": "https://cdn.aethex.us/avatars/abc123.png",
- "createdAt": "2025-01-15T10:30:00Z",
- "roles": ["user", "developer"]
-}
-\`\`\`
-
-#### Update Profile
-
-\`\`\`http
-PATCH /v1/identity/me
-Content-Type: application/json
-
-{
- "displayName": "New Name",
- "bio": "Game developer and metaverse enthusiast"
-}
-\`\`\`
-
-#### Get User by ID
-
-\`\`\`http
-GET /v1/identity/users/:userId
-\`\`\`
-
-#### Search Users
-
-\`\`\`http
-GET /v1/identity/users/search?q=john&limit=10
-\`\`\`
-
-### SDK Usage
-
-\`\`\`javascript
-// Get current user
-const me = await aethex.identity.me();
+// Get another user's profile
+const user = await aethex.identity.getUser('user_abc123');
// Update profile
-await aethex.identity.updateProfile({
- displayName: 'New Name',
- avatar: 'https://example.com/avatar.png'
+await aethex.identity.update({
+ displayName: 'CoolPlayer42',
+ avatar: 'https://...',
+ bio: 'Gaming enthusiast'
+});
+
+ Friends System
+ // Send friend request
+await aethex.identity.friends.request('user_xyz');
+
+// Accept friend request
+await aethex.identity.friends.accept('request_id');
+
+// Get friends list
+const friends = await aethex.identity.friends.list();
+
+// Remove friend
+await aethex.identity.friends.remove('user_xyz');
+
+ Presence
+ // Set online status
+await aethex.identity.presence.set({
+ status: 'online', // 'online', 'away', 'dnd', 'offline'
+ activity: 'Playing GameForge'
});
-// Get another user
-const user = await aethex.identity.getUser('usr_abc123');
-
-// Search users
-const results = await aethex.identity.search('john', { limit: 10 });
-\`\`\`
-
-### Webhooks
-
-Subscribe to identity events:
-
-- \`user.created\` — New user registration
-- \`user.updated\` — Profile changes
-- \`user.deleted\` — Account deletion
-- \`user.login\` — Successful authentication
+// Subscribe to friend presence
+aethex.identity.presence.subscribe((updates) => {
+ updates.forEach(u => {
+ console.log(\`\${u.userId} is now \${u.status}\`);
+ });
+});
`
},
'asset-api': {
title: 'Asset API',
category: 'Core APIs',
- categoryColor: '#ff4d4d',
+ categoryColor: '#0f0',
time: '12 min read',
- description: 'Digital asset creation and management',
+ description: 'Digital assets and inventory management',
prevDoc: { slug: 'identity-api', name: 'Identity API' },
nextDoc: { slug: 'events-api', name: 'Events API' },
content: `
-## Asset API
-
-Create, manage, and trade digital assets in the AeThex ecosystem.
-
-### Asset Types
-
-- **NFTs** — Unique digital collectibles
-- **Tokens** — Fungible currencies and points
-- **Items** — Game items and equipment
-- **Avatars** — 3D character models
-
-### Create an Asset
-
-\`\`\`javascript
-const asset = await aethex.assets.create({
- type: 'item',
+ Asset API
+ Create, manage, and transfer digital assets across your applications.
+
+ Asset Types
+
+ Fungible — Currencies, points, tokens
+ Non-Fungible — Unique items, collectibles, characters
+ Semi-Fungible — Stackable items with shared properties
+
+
+ Creating Assets
+ // Create an asset definition
+const sword = await aethex.assets.create({
name: 'Legendary Sword',
- description: 'A powerful weapon forged in dragon fire',
- image: 'https://cdn.example.com/sword.png',
+ type: 'non-fungible',
attributes: {
- damage: 150,
+ damage: 100,
rarity: 'legendary',
element: 'fire'
},
- maxSupply: 100
-});
-\`\`\`
+ metadata: {
+ image: 'https://...',
+ description: 'A powerful blade forged in dragon fire'
+ }
+});
+
+ Inventory Management
+ // Get user inventory
+const inventory = await aethex.assets.getInventory();
-### Query Assets
-
-\`\`\`javascript
-// Get user's assets
-const myAssets = await aethex.assets.list({
- owner: 'me',
- type: 'item'
-});
-
-// Get specific asset
-const asset = await aethex.assets.get('ast_xyz789');
-
-// Search assets
-const results = await aethex.assets.search({
- query: 'sword',
- rarity: 'legendary'
-});
-\`\`\`
-
-### Transfer Assets
-
-\`\`\`javascript
-await aethex.assets.transfer({
- assetId: 'ast_xyz789',
- to: 'usr_recipient123',
+// Grant asset to user
+await aethex.assets.grant({
+ userId: 'user_abc',
+ assetId: 'sword_legendary_001',
quantity: 1
});
-\`\`\`
-### Asset Metadata
-
-\`\`\`json
-{
- "id": "ast_xyz789",
- "type": "item",
- "name": "Legendary Sword",
- "owner": "usr_abc123",
- "attributes": {
- "damage": 150,
- "rarity": "legendary"
- },
- "supply": {
- "current": 45,
- "max": 100
- },
- "createdAt": "2025-02-01T12:00:00Z"
-}
-\`\`\`
+// Transfer between users
+await aethex.assets.transfer({
+ from: 'user_abc',
+ to: 'user_xyz',
+ assetId: 'sword_legendary_001'
+});
`
},
'events-api': {
title: 'Events API',
category: 'Core APIs',
- categoryColor: '#ff4d4d',
+ categoryColor: '#0f0',
time: '10 min read',
- description: 'Real-time event streaming and webhooks',
+ description: 'Real-time events and messaging',
prevDoc: { slug: 'asset-api', name: 'Asset API' },
nextDoc: { slug: 'analytics-api', name: 'Analytics API' },
content: `
-## Events API
-
-Real-time event streaming and webhook functionality for building reactive applications.
-
-### WebSocket Connection
-
-\`\`\`javascript
-const socket = aethex.realtime.connect();
-
-socket.on('connected', () => {
- console.log('Connected to real-time server');
-});
-\`\`\`
-
-### Subscribe to Channels
-
-\`\`\`javascript
-// Subscribe to a channel
-await aethex.realtime.subscribe('game:lobby:123');
-
-// Listen for events
-aethex.realtime.on('player:joined', (event) => {
- console.log('Player joined:', event.playerId);
-});
-
-aethex.realtime.on('player:left', (event) => {
- console.log('Player left:', event.playerId);
-});
-\`\`\`
-
-### Publish Events
-
-\`\`\`javascript
-await aethex.realtime.publish('game:lobby:123', {
- type: 'chat:message',
+ Events API
+ Real-time event streaming and pub/sub messaging for your applications.
+
+ Publishing Events
+ // Publish a custom event
+await aethex.events.publish({
+ channel: 'game:lobby',
+ event: 'player:ready',
data: {
- from: 'usr_abc123',
- message: 'Hello everyone!'
+ playerId: 'user_abc',
+ character: 'warrior'
}
-});
-\`\`\`
+});
+
+ Subscribing to Events
+ // Subscribe to a channel
+const subscription = aethex.events.subscribe('game:lobby');
-### Presence
-
-\`\`\`javascript
-// Track user presence
-await aethex.realtime.presence.enter('game:lobby:123', {
- status: 'online',
- character: 'warrior'
+subscription.on('player:ready', (data) => {
+ console.log('Player ready:', data.playerId);
});
-// Get presence list
-const online = await aethex.realtime.presence.list('game:lobby:123');
-\`\`\`
+subscription.on('game:start', (data) => {
+ console.log('Game starting!');
+});
-### Webhooks
+// Unsubscribe
+subscription.unsubscribe();
+
+ Presence Channels
+ // Join a presence channel
+const room = await aethex.events.presence('room:123');
-Configure webhooks in your dashboard to receive HTTP callbacks:
+room.on('member:join', (member) => {
+ console.log(member.name, 'joined');
+});
-\`\`\`json
-POST https://your-server.com/webhook
-Content-Type: application/json
-X-AeThex-Signature: sha256=...
+room.on('member:leave', (member) => {
+ console.log(member.name, 'left');
+});
-{
- "event": "user.created",
- "timestamp": "2025-02-04T10:30:00Z",
- "data": {
- "userId": "usr_abc123",
- "email": "new@example.com"
- }
-}
-\`\`\`
+// Get current members
+const members = room.getMembers();
`
},
'analytics-api': {
title: 'Analytics API',
category: 'Core APIs',
- categoryColor: '#ff4d4d',
- time: '8 min read',
- description: 'Usage metrics and insights',
+ categoryColor: '#0f0',
+ time: '10 min read',
+ description: 'Track events and analyze user behavior',
prevDoc: { slug: 'events-api', name: 'Events API' },
nextDoc: { slug: 'javascript-sdk', name: 'JavaScript SDK' },
content: `
-## Analytics API
-
-Track usage metrics, user behavior, and performance data.
-
-### Track Events
-
-\`\`\`javascript
-await aethex.analytics.track('game:started', {
- gameId: 'game_123',
- mode: 'multiplayer',
- players: 4
+ Analytics API
+ Track custom events and analyze user behavior with powerful querying.
+
+ Tracking Events
+ // Track a custom event
+await aethex.analytics.track({
+ event: 'level_complete',
+ properties: {
+ level: 5,
+ score: 12500,
+ time_seconds: 180
+ }
});
-await aethex.analytics.track('purchase:completed', {
- itemId: 'item_abc',
- amount: 9.99,
- currency: 'USD'
+// Track with user context
+await aethex.analytics.track({
+ event: 'purchase',
+ userId: 'user_abc',
+ properties: {
+ item: 'premium_pack',
+ price: 9.99,
+ currency: 'USD'
+ }
+});
+
+ Querying Analytics
+ // Get event counts
+const data = await aethex.analytics.query({
+ event: 'level_complete',
+ groupBy: 'level',
+ timeframe: 'last_7_days'
});
-\`\`\`
-### User Properties
-
-\`\`\`javascript
-await aethex.analytics.identify({
- plan: 'pro',
- signupDate: '2025-01-15',
- referrer: 'twitter'
-});
-\`\`\`
-
-### Query Analytics
-
-\`\`\`javascript
-const metrics = await aethex.analytics.query({
- metric: 'active_users',
- period: '30d',
- groupBy: 'day'
-});
-\`\`\`
-
-### Dashboard Metrics
-
-Access your analytics dashboard at:
-\`\`\`
-https://dashboard.aethex.us/analytics
-\`\`\`
-
-Available metrics:
-- Daily/Monthly Active Users (DAU/MAU)
-- Session duration
-- Retention rates
-- Conversion funnels
-- Revenue tracking
-- Geographic distribution
+// Funnel analysis
+const funnel = await aethex.analytics.funnel({
+ steps: [
+ { event: 'signup' },
+ { event: 'tutorial_complete' },
+ { event: 'first_purchase' }
+ ],
+ timeframe: 'last_30_days'
+});
`
},
'javascript-sdk': {
title: 'JavaScript SDK',
category: 'SDKs & Tools',
categoryColor: '#ffc700',
- time: '20 min read',
- description: 'Full-featured SDK for web applications',
+ time: '15 min read',
+ description: 'Complete reference for the JavaScript/TypeScript SDK',
prevDoc: { slug: 'analytics-api', name: 'Analytics API' },
nextDoc: { slug: 'python-sdk', name: 'Python SDK' },
content: `
-## JavaScript SDK
-
-The official AeThex SDK for JavaScript and TypeScript applications.
-
-### Installation
-
-\`\`\`bash
-npm install @aethex/sdk
+ JavaScript SDK
+ Full-featured SDK for Node.js, browsers, and modern JavaScript runtimes.
+
+ Installation
+ npm install @aethex/sdk
# or
yarn add @aethex/sdk
-\`\`\`
-
-### Quick Start
-
-\`\`\`javascript
-import { AeThex } from '@aethex/sdk';
+# or
+pnpm add @aethex/sdk
+
+ Configuration
+ import { AeThex } from '@aethex/sdk';
const aethex = new AeThex({
projectId: 'your-project-id',
- apiKey: 'your-api-key'
-});
+ apiKey: 'your-api-key',
+ environment: 'production', // or 'staging'
+ region: 'auto' // or 'us', 'eu', 'asia'
+});
+
+ TypeScript Support
+ The SDK is written in TypeScript and provides full type definitions:
+ import { AeThex, User, Asset, Session } from '@aethex/sdk';
-// Authenticate
-const user = await aethex.auth.login({
- email: 'user@example.com',
- password: 'password'
-});
+const user: User = await aethex.identity.getProfile();
+const assets: Asset[] = await aethex.assets.getInventory();
+
+ Error Handling
+ import { AeThexError, RateLimitError } from '@aethex/sdk';
-// Use APIs
-const profile = await aethex.identity.me();
-const assets = await aethex.assets.list({ owner: 'me' });
-\`\`\`
-
-### TypeScript Support
-
-\`\`\`typescript
-import { AeThex, User, Asset } from '@aethex/sdk';
-
-const aethex = new AeThex({ projectId: 'xxx' });
-
-const user: User = await aethex.auth.login({ ... });
-const assets: Asset[] = await aethex.assets.list({ ... });
-\`\`\`
-
-### React Integration
-
-\`\`\`jsx
-import { AeThexProvider, useAeThex, useUser } from '@aethex/react';
-
-function App() {
- return (
-
-
-
- );
-}
-
-function UserProfile() {
- const { user, loading } = useUser();
-
- if (loading) return Loading...
;
- if (!user) return Not logged in
;
-
- return Welcome, {user.displayName}!
;
-}
-\`\`\`
-
-### Browser Support
-
-- Chrome 80+
-- Firefox 75+
-- Safari 13+
-- Edge 80+
+try {
+ await aethex.assets.transfer({ ... });
+} catch (error) {
+ if (error instanceof RateLimitError) {
+ console.log('Rate limited, retry after:', error.retryAfter);
+ } else if (error instanceof AeThexError) {
+ console.log('API error:', error.code, error.message);
+ }
+}
`
},
'python-sdk': {
title: 'Python SDK',
category: 'SDKs & Tools',
categoryColor: '#ffc700',
- time: '15 min read',
- description: 'Backend integration and automation',
+ time: '12 min read',
+ description: 'Python library for server-side integration',
prevDoc: { slug: 'javascript-sdk', name: 'JavaScript SDK' },
nextDoc: { slug: 'unity-plugin', name: 'Unity Plugin' },
content: `
-## Python SDK
-
-The official AeThex SDK for Python backend applications.
-
-### Installation
-
-\`\`\`bash
-pip install aethex
-\`\`\`
-
-### Quick Start
-
-\`\`\`python
-from aethex import AeThex
+ Python SDK
+ Async-first Python library for server-side integration.
+
+ Installation
+ pip install aethex
+# or with poetry
+poetry add aethex
+
+ Configuration
+ from aethex import AeThex
client = AeThex(
project_id="your-project-id",
api_key="your-api-key"
-)
-
-# Verify a user token
-user = client.auth.verify_token(token)
-
-# Get user data
-profile = client.identity.get_user(user.id)
-\`\`\`
-
-### Async Support
-
-\`\`\`python
-import asyncio
+)
+
+ Async Usage
+ import asyncio
from aethex import AsyncAeThex
async def main():
- client = AsyncAeThex(project_id="xxx", api_key="xxx")
+ client = AsyncAeThex(
+ project_id="your-project-id",
+ api_key="your-api-key"
+ )
- users = await client.identity.search("john")
-
- for user in users:
- print(user.display_name)
+ user = await client.identity.get_profile()
+ print(f"Hello, {user.display_name}")
-asyncio.run(main())
-\`\`\`
-
-### Django Integration
-
-\`\`\`python
-# settings.py
-AETHEX_PROJECT_ID = "your-project"
-AETHEX_API_KEY = "your-key"
+asyncio.run(main())
+
+ Django Integration
+ # settings.py
+AETHEX_PROJECT_ID = "your-project-id"
+AETHEX_API_KEY = "your-api-key"
# views.py
-from aethex.django import aethex_login_required
+from aethex.django import aethex_client
-@aethex_login_required
-def protected_view(request):
- user = request.aethex_user
- return JsonResponse({"user": user.display_name})
-\`\`\`
-
-### Flask Integration
-
-\`\`\`python
-from flask import Flask
-from aethex.flask import AeThexFlask
-
-app = Flask(__name__)
-aethex = AeThexFlask(app)
-
-@app.route('/protected')
-@aethex.login_required
-def protected():
- return f"Hello, {aethex.current_user.display_name}"
-\`\`\`
+def profile_view(request):
+ user = aethex_client.identity.get_user(request.user.aethex_id)
+ return render(request, 'profile.html', {'user': user})
`
},
'unity-plugin': {
title: 'Unity Plugin',
category: 'SDKs & Tools',
categoryColor: '#ffc700',
- time: '25 min read',
- description: 'Game engine integration guide',
+ time: '15 min read',
+ description: 'Native Unity integration for games',
prevDoc: { slug: 'python-sdk', name: 'Python SDK' },
nextDoc: { slug: 'cli', name: 'CLI Reference' },
content: `
-## Unity Plugin
-
-Integrate AeThex into your Unity games.
-
-### Installation
-
-1. Open Unity Package Manager (Window > Package Manager)
-2. Click "+" and select "Add package from git URL"
-3. Enter: \`https://github.com/AeThex-LABS/unity-sdk.git\`
-
-Or download the \`.unitypackage\` from the releases page.
-
-### Setup
-
-\`\`\`csharp
-using AeThex;
+ Unity Plugin
+ Native Unity SDK for seamless game integration.
+
+ Installation
+
+ Open Unity Package Manager
+ Add package from git URL: https://github.com/aethex/unity-sdk.git
+ Or download from the Asset Store
+
+
+ Setup
+ using AeThex;
public class GameManager : MonoBehaviour
{
@@ -856,40 +573,17 @@ public class GameManager : MonoBehaviour
ApiKey = "your-api-key"
});
}
-}
-\`\`\`
-
-### Authentication
-
-\`\`\`csharp
-using AeThex;
-using AeThex.Auth;
-
-public class AuthManager : MonoBehaviour
+}
+
+ Authentication
+ public async void SignIn()
{
- public async void Login()
- {
- var user = await AeThexSDK.Auth.Login(
- email: "user@example.com",
- password: "password"
- );
-
- Debug.Log($"Welcome, {user.DisplayName}!");
- }
-
- public async void LoginWithOAuth()
- {
- var user = await AeThexSDK.Auth.LoginWithOAuth(
- OAuthProvider.Google
- );
- }
-}
-\`\`\`
-
-### Multiplayer
-
-\`\`\`csharp
-using AeThex.Realtime;
+ var session = await AeThexSDK.Auth.SignIn(AuthProvider.Discord);
+ Debug.Log($"Welcome, {session.User.DisplayName}!");
+}
+
+ Multiplayer
+ using AeThex.Realtime;
public class MultiplayerManager : MonoBehaviour
{
@@ -903,24 +597,7 @@ public class MultiplayerManager : MonoBehaviour
Debug.Log($"{player.Name} joined!");
};
}
-
- public void SendPosition(Vector3 pos)
- {
- currentRoom.Send("position", new { x = pos.x, y = pos.y, z = pos.z });
- }
-}
-\`\`\`
-
-### Assets
-
-\`\`\`csharp
-var inventory = await AeThexSDK.Assets.GetInventory();
-
-foreach (var item in inventory)
-{
- Debug.Log($"Item: {item.Name}, Rarity: {item.Attributes["rarity"]}");
-}
-\`\`\`
+}
`
},
'cli': {
@@ -932,343 +609,184 @@ foreach (var item in inventory)
prevDoc: { slug: 'unity-plugin', name: 'Unity Plugin' },
nextDoc: { slug: 'storage', name: 'Decentralized Storage' },
content: `
-## CLI Reference
-
-The AeThex command-line interface for project management and deployment.
-
-### Installation
-
-\`\`\`bash
-npm install -g @aethex/cli
+ CLI Reference
+ The AeThex command-line interface for project management and deployment.
+
+ Installation
+ npm install -g @aethex/cli
# or
-brew install aethex
-\`\`\`
-
-### Authentication
-
-\`\`\`bash
-# Login to your account
+brew install aethex
+
+ Authentication
+ # Login to your account
aethex login
# Check auth status
aethex whoami
# Logout
-aethex logout
-\`\`\`
-
-### Project Management
-
-\`\`\`bash
-# Create a new project
+aethex logout
+
+ Project Management
+ # Create a new project
aethex init my-project
# List your projects
aethex projects list
# Switch project
-aethex projects use my-project
-\`\`\`
-
-### Deployment
-
-\`\`\`bash
-# Deploy to production
+aethex projects use my-project
+
+ Deployment
+ # Deploy to production
aethex deploy
# Deploy to staging
aethex deploy --env staging
# View deployment logs
-aethex logs --follow
-\`\`\`
-
-### Development
-
-\`\`\`bash
-# Start local dev server
+aethex logs --follow
+
+ Development
+ # Start local dev server
aethex dev
# Run database migrations
-aethex db migrate
+aethex migrate
-# Generate types
-aethex generate types
-\`\`\`
-
-### Configuration
-
-Create an \`aethex.config.js\` file:
-
-\`\`\`javascript
-module.exports = {
- projectId: 'your-project',
- region: 'us-east-1',
- build: {
- command: 'npm run build',
- output: 'dist'
- }
-};
-\`\`\`
-
-### Environment Variables
-
-\`\`\`bash
-# Set a secret
-aethex env set API_SECRET="your-secret"
-
-# List env vars
-aethex env list
-
-# Pull env to local
-aethex env pull > .env.local
-\`\`\`
+# Generate types from schema
+aethex codegen
`
},
'storage': {
title: 'Decentralized Storage',
category: 'Advanced Topics',
categoryColor: '#a855f7',
- time: '18 min read',
- description: 'IPFS and distributed data patterns',
+ time: '12 min read',
+ description: 'IPFS and distributed file storage',
prevDoc: { slug: 'cli', name: 'CLI Reference' },
nextDoc: { slug: 'smart-contracts', name: 'Smart Contracts' },
content: `
-## Decentralized Storage
-
-Store and retrieve data using IPFS and distributed storage patterns.
-
-### Overview
-
-AeThex provides a unified API for decentralized storage:
-- **IPFS** — Content-addressed file storage
-- **Arweave** — Permanent storage for critical data
-- **AeThex CDN** — Fast edge caching
-
-### Upload Files
-
-\`\`\`javascript
-// Upload a file
+ Decentralized Storage
+ Store and retrieve files using IPFS and our distributed storage network.
+
+ Uploading Files
+ // Upload a file
const result = await aethex.storage.upload({
- file: fileBlob,
- name: 'my-asset.png'
+ file: fileBuffer,
+ name: 'game-asset.png',
+ type: 'image/png'
});
-console.log(result.cid); // IPFS content ID
-console.log(result.url); // CDN URL
-\`\`\`
+console.log('IPFS CID:', result.cid);
+console.log('URL:', result.url);
+
+ Retrieving Files
+ // Get file by CID
+const file = await aethex.storage.get('QmXyz...');
-### Upload JSON
+// Get file URL for CDN access
+const url = aethex.storage.getUrl('QmXyz...');
+
+ Pinning
+ // Pin content to ensure persistence
+await aethex.storage.pin('QmXyz...');
-\`\`\`javascript
-const metadata = await aethex.storage.uploadJSON({
- name: "Legendary Sword",
- description: "A powerful weapon",
- attributes: { damage: 150 }
-});
-
-console.log(metadata.url);
-\`\`\`
-
-### Retrieve Files
-
-\`\`\`javascript
-// By CID
-const data = await aethex.storage.get('Qm...');
-
-// By URL
-const file = await fetch('https://cdn.aethex.us/ipfs/Qm...');
-\`\`\`
-
-### Pinning
-
-\`\`\`javascript
-// Pin content to keep it available
-await aethex.storage.pin('Qm...');
+// Unpin content
+await aethex.storage.unpin('QmXyz...');
// List pinned content
-const pins = await aethex.storage.listPins();
-\`\`\`
-
-### Best Practices
-
-1. **Use CDN URLs** for user-facing content (faster)
-2. **Store CIDs** for permanent references
-3. **Pin important content** to ensure availability
-4. **Use Arweave** for data that must be permanent
+const pins = await aethex.storage.listPins();
`
},
'smart-contracts': {
title: 'Smart Contracts',
category: 'Advanced Topics',
categoryColor: '#a855f7',
- time: '22 min read',
- description: 'On-chain asset management',
+ time: '15 min read',
+ description: 'Blockchain integration and on-chain assets',
prevDoc: { slug: 'storage', name: 'Decentralized Storage' },
nextDoc: { slug: 'ai-integration', name: 'AI Integration' },
content: `
-## Smart Contracts
-
-Deploy and interact with on-chain assets.
-
-### Supported Chains
-
-- Ethereum (mainnet & testnets)
-- Polygon
-- Arbitrum
-- Base
-- Solana
-
-### Deploy a Contract
-
-\`\`\`javascript
-const contract = await aethex.contracts.deploy({
+ Smart Contracts
+ Integrate blockchain functionality for on-chain assets and transactions.
+
+ Supported Chains
+
+ Ethereum (Mainnet, Sepolia)
+ Polygon (Mainnet, Mumbai)
+ Arbitrum
+ Base
+ Solana
+
+
+ Minting NFTs
+ // Mint an NFT
+const nft = await aethex.blockchain.mint({
chain: 'polygon',
- template: 'erc721',
- name: 'My Collection',
- symbol: 'MC'
-});
-
-console.log(contract.address);
-\`\`\`
-
-### Mint NFTs
-
-\`\`\`javascript
-const nft = await aethex.contracts.mint({
- contract: contract.address,
- to: userWallet,
+ contract: '0x...',
+ recipient: '0x...',
metadata: {
- name: 'Item #1',
- image: 'ipfs://...'
+ name: 'Epic Sword',
+ image: 'ipfs://...',
+ attributes: [
+ { trait_type: 'Damage', value: 100 }
+ ]
}
-});
-\`\`\`
+});
+
+ Wallet Connection
+ // Connect user wallet
+const wallet = await aethex.blockchain.connectWallet();
-### Read Contract State
+// Get balance
+const balance = await wallet.getBalance();
-\`\`\`javascript
-const owner = await aethex.contracts.read({
- address: contract.address,
- method: 'ownerOf',
- args: [tokenId]
-});
-\`\`\`
-
-### Write Transactions
-
-\`\`\`javascript
-const tx = await aethex.contracts.write({
- address: contract.address,
- method: 'transfer',
- args: [to, tokenId],
- signer: wallet
-});
-
-await tx.wait();
-\`\`\`
-
-### Gas Estimation
-
-\`\`\`javascript
-const gas = await aethex.contracts.estimateGas({
- address: contract.address,
- method: 'mint',
- args: [to, metadata]
-});
-
-console.log(\`Estimated gas: \${gas}\`);
-\`\`\`
+// Sign message
+const signature = await wallet.signMessage('Verify ownership');
`
},
'ai-integration': {
title: 'AI Integration',
category: 'Advanced Topics',
categoryColor: '#a855f7',
- time: '20 min read',
- description: 'Machine learning APIs and models',
+ time: '12 min read',
+ description: 'AI-powered features for your applications',
prevDoc: { slug: 'smart-contracts', name: 'Smart Contracts' },
nextDoc: { slug: 'security', name: 'Security Best Practices' },
content: `
-## AI Integration
-
-Leverage AI capabilities in your applications.
-
-### Available Models
-
-| Model | Use Case |
-|-------|----------|
-| GPT-4 | Text generation, chat |
-| DALL-E | Image generation |
-| Whisper | Speech-to-text |
-| Embeddings | Semantic search |
-
-### Text Generation
-
-\`\`\`javascript
-const response = await aethex.ai.generate({
+ AI Integration
+ Leverage AI capabilities in your applications.
+
+ Available Models
+
+
+ Model Use Case
+
+
+ GPT-4 Text generation, chat
+ DALL-E Image generation
+ Whisper Speech-to-text
+ Embeddings Semantic search
+
+
+
+ Text Generation
+ const response = await aethex.ai.generate({
model: 'gpt-4',
prompt: 'Write a quest description for a fantasy RPG',
maxTokens: 200
});
-console.log(response.text);
-\`\`\`
-
-### Chat
-
-\`\`\`javascript
-const chat = await aethex.ai.chat({
- model: 'gpt-4',
- messages: [
- { role: 'system', content: 'You are a helpful NPC guide.' },
- { role: 'user', content: 'Where can I find the legendary sword?' }
- ]
-});
-
-console.log(chat.message);
-\`\`\`
-
-### Image Generation
-
-\`\`\`javascript
-const image = await aethex.ai.generateImage({
- prompt: 'A mystical forest with glowing mushrooms',
- size: '1024x1024'
-});
-
-console.log(image.url);
-\`\`\`
-
-### Embeddings
-
-\`\`\`javascript
-// Create embeddings for semantic search
-const embedding = await aethex.ai.embed('magical sword');
-
-// Store and search
-await aethex.vectors.upsert({
- id: 'item-1',
- embedding: embedding,
- metadata: { name: 'Excalibur' }
-});
-
-const results = await aethex.vectors.search({
- query: 'powerful weapon',
- limit: 10
-});
-\`\`\`
-
-### NPC Dialogue
-
-\`\`\`javascript
-const npc = await aethex.ai.createNPC({
+console.log(response.text);
+
+ NPC Dialogue
+ const npc = await aethex.ai.createNPC({
personality: 'A wise old wizard who speaks in riddles',
knowledge: ['game lore', 'quest hints']
});
-const dialogue = await npc.respond('What dangers await in the dungeon?');
-\`\`\`
+const dialogue = await npc.respond('What dangers await in the dungeon?');
`
},
'security': {
@@ -1280,74 +798,39 @@ const dialogue = await npc.respond('What dangers await in the dungeon?');
prevDoc: { slug: 'ai-integration', name: 'AI Integration' },
nextDoc: undefined,
content: `
-## Security Best Practices
-
-Secure your AeThex implementation with these guidelines.
-
-### API Key Security
-
-\`\`\`javascript
-// ❌ Never expose API keys in client-side code
+ Security Best Practices
+ Secure your AeThex implementation with these guidelines.
+
+ API Key Security
+ // ❌ Never expose API keys in client-side code
const aethex = new AeThex({ apiKey: 'sk_secret' });
-// ✅ Use environment variables
-const aethex = new AeThex({ apiKey: process.env.AETHEX_API_KEY });
-
// ✅ Use public keys for client-side
-const aethex = new AeThex({ publicKey: 'pk_public' });
-\`\`\`
-
-### Authentication
-
-1. **Always verify tokens server-side**
-\`\`\`javascript
-// Server-side verification
-const user = await aethex.auth.verifyToken(token);
-if (!user) throw new Error('Invalid token');
-\`\`\`
-
-2. **Enable MFA for sensitive operations**
-3. **Implement session timeouts**
-4. **Use secure cookie settings**
-
-### Input Validation
-
-\`\`\`javascript
-// Validate all user input
-import { z } from 'zod';
-
+const aethex = new AeThex({
+ projectId: 'proj_xxx',
+ publicKey: 'pk_xxx'
+});
+
+ Input Validation
+ // Always validate user input
const schema = z.object({
- email: z.string().email(),
- username: z.string().min(3).max(20).regex(/^[a-z0-9_]+$/)
+ displayName: z.string().min(3).max(30),
+ email: z.string().email()
});
-const validated = schema.parse(userInput);
-\`\`\`
-
-### Rate Limiting
-
-Configure rate limits in your dashboard:
-- API requests: 1000/min per user
-- Auth attempts: 5/min per IP
-- File uploads: 100/hour per user
-
-### CORS Configuration
-
-\`\`\`javascript
-// Only allow specific origins
-aethex.config({
- allowedOrigins: [
- 'https://yourgame.com',
- 'https://app.yourgame.com'
- ]
-});
-\`\`\`
-
-### Audit Logging
-
-\`\`\`javascript
-// Enable audit logs for sensitive operations
-aethex.audit.enable({
+const validated = schema.parse(userInput);
+
+ Rate Limiting
+ Configure rate limits in your project settings:
+
+ API calls: 1000/minute per user
+ Auth attempts: 10/minute per IP
+ File uploads: 100MB/hour per user
+
+
+ Audit Logging
+ // Enable audit logs
+await aethex.security.enableAuditLog({
events: ['auth.login', 'asset.transfer', 'admin.action']
});
@@ -1355,19 +838,17 @@ aethex.audit.enable({
const logs = await aethex.audit.query({
userId: 'usr_abc123',
from: '2025-01-01'
-});
-\`\`\`
-
-### Security Checklist
-
-- [ ] API keys stored in environment variables
-- [ ] HTTPS enforced in production
-- [ ] Input validation on all endpoints
-- [ ] Rate limiting configured
-- [ ] CORS properly restricted
-- [ ] Audit logging enabled
-- [ ] Regular dependency updates
-- [ ] Security headers configured
+});
+
+ Security Checklist
+
+ ✓ API keys stored in environment variables
+ ✓ HTTPS enforced in production
+ ✓ Input validation on all endpoints
+ ✓ Rate limiting configured
+ ✓ CORS properly restricted
+ ✓ Audit logging enabled
+
`
}
};
@@ -1380,317 +861,447 @@ export function getStaticPaths() {
// Get the slug from the URL
const { slug } = Astro.params;
-
-// Get the doc content
const doc = allDocs[slug as string];
-// 404 if doc not found
if (!doc) {
return Astro.redirect('/docs');
}
+
+// Navigation items for sidebar
+const navSections = [
+ {
+ title: 'Getting Started',
+ items: [
+ { slug: 'introduction', name: 'Introduction' },
+ { slug: 'quickstart', name: 'Quickstart Guide' },
+ { slug: 'architecture', name: 'Architecture' },
+ { slug: 'authentication', name: 'Authentication' },
+ ]
+ },
+ {
+ title: 'Core APIs',
+ items: [
+ { slug: 'identity-api', name: 'Identity API' },
+ { slug: 'asset-api', name: 'Asset API' },
+ { slug: 'events-api', name: 'Events API' },
+ { slug: 'analytics-api', name: 'Analytics API' },
+ ]
+ },
+ {
+ title: 'SDKs & Tools',
+ items: [
+ { slug: 'javascript-sdk', name: 'JavaScript SDK' },
+ { slug: 'python-sdk', name: 'Python SDK' },
+ { slug: 'unity-plugin', name: 'Unity Plugin' },
+ { slug: 'cli', name: 'CLI Reference' },
+ ]
+ },
+ {
+ title: 'Advanced Topics',
+ items: [
+ { slug: 'storage', name: 'Decentralized Storage' },
+ { slug: 'smart-contracts', name: 'Smart Contracts' },
+ { slug: 'ai-integration', name: 'AI Integration' },
+ { slug: 'security', name: 'Security' },
+ ]
+ }
+];
---
-
-
-
-
+
+
+
+
+
+
+
+
+
+ {doc.category}
+ {doc.title}
+ {doc.description}
+
+ ⏱ {doc.time}
+
-
- $2').replace(/`([^`]+)`/g, '
$1').replace(/\*\*([^*]+)\*\*/g, '
$1 ').replace(/## (.*)/g, '
$1 ').replace(/### (.*)/g, '
$1 ').replace(/#### (.*)/g, '
$1 ').replace(/\n\n/g, '
').replace(/\[([^\]]+)\]\(([^)]+)\)/g, '$1 ').replace(/^\d+\. (.*)/gm, '
$1 ').replace(/^- (.*)/gm, '
$1 ').replace(/\| (.*) \|/g, '
$1 ').replace(/\|/g, '
')} />
-
+
+
+
+
-
+
{doc.prevDoc && (
-
- Previous
- ← {doc.prevDoc.name}
+
+ ← Previous
+ {doc.prevDoc.name}
)}
{doc.nextDoc && (
-
- Next
- {doc.nextDoc.name} →
+
+ Next →
+ {doc.nextDoc.name}
)}
-
-
-
+
+
+
diff --git a/src/pages/hall-of-fame.astro b/src/pages/hall-of-fame.astro
index e504954..7be97e6 100644
--- a/src/pages/hall-of-fame.astro
+++ b/src/pages/hall-of-fame.astro
@@ -2,19 +2,49 @@
import MainLayout from '../layouts/MainLayout.astro';
const legendaryContributors = [
- { name: 'Alex Chen', username: '@alexdev', avatar: 'https://i.pravatar.cc/100?img=1', title: 'Core Architect', contributions: 847, points: 12500, badges: ['🏆', '💎', '⚡'], specialty: 'Infrastructure' },
- { name: 'Maya Rodriguez', username: '@maya_sdk', avatar: 'https://i.pravatar.cc/100?img=5', title: 'SDK Lead', contributions: 623, points: 9800, badges: ['🏆', '🔧', '📚'], specialty: 'Developer Tools' },
- { name: 'Jordan Kim', username: '@j_kim', avatar: 'https://i.pravatar.cc/100?img=3', title: 'Docs Champion', contributions: 512, points: 7600, badges: ['🏆', '📖', '✨'], specialty: 'Documentation' },
+ {
+ name: 'Alex Chen',
+ username: '@alexdev',
+ avatar: 'https://i.pravatar.cc/150?img=1',
+ title: 'Core Architect',
+ contributions: 847,
+ points: 12500,
+ badges: ['🏆', '💎', '⚡'],
+ specialty: 'Infrastructure',
+ quote: 'Building the future, one commit at a time.'
+ },
+ {
+ name: 'Maya Rodriguez',
+ username: '@maya_sdk',
+ avatar: 'https://i.pravatar.cc/150?img=5',
+ title: 'SDK Lead',
+ contributions: 623,
+ points: 9800,
+ badges: ['🏆', '🔧', '📚'],
+ specialty: 'Developer Tools',
+ quote: 'Great APIs are invisible to the developer.'
+ },
+ {
+ name: 'Jordan Kim',
+ username: '@j_kim',
+ avatar: 'https://i.pravatar.cc/150?img=3',
+ title: 'Docs Champion',
+ contributions: 512,
+ points: 7600,
+ badges: ['🏆', '📖', '✨'],
+ specialty: 'Documentation',
+ quote: 'Documentation is a love letter to your future self.'
+ },
];
const topContributors = [
- { rank: 4, name: 'Sam Patel', username: '@sampatel', avatar: 'https://i.pravatar.cc/100?img=8', contributions: 389, points: 5400, badge: '🥇' },
- { rank: 5, name: 'Riley Johnson', username: '@rileyj', avatar: 'https://i.pravatar.cc/100?img=12', contributions: 342, points: 4800, badge: '🥇' },
- { rank: 6, name: 'Casey Morgan', username: '@caseym', avatar: 'https://i.pravatar.cc/100?img=15', contributions: 298, points: 4200, badge: '🥇' },
- { rank: 7, name: 'Taylor Swift', username: '@tswift_dev', avatar: 'https://i.pravatar.cc/100?img=20', contributions: 276, points: 3900, badge: '🥈' },
- { rank: 8, name: 'Morgan Lee', username: '@morganlee', avatar: 'https://i.pravatar.cc/100?img=25', contributions: 254, points: 3600, badge: '🥈' },
- { rank: 9, name: 'Jamie Wilson', username: '@jwilson', avatar: 'https://i.pravatar.cc/100?img=30', contributions: 231, points: 3300, badge: '🥈' },
- { rank: 10, name: 'Chris Anderson', username: '@chris_a', avatar: 'https://i.pravatar.cc/100?img=33', contributions: 215, points: 3100, badge: '🥉' },
+ { rank: 4, name: 'Sam Patel', username: '@sampatel', avatar: 'https://i.pravatar.cc/100?img=8', contributions: 389, points: 5400, tier: 'gold' },
+ { rank: 5, name: 'Riley Johnson', username: '@rileyj', avatar: 'https://i.pravatar.cc/100?img=12', contributions: 342, points: 4800, tier: 'gold' },
+ { rank: 6, name: 'Casey Morgan', username: '@caseym', avatar: 'https://i.pravatar.cc/100?img=15', contributions: 298, points: 4200, tier: 'gold' },
+ { rank: 7, name: 'Taylor Swift', username: '@tswift_dev', avatar: 'https://i.pravatar.cc/100?img=20', contributions: 276, points: 3900, tier: 'silver' },
+ { rank: 8, name: 'Morgan Lee', username: '@morganlee', avatar: 'https://i.pravatar.cc/100?img=25', contributions: 254, points: 3600, tier: 'silver' },
+ { rank: 9, name: 'Jamie Wilson', username: '@jwilson', avatar: 'https://i.pravatar.cc/100?img=30', contributions: 231, points: 3300, tier: 'silver' },
+ { rank: 10, name: 'Chris Anderson', username: '@chris_a', avatar: 'https://i.pravatar.cc/100?img=33', contributions: 215, points: 3100, tier: 'bronze' },
];
const hallOfShame = [
@@ -24,31 +54,32 @@ const hallOfShame = [
];
const badges = [
- { icon: '🏆', name: 'Legend', description: 'Top 3 all-time contributor', rarity: 'legendary' },
- { icon: '💎', name: 'Diamond', description: '500+ contributions', rarity: 'epic' },
- { icon: '⚡', name: 'First Responder', description: 'Fastest bug reporter', rarity: 'rare' },
- { icon: '🔧', name: 'Builder', description: 'Core infrastructure contributor', rarity: 'epic' },
- { icon: '📚', name: 'Scholar', description: 'Documentation excellence', rarity: 'rare' },
- { icon: '🥇', name: 'Gold Tier', description: 'Top 10 contributor', rarity: 'rare' },
- { icon: '🥈', name: 'Silver Tier', description: 'Top 25 contributor', rarity: 'uncommon' },
- { icon: '🥉', name: 'Bronze Tier', description: 'Top 50 contributor', rarity: 'common' },
+ { icon: '🏆', name: 'Legend', description: 'Top 3 all-time contributor', rarity: 'legendary', color: '#ffc700' },
+ { icon: '💎', name: 'Diamond', description: '500+ contributions', rarity: 'epic', color: '#a855f7' },
+ { icon: '⚡', name: 'First Responder', description: 'Fastest bug reporter', rarity: 'rare', color: '#6cf' },
+ { icon: '🔧', name: 'Builder', description: 'Core infrastructure work', rarity: 'epic', color: '#a855f7' },
+ { icon: '📚', name: 'Scholar', description: 'Documentation excellence', rarity: 'rare', color: '#6cf' },
+ { icon: '🥇', name: 'Gold Tier', description: 'Top 10 contributor', rarity: 'rare', color: '#ffc700' },
+ { icon: '🥈', name: 'Silver Tier', description: 'Top 25 contributor', rarity: 'uncommon', color: '#888' },
+ { icon: '🥉', name: 'Bronze Tier', description: 'Top 50 contributor', rarity: 'common', color: '#cd7f32' },
];
const stats = [
- { value: '500+', label: 'Total Contributors' },
- { value: '12.5K', label: 'Total Contributions' },
+ { value: '500+', label: 'Contributors' },
+ { value: '12.5K', label: 'Contributions' },
{ value: '847', label: 'Top Score' },
- { value: '24', label: 'Unique Badges' },
+ { value: '24', label: 'Badges' },
];
---
-
+
+
-
Recognition
+
⭐ Recognition
Hall of Fame
-
Celebrating the builders, contributors, and community members who make AeThex possible. And calling out those who don't play nice.
+
Celebrating the builders, contributors, and community members who make AeThex possible. And calling out those who don't play by the rules.
@@ -64,14 +95,21 @@ const stats = [
- 🏆 Legendary Contributors
+
{legendaryContributors.map((legend, i) => (
-
#{i + 1}
+
+
+ 👑
+ #{i + 1}
+
-
👑
{legend.name}
{legend.username}
@@ -91,6 +129,7 @@ const stats = [
Points
+ "{legend.quote}"
{legend.specialty}
))}
@@ -99,33 +138,48 @@ const stats = [
- Top Contributors
+
+
{topContributors.map(user => (
-
+
#{user.rank}
-
-
- {user.name}
- {user.username}
-
-
{user.badge}
-
-
{user.contributions} contributions
-
{user.points.toLocaleString()} pts
+
+
+
+ {user.name}
+ {user.username}
+
+
{user.contributions}
+
{user.points.toLocaleString()}
+
{user.tier}
))}
-
View Full Leaderboard →
+
View Full Leaderboard →
- Badges & Achievements
+
{badges.map(badge => (
-
+
{badge.icon}
{badge.name}
{badge.description}
@@ -137,8 +191,11 @@ const stats = [
- 🚫 Hall of Shame
- Bad actors who violated community guidelines. Transparency is key.
+
{hallOfShame.map(offender => (
@@ -160,47 +217,65 @@ const stats = [
Want Your Name Here?
Start contributing to AeThex and climb the leaderboard. Every contribution counts.
- Start Contributing →
+
diff --git a/src/pages/live-activity.astro b/src/pages/live-activity.astro
index a3de217..83a676f 100644
--- a/src/pages/live-activity.astro
+++ b/src/pages/live-activity.astro
@@ -17,27 +17,34 @@ const activityFeed = [
];
const liveStats = [
- { label: 'Active Users', value: '2,847', change: '+12%', icon: '👥' },
- { label: 'API Requests/min', value: '45.2K', change: '+8%', icon: '⚡' },
- { label: 'Active Sessions', value: '1,234', change: '+5%', icon: '🔗' },
- { label: 'Uptime', value: '99.99%', change: '', icon: '✅' },
+ { label: 'Active Users', value: '2,847', change: '+12%', trend: 'up', icon: '👥' },
+ { label: 'API Requests/min', value: '45.2K', change: '+8%', trend: 'up', icon: '⚡' },
+ { label: 'Active Sessions', value: '1,234', change: '+5%', trend: 'up', icon: '🔗' },
+ { label: 'Uptime', value: '99.99%', change: '', trend: 'stable', icon: '✅' },
];
const channels = [
- { name: 'All Activity', count: 156, active: true },
- { name: 'Releases', count: 12 },
- { name: 'Deployments', count: 24 },
- { name: 'Community', count: 89 },
- { name: 'Development', count: 31 },
+ { name: 'All Activity', count: 156, icon: '📡' },
+ { name: 'Releases', count: 12, icon: '🚀' },
+ { name: 'Deployments', count: 24, icon: '⚡' },
+ { name: 'Community', count: 89, icon: '👥' },
+ { name: 'Development', count: 31, icon: '💻' },
+];
+
+const upcomingEvents = [
+ { title: 'Weekly Community Call', time: 'Today, 5:00 PM UTC', type: 'call' },
+ { title: 'SDK v3.0 Release', time: 'Feb 10, 2026', type: 'release' },
+ { title: 'Developer Workshop', time: 'Feb 15, 2026', type: 'workshop' },
];
---
-
+
+
-
+
LIVE
Activity Feed
@@ -46,17 +53,21 @@ const channels = [
-
- {liveStats.map(stat => (
-
-
{stat.icon}
-
-
{stat.value}
- {stat.change &&
{stat.change} }
+
+
+ {liveStats.map(stat => (
+
+
{stat.icon}
+
+
+ {stat.value}
+ {stat.change && {stat.change} }
+
+
{stat.label}
+
-
{stat.label}
-
- ))}
+ ))}
+
@@ -64,37 +75,68 @@ const channels = [