Skip to main content

npm SDK

The FrootAI npm SDK (frootai) gives you programmatic access to the entire FrootAI knowledge base from any Node.js application โ€” search modules, browse plays, compare models, and estimate costs.

Installationโ€‹

npm install frootai

Quick Startโ€‹

import { FrootAIClient } from 'frootai';

const client = new FrootAIClient();

// Search FROOT knowledge base
const results = await client.searchKnowledge('RAG chunking strategies');
console.log(results);

// Get a specific module
const module = await client.getModule('R2');
console.log(module.title); // "RAG Architecture"

// List all solution plays
const plays = await client.listPlays();
console.log(`${plays.length} plays available`);

API Referenceโ€‹

Knowledge & Modulesโ€‹

// Search across all 17 FROOT modules
const results = await client.searchKnowledge(query: string, maxResults?: number);

// Get full content of a specific module
const module = await client.getModule(moduleId: string);
// moduleId: F1, F2, F3, R1, R2, R3, O1-O6, T1-T3

// List all modules organized by FROOT layer
const modules = await client.listModules();

// Look up an AI/ML term
const definition = await client.lookupTerm(term: string);

Solution Playsโ€‹

// List all solution plays
const plays = await client.listPlays(filter?: string);

// Get detailed play information
const play = await client.getPlayDetail(playNumber: string);

// Semantic search for plays
const matches = await client.searchPlays(query: string, topK?: number);

// Compare plays side-by-side
const comparison = await client.comparePlays(plays: string[]);

Models & Costโ€‹

// Compare AI models for a use case
const comparison = await client.compareModels(useCase: string, priority?: string);

// Get model catalog
const catalog = await client.getModelCatalog(category?: string);

// Estimate monthly Azure costs
const estimate = await client.estimateCost(play: string, scale?: 'dev' | 'prod');

Architectureโ€‹

// Get architecture guidance
const pattern = await client.getArchitecturePattern(scenario: string);

// Generate Mermaid.js diagram
const diagram = await client.generateDiagram(play: string);

Usage Example: Play Cost Analysisโ€‹

import { FrootAIClient } from 'frootai';

const client = new FrootAIClient();

async function analyzePlay(playNumber: string) {
const play = await client.getPlayDetail(playNumber);
console.log(`Play: ${play.title}`);
console.log(`Complexity: ${play.complexity}`);

const devCost = await client.estimateCost(playNumber, 'dev');
const prodCost = await client.estimateCost(playNumber, 'prod');
console.log(`Dev cost: $${devCost.total}/mo`);
console.log(`Prod cost: $${prodCost.total}/mo`);
}

analyzePlay('01');

Versionโ€‹

Current version: v4.0.0, synced with 100 plays and all primitives.

See Alsoโ€‹