{"id":49044771,"url":"https://github.com/hari7261/ainative","last_synced_at":"2026-04-19T16:01:14.148Z","repository":{"id":352415616,"uuid":"1200183594","full_name":"hari7261/ainative","owner":"hari7261","description":"AI-native frontend framework designed for building LLM-driven interfaces.","archived":false,"fork":false,"pushed_at":"2026-04-19T14:13:01.000Z","size":350,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-19T14:40:56.573Z","etag":null,"topics":["ai-framwork","for-js-applications","framwork-javascript","hari7261"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hari7261.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-03T05:58:29.000Z","updated_at":"2026-04-19T14:13:05.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/hari7261/ainative","commit_stats":null,"previous_names":["hari7261/ainative"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/hari7261/ainative","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hari7261%2Fainative","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hari7261%2Fainative/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hari7261%2Fainative/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hari7261%2Fainative/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hari7261","download_url":"https://codeload.github.com/hari7261/ainative/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hari7261%2Fainative/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32012787,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-framwork","for-js-applications","framwork-javascript","hari7261"],"created_at":"2026-04-19T16:00:56.231Z","updated_at":"2026-04-19T16:01:14.127Z","avatar_url":"https://github.com/hari7261.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AINative: The AI-Driven Interface Framework\n\n**AINative is a domain-specific micro-framework** (rather than just a traditional library) designed to standardize and simplify the process of building AI/LLM-driven full-stack applications.\n\n## What Is It?\nInstead of manually wiring together generic UI frameworks, backend routing, and complex text streaming protocols, AINative offers an end-to-end architecture (React on the frontend and an Express/FastAPI adapter on the backend) tailored specifically for LLM streaming, multimodal inputs, and prompt UI states.\n\n## Why Is It Helpful?\nBuilding an AI application typically involves repetitive tasks such as maintaining chat state histories perfectly in sync with the backend memory, parsing chunked data streams in React, updating loading states gracefully, handling errors natively mid-stream, and invoking system tools.\nAINative simplifies this by providing ready-made client-side runtimes, components, and server-side routes that natively understand AI interactions, freeing you to focus only on building your domain tools and prompts.\n\n## How Does It Work?\nAINative embraces \"Inversion of Control\". You inject the `\u003cAIApp\u003e` provider into your React application and set up an `AINativeServer` on your backend. When components trigger user prompts (eg: `\u003cAIInput\u003e`), the system takes over. The data is securely ferried backwards via the server adapter to the given AI model. The response payload is then streamed down to the `\u003cAIStream\u003e` components natively, parsing functions and text outputs synchronously into your view tree.\n\n---\n\n## What is in this repo\n\n- `packages/client`: runtime, components, multimodal helpers, and client-side tests\n- `packages/server-node`: Express-based AI server with provider adapters and tool routing\n- `packages/server-python`: FastAPI-based server adapter\n- `packages/cli`: project scaffolding and developer commands\n- `examples/basic-chat`: end-to-end example used by Playwright\n- `examples/streaming-demo`: local streaming demo\n- `docs`: framework and package documentation\n\n## Current provider support\n\n- OpenAI\n- Anthropic\n- Ollama\n\nThe example apps also support a local fallback response path so they can run without external API keys.\n\n## Quick start\n\n### Requirements\n\n- Node.js 18+\n- pnpm 8+\n- Python 3.10+\n\n### Install\n\n```bash\ncorepack pnpm install\n```\n\n### Build everything\n\n```bash\ncorepack pnpm run build\n```\n\n### Run tests\n\n```bash\ncorepack pnpm test\ncorepack pnpm run test:e2e\n```\n\n## Run the example\n\n### Basic chat\n\nTerminal 1:\n\n```bash\ncorepack pnpm run server:basic-chat\n```\n\nTerminal 2:\n\n```bash\ncorepack pnpm run dev:basic-chat\n```\n\nThen open `http://127.0.0.1:5173`.\n\n## CLI\n\nThe CLI currently supports:\n\n- `ainative init`\n- `ainative dev`\n- `ainative build`\n- `ainative preview`\n- `ainative doctor`\n- `ainative add-provider`\n\nInstall the CLI after publish:\n\n```bash\nnpm install -g @hari7261/ainative-cli\n```\n\nSmoke check:\n\n```bash\ncorepack pnpm --dir packages/cli exec node dist/index.js --help\n```\n\n## Repo validation status\n\nThe repo has been validated locally with:\n\n- monorepo build\n- client unit tests\n- Node server tests\n- Python server smoke test\n- Playwright end-to-end tests for `basic-chat`\n- CLI help and doctor smoke checks\n\n## Documentation\n\n- [Getting Started](./docs/getting-started.md)\n- [Installation](./docs/installation.md)\n- [Architecture](./docs/architecture.md)\n- [Runtime](./docs/runtime.md)\n- [Component API](./docs/component-api.md)\n- [Server API](./docs/server-api.md)\n- [Streaming](./docs/streaming.md)\n- [Providers](./docs/providers.md)\n- [Tools and Actions](./docs/tools-and-actions.md)\n- [CLI](./docs/cli.md)\n- [Publishing](./docs/publishing.md)\n- [Contributing](./docs/contributing.md)\n\n## Notes\n\n- `PROJECT-PROMPT.md` is kept as a repo-local specification/reference file.\n- Python tests may still show third-party dependency warnings on some machines, but the server test itself passes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhari7261%2Fainative","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhari7261%2Fainative","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhari7261%2Fainative/lists"}