@objectifthunes/limestone-sdk
v0.2.0
Published
Contracts-first, LLM-first mobile toolkit for React Native + Expo. Ports-and-adapters architecture.
Maintainers
Readme
Limestone SDK
Contracts-first, LLM-first mobile toolkit for React Native + Expo. 160+ headless components, 16 ports, hexagonal architecture. v0.2.0 — Feature Complete.
Install
npm install @objectifthunes/limestone-sdkWhat's Inside
| Category | Count | Highlights | |----------|-------|------------| | Primitives | 13 | Box, Text, Button, IconButton, Link, Skeleton... | | Layout | 5 | Stack, Grid, ScrollView, SafeArea... | | Inputs | 17 | TextInput, Select, DatePicker, Calendar, Autocomplete, SignaturePad... | | Navigation | 9 | Header, TabBar, Tabs, CollapsibleHeader, PageIndicator... | | Overlays | 6 | Modal, Tooltip, Menu, ContextMenu, Lightbox... | | Feedback | 9 | Toast, Dialog, Badge, Banner, ConnectionStatus... | | Data Display | 17 | Card, List, Chart, DataTable, ActivityRing, RatingStars... | | Screens | 20 | Auth, Dashboard, ProductDetail, Cart, Feed, OrderTracking... | | Media | 8 | VideoPlayer, Carousel, QRScanner, MapView, AudioPlayer... | | Forms | 3 | Form, FormField, FormError | | 3D | 6 | Scene3D, ModelViewer, Panorama360, BeforeAfter3D... | | AR | 8 | ARView, ARPlacement, ARMeasure, ARNavigation... | | Interactive | 6 | SwipeableRow, DragToReorder, PinchToZoom, ParallaxHeader... | | Social | 5 | StoryRow, ReactionPicker, CommentThread, MentionInput... | | Content | 5 | MarkdownRenderer, CodeBlock, RichTextEditor, BlockQuote, Callout | | Offline | 5 | SyncIndicator, ConflictCard, OfflineQueueList, CachedImage, PendingBadge | | Animations | 8 | FadeIn, SlideUp, Shimmer, Confetti, ErrorShake... |
Architecture
Ports (interfaces) → Core logic ← Adapters (implementations)16 ports for native features (biometrics, camera, location, etc.). 33 adapter factories across 4 subpaths (expo-*, r3f, viro, dev). Delete any adapter — core still compiles.
Quick Start
import { defineConfig, LimestoneProvider } from '@objectifthunes/limestone-sdk';
import { obsidianTheme } from '@objectifthunes/limestone-sdk';
import { createExpoBiometrics } from '@objectifthunes/limestone-sdk/expo-biometrics';
const config = defineConfig({
theme: obsidianTheme,
adapters: { biometrics: createExpoBiometrics() },
});
export default function App() {
return (
<LimestoneProvider config={config}>
<RootNavigator />
</LimestoneProvider>
);
}Documentation
License
MIT
