@noeffortsai/nai 1.18.0-rc.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/README.md +553 -0
  2. package/bin/nai +66 -0
  3. package/dist/nai.mjs +1462 -0
  4. package/package.json +42 -0
package/README.md ADDED
@@ -0,0 +1,553 @@
1
+ <div align="center">
2
+
3
+ # ๐Ÿš€ NoEffortsAI
4
+
5
+ ### The AI-Powered Software Development Platform
6
+
7
+ <img src="https://img.shields.io/badge/React-18-61DAFB?style=for-the-badge&logo=react&logoColor=white" /> <img src="https://img.shields.io/badge/TypeScript-5-3178C6?style=for-the-badge&logo=typescript&logoColor=white" /> <img src="https://img.shields.io/badge/Vite-5-646CFF?style=for-the-badge&logo=vite&logoColor=white" /> <img src="https://img.shields.io/badge/Tailwind-3-06B6D4?style=for-the-badge&logo=tailwindcss&logoColor=white" /> <img src="https://img.shields.io/badge/Supabase-Backend-3FCF8E?style=for-the-badge&logo=supabase&logoColor=white" />
8
+
9
+ **Ship production-grade applications with an autonomous AI coding agent that reasons, plans, writes, tests, and deploys.**
10
+
11
+ ๐Ÿ‡ฎ๐Ÿ‡ณ *AI for All, from India* โ€” Built by **Rohit Vishal**
12
+
13
+ [Website](https://noeffortsai.ai) ยท [Blog](/blog) ยท [Learning Hub](/learn) ยท [Showcase](/showcase)
14
+
15
+ </div>
16
+
17
+ ---
18
+
19
+ ## ๐Ÿ“‹ Table of Contents
20
+
21
+ - [Overview](#-overview)
22
+ - [Key Features](#-key-features)
23
+ - [Tech Stack](#-tech-stack)
24
+ - [Architecture](#-architecture)
25
+ - [Agent Intelligence](#-agent-intelligence)
26
+ - [Protocol System](#-protocol-system)
27
+ - [Neuron Memory Engine](#-neuron-memory-engine)
28
+ - [Builder IDE](#-builder-ide)
29
+ - [Integrations](#-integrations)
30
+ - [Edge Functions](#-edge-functions)
31
+ - [Database Schema](#-database-schema)
32
+ - [Pages & Routes](#-pages--routes)
33
+ - [Security](#-security)
34
+ - [Getting Started](#-getting-started)
35
+ - [Documentation](#-documentation)
36
+ - [Contributing](#-contributing)
37
+
38
+ ---
39
+
40
+ ## ๐ŸŒŸ Overview
41
+
42
+ NoEffortsAI is a full-stack AI development platform that combines a professional browser-based IDE with an autonomous coding agent. The agent uses a **ReAct (Reasoning + Acting)** loop to understand your codebase, plan tasks, write code, run tests, and deploy โ€” all from a single chat interface.
43
+
44
+ **What makes it different:**
45
+
46
+ - ๐Ÿง  **Autonomous Agent** โ€” ReAct reasoning loop with 145+ tools
47
+ - ๐Ÿ”€ **25+ AI Models** โ€” Multi-provider gateway (OpenAI, Google, Anthropic, and more)
48
+ - ๐ŸŒ **11 Agent Protocols** โ€” MCP, A2A, FCP, LangChain, and 7 more
49
+ - ๐Ÿงฌ **10-Neuron Memory** โ€” Persistent contextual intelligence
50
+ - ๐Ÿš€ **One-Click Deploy** โ€” Vercel, Netlify, Railway, VPS
51
+ - ๐Ÿค **Real-Time Collaboration** โ€” Live cursors, presence, co-editing
52
+ - ๐Ÿ›ก๏ธ **Enterprise Security** โ€” RLS, PII filtering, encrypted keys, RBAC
53
+
54
+ ---
55
+
56
+ ## โœจ Key Features
57
+
58
+ ### AI Agent Engine
59
+ - **ReAct Reasoning Loop** โ€” Thought โ†’ Action โ†’ Observation cycle for systematic problem-solving
60
+ - **Multi-Agent Roles** โ€” Planner, Implementer, and Verifier operate in sequence
61
+ - **145+ Tools** โ€” File ops, code search, parsing, linting, testing, deployment, and more
62
+ - **Auto-Test Runner** โ€” Every code block is tested in a cloud sandbox before delivery
63
+ - **Plan Engine** โ€” Structured task decomposition with human-in-the-loop approval
64
+ - **Safety Layer** โ€” PII filtering, shell command guardrails, trust signal scoring
65
+
66
+ ### Multi-Model AI Gateway
67
+ - **25+ Models** โ€” GPT-5, GPT-5-mini, Gemini 2.5 Pro/Flash, Claude, and more
68
+ - **Database-Driven Config** โ€” Models and routes managed via `platform_models` and `platform_provider_config` tables
69
+ - **Smart Routing** โ€” Automatic model selection based on task complexity
70
+ - **Stream Normalization** โ€” Unified streaming across OpenAI, Anthropic, Gemini, Ollama, Cohere formats
71
+ - **Auto-Failover** โ€” Cascading fallback across multiple backend routes with priority ordering
72
+ - **BYOK Support** โ€” Bring Your Own Key for any OpenAI-compatible provider
73
+
74
+ ### Professional IDE (Builder)
75
+ - **Split Editor** โ€” Side-by-side file editing with CodeMirror 6
76
+ - **File Tree** โ€” Full project navigation with icons, search, and create/rename/delete
77
+ - **Terminal Panel** โ€” macOS-style integrated terminal with xterm.js
78
+ - **Live Preview** โ€” Hot-reloading preview panel with device profiles
79
+ - **Git Panel** โ€” Branch management, commit history, diff review
80
+ - **Activity Panel** โ€” Real-time action log of agent operations
81
+ - **Inline Diagnostics** โ€” Error and warning overlays in the editor
82
+ - **Autocomplete** โ€” Context-aware code suggestions
83
+
84
+ ### Real-Time Collaboration
85
+ - **Live Cursors** โ€” See teammates' cursor positions with color-coded labels
86
+ - **Presence Tracking** โ€” Online status and avatar stacks across the workspace
87
+ - **Follow Mode** โ€” Track another collaborator's active view
88
+ - **Conflict Detection** โ€” Alerts when multiple users edit the same file
89
+ - **Discussion Threads** โ€” File-specific or general project feedback
90
+
91
+ ### Deployment & DevOps
92
+ - **GitHub Integration** โ€” Two-way sync, branch management, PRs, issues, actions
93
+ - **Vercel Deploy** โ€” One-click production deployments with environment variables
94
+ - **Netlify Deploy** โ€” Site creation, build hooks, deployment history
95
+ - **Railway Deploy** โ€” Service lifecycle management and log streaming
96
+ - **VPS Bridge** โ€” Direct server control with one-click Ubuntu setup script
97
+ - **CI/CD Pipeline** โ€” Chain up to 20 steps with dependency resolution across all platforms
98
+
99
+ ### Skill Marketplace
100
+ - **Install Skills** โ€” Extend the agent with community-built capabilities
101
+ - **GitHub Import** โ€” Load skills directly from repositories
102
+ - **Publish & Share** โ€” Create and distribute your own agent skills
103
+ - **Auto-Injection** โ€” Active skills are injected into the agent's system prompt at runtime
104
+
105
+ ### Learning Hub
106
+ - **Zero-to-Builder Track** โ€” Structured curriculum from basics to advanced
107
+ - **AI Agent Fundamentals** โ€” ReAct loops, memory, prompt engineering
108
+ - **Architecture Guides** โ€” Systems design, frontend/backend patterns
109
+ - **Real-World Projects** โ€” Hands-on building exercises
110
+
111
+ ### Content & Community
112
+ - **Blog CMS** โ€” Full editor with publishing, tagging, and cover images
113
+ - **Explore Gallery** โ€” Browse public community projects
114
+ - **Showcase** โ€” Featured projects and success stories
115
+ - **Team Chat** โ€” Real-time workspace messaging with file sharing and threads
116
+
117
+ ---
118
+
119
+ ## ๐Ÿ› ๏ธ Tech Stack
120
+
121
+ | Layer | Technology |
122
+ |-------|-----------|
123
+ | **Frontend** | React 18, TypeScript 5, Vite 5, Tailwind CSS 3 |
124
+ | **UI Components** | shadcn/ui, Radix UI, Framer Motion, Lucide Icons |
125
+ | **Editor** | CodeMirror 6 (JS, JSON, Markdown, SQL) |
126
+ | **Terminal** | xterm.js with fit and web-links addons |
127
+ | **Charts** | Recharts |
128
+ | **State** | TanStack React Query, React Hook Form, Zod |
129
+ | **Backend** | Supabase (Postgres, Auth, Realtime, Edge Functions, Storage) |
130
+ | **Vector Search** | Voyage AI embeddings + Qdrant |
131
+ | **Web Scraping** | Firecrawl (scrape, crawl, map, search) |
132
+ | **Code Execution** | Cloud sandbox via onlinecompiler.io |
133
+ | **Deployment** | Vercel, Netlify, Railway, VPS (Ubuntu) |
134
+ | **Auth** | Email/password, Google OAuth, Apple Sign-In, Google One Tap |
135
+
136
+ ---
137
+
138
+ ## ๐Ÿ—๏ธ Architecture
139
+
140
+ ```
141
+ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
142
+ โ”‚ Frontend โ”‚
143
+ โ”‚ React 18 + Vite 5 + Tailwind CSS + TypeScript โ”‚
144
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
145
+ โ”‚ Agent Core โ”‚
146
+ โ”‚ ReAct Loop โ†’ Plan Engine โ†’ Tool Registry (145+) โ”‚
147
+ โ”‚ Model Router โ†’ Safety Layer โ†’ Neuron Memory โ”‚
148
+ โ”‚ 11 Protocols โ†’ Skill Injector โ†’ Code Parser โ”‚
149
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
150
+ โ”‚ Backend (Edge Functions) โ”‚
151
+ โ”‚ chat ยท code-runner ยท embed-text ยท web-intel โ”‚
152
+ โ”‚ github-proxy ยท vercel-proxy ยท netlify-proxy โ”‚
153
+ โ”‚ railway-proxy ยท turso-proxy ยท vps-proxy โ”‚
154
+ โ”‚ pipeline-orchestrator ยท skill-manager โ”‚
155
+ โ”‚ vision-to-code ยท stitch-generate ยท qdrant-proxy โ”‚
156
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
157
+ โ”‚ Data & Storage โ”‚
158
+ โ”‚ Postgres (27+ tables) ยท Realtime ยท Auth ยท RLS โ”‚
159
+ โ”‚ Voyage AI Embeddings ยท Qdrant Vector DB โ”‚
160
+ โ”‚ Transactional Email Queue (PGMQ) โ”‚
161
+ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
162
+ ```
163
+
164
+ ---
165
+
166
+ ## ๐Ÿง  Agent Intelligence
167
+
168
+ ### ReAct Reasoning Loop
169
+
170
+ The agent operates in a continuous Thought โ†’ Action โ†’ Observation cycle:
171
+
172
+ 1. **Context Assembly** โ€” Gathers chat history, vector search results, repo map, file relevance scores (TF-IDF)
173
+ 2. **Reasoning** โ€” Thinks about what needs to be done next
174
+ 3. **Action** โ€” Executes one of 145+ tools
175
+ 4. **Observation** โ€” Checks the result, decides if more steps are needed
176
+ 5. **Verification** โ€” Auto-tests generated code, fixes failures, and re-tests
177
+
178
+ ### Tool Categories
179
+
180
+ | Category | Examples | Count |
181
+ |----------|----------|-------|
182
+ | **File Ops** | read, write, delete, list, patch, search | 15+ |
183
+ | **Code Intelligence** | parse AST, search symbols, lint, format | 20+ |
184
+ | **AI & Analysis** | chat, analyze, suggest, summarize | 10+ |
185
+ | **GitHub** | create repo, push file, create PR, list issues | 20+ |
186
+ | **Deploy** | vercel deploy, netlify create, railway restart | 25+ |
187
+ | **VPS** | exec command, docker manage, nginx configure | 38+ |
188
+ | **Data** | db query, embed text, vector search, crawl web | 15+ |
189
+ | **System** | checkpoint, ask user, verify, plan | 10+ |
190
+
191
+ ### Advanced Capabilities
192
+
193
+ - **Competitive Toolset** โ€” Surgical file patching, project-wide refactoring, component extraction, security auditing, accessibility scanning, bundle analysis
194
+ - **Language Engine** โ€” Specialized rules for 13+ languages (Python, Go, Rust, Java, TypeScript, etc.)
195
+ - **Framework Profiles** โ€” 10+ framework templates (Django, FastAPI, NestJS, Next.js, etc.)
196
+ - **Iteration Intelligence** โ€” Autonomous self-correction chains for syntax/type/runtime errors
197
+ - **Minimal Edit Enforcer** โ€” Edit-in-place logic for smallest possible diffs
198
+ - **Context Budget** โ€” Smart token allocation across history, files, and search results
199
+
200
+ ---
201
+
202
+ ## ๐Ÿ”Œ Protocol System
203
+
204
+ NoEffortsAI supports **11 interoperability protocols** for universal agent communication:
205
+
206
+ | Protocol | Standard | Purpose |
207
+ |----------|----------|---------|
208
+ | **MCP** | Anthropic | Model Context Protocol for external tool servers |
209
+ | **FCP** | OpenAI | Function Calling Protocol for structured tool use |
210
+ | **A2A** | Google | Agent-to-Agent communication |
211
+ | **ACP** | IBM | Agent Communication Protocol |
212
+ | **LangChain** | LangChain | Agent framework integration |
213
+ | **TAP** | โ€” | Tool Augmented Protocol |
214
+ | **TDF** | Stanford | Task Description Framework |
215
+ | **AgentOS** | โ€” | Agent runtime environment |
216
+ | **AGP** | โ€” | Agent Gateway Protocol |
217
+ | **OAP** | โ€” | Open Agent Protocol |
218
+ | **RDF** | W3C | Resource Description Framework |
219
+
220
+ All protocols share a unified type system (`ProtocolAdapter`, `ProtocolMessage`, `ProtocolTool`, `TaskEnvelope`) and are managed by a central `ProtocolRegistry`.
221
+
222
+ ---
223
+
224
+ ## ๐Ÿงฌ Neuron Memory Engine
225
+
226
+ A 10-neuron cognitive system provides persistent, contextual intelligence:
227
+
228
+ | Neuron | File | Purpose |
229
+ |--------|------|---------|
230
+ | **Entity** | `entityNeuron.ts` | Tracks entities (people, projects, APIs) across conversations |
231
+ | **Fact** | `factNeuron.ts` | Stores verified facts about the codebase |
232
+ | **History** | `historyNeuron.ts` | Compressed conversation memory |
233
+ | **Knowledge** | `knowledgeNeuron.ts` | Domain-specific knowledge base |
234
+ | **Skill** | `skillNeuron.ts` | Learned capabilities and patterns |
235
+ | **System** | `systemNeuron.ts` | Platform configuration awareness |
236
+ | **Task** | `taskNeuron.ts` | Active task tracking and decomposition |
237
+ | **Todo** | `todoNeuron.ts` | Persistent to-do management |
238
+ | **Workspace** | `workspaceNeuron.ts` | Project structure and file awareness |
239
+
240
+ Coordinated by the `neuronEngine.ts` orchestrator for holistic context assembly.
241
+
242
+ ---
243
+
244
+ ## ๐Ÿ–ฅ๏ธ Builder IDE
245
+
246
+ The Builder (`/builder/:projectId`) is a professional IDE with:
247
+
248
+ | Panel | Component | Description |
249
+ |-------|-----------|-------------|
250
+ | **Chat** | `ChatPanel.tsx` | AI conversation with markdown, code blocks, tool results |
251
+ | **Code Editor** | `CodeEditor.tsx` | CodeMirror 6 with syntax highlighting, autocomplete, themes |
252
+ | **Split Editor** | `SplitEditor.tsx` | Side-by-side file comparison and editing |
253
+ | **File Tree** | `FileTree.tsx` | Project navigation with icons and search |
254
+ | **Terminal** | `TerminalPanel.tsx` | xterm.js integrated terminal |
255
+ | **Preview** | `PreviewPanel.tsx` | Live hot-reloading app preview |
256
+ | **Git** | `GitPanel.tsx` | Branch management, commits, diff review |
257
+ | **Activity** | `ActivityPanel.tsx` | Real-time agent action log |
258
+ | **Deploy** | `DeployPanel.tsx` | One-click deployment controls |
259
+ | **CI/CD** | `CicdDashboard.tsx` | Pipeline monitoring and management |
260
+ | **Plan** | `PlanProgressPanel.tsx` | Task plan visualization with approval |
261
+ | **Skills** | `SkillMarketplace.tsx` | Install and manage agent skills |
262
+ | **Stitch** | `StitchPanel.tsx` | AI code generation from templates |
263
+ | **Vision** | `VisionToCodeDialog.tsx` | Screenshot to code conversion |
264
+ | **Restructure** | `RestructurePanel.tsx` | Automated code refactoring |
265
+ | **MCP** | `McpConnectionDialog.tsx` | External tool server connections |
266
+
267
+ ---
268
+
269
+ ## ๐Ÿ”— Integrations
270
+
271
+ ### Cloud Services
272
+
273
+ | Service | Proxy Edge Function | Manager Page | Capabilities |
274
+ |---------|-------------------|--------------|--------------|
275
+ | **GitHub** | `github-proxy` | `/github` | Repos, branches, PRs, issues, actions, file push |
276
+ | **Vercel** | `vercel-proxy` | `/vercel` | Projects, deployments, env vars, domains |
277
+ | **Netlify** | `netlify-proxy` | `/netlify` | Sites, deploys, build hooks, DNS |
278
+ | **Railway** | `railway-proxy` | `/railway` | Services, deployments, logs, env vars |
279
+ | **Turso** | `turso-proxy` | `/turso` | Databases, organizations, usage |
280
+
281
+ ### AI & Data Services
282
+
283
+ | Service | Edge Function | Purpose |
284
+ |---------|--------------|---------|
285
+ | **Multi-Model AI** | `chat` | GPT-5, Gemini, Claude via gateway |
286
+ | **Voyage AI** | `embed-text` | Code and text embeddings |
287
+ | **Qdrant** | `qdrant-proxy` | Vector similarity search |
288
+ | **Firecrawl** | `firecrawl-*` | Web scraping, crawling, mapping, search |
289
+ | **Vision AI** | `vision-to-code` | Image to code generation |
290
+ | **Audio AI** | `generate-audio`, `check-audio` | Text-to-speech and audio processing |
291
+ | **Code Runner** | `code-runner` | 20+ language cloud execution |
292
+
293
+ ### Infrastructure
294
+
295
+ | Service | Edge Function | Purpose |
296
+ |---------|--------------|---------|
297
+ | **VPS** | `vps-proxy` | Remote server management |
298
+ | **Pipeline** | `pipeline-orchestrator` | Multi-step CI/CD chains |
299
+ | **Webhooks** | `webhook-trigger` | Event-driven automation |
300
+ | **Email** | `send-transactional-email`, `process-email-queue` | Transactional emails via PGMQ |
301
+ | **Figma** | `figma-proxy` | Design file import |
302
+
303
+ ---
304
+
305
+ ## โšก Edge Functions
306
+
307
+ 35+ Supabase Edge Functions power the backend:
308
+
309
+ | Function | Purpose |
310
+ |----------|---------|
311
+ | `chat` | Multi-model AI gateway with stream normalization and failover |
312
+ | `code-runner` | Cloud code execution sandbox (20+ languages) |
313
+ | `code-scaffold` | Project template generation |
314
+ | `ai-code-tools` | AI-powered code analysis tools |
315
+ | `data-tools` | Database query and data manipulation |
316
+ | `devops-tools` | Infrastructure management utilities |
317
+ | `embed-text` | Text/code embedding via Voyage AI |
318
+ | `qdrant-proxy` | Vector database operations |
319
+ | `web-intel` | Web scraping and intelligence |
320
+ | `vision-to-code` | Screenshot to code generation |
321
+ | `stitch-generate` | Template-based code generation |
322
+ | `skill-manager` | Skill marketplace CRUD operations |
323
+ | `pipeline-orchestrator` | CI/CD pipeline execution engine |
324
+ | `integration-health` | Service connectivity monitoring |
325
+ | `secure-proxy` | Encrypted API key relay |
326
+ | `auth-email-hook` | Custom auth email templates |
327
+ | `send-transactional-email` | PGMQ-backed email delivery |
328
+ | `webhook-trigger` | Integration event dispatch |
329
+ | `firecrawl-*` | Web scraping suite (scrape, crawl, map, search) |
330
+ | `*-proxy` | GitHub, Vercel, Netlify, Railway, Turso, VPS, Figma |
331
+
332
+ ---
333
+
334
+ ## ๐Ÿ’พ Database Schema
335
+
336
+ 27+ tables across multiple domains:
337
+
338
+ ### Core
339
+ | Table | Purpose |
340
+ |-------|---------|
341
+ | `projects` | User projects with visibility and status |
342
+ | `files` | Project files with content |
343
+ | `file_versions` | File version history |
344
+ | `chats` | AI conversation threads |
345
+ | `messages` | Chat messages |
346
+ | `activity_logs` | Project activity timeline |
347
+ | `usage_logs` | AI model usage and cost tracking |
348
+
349
+ ### Users & Auth
350
+ | Table | Purpose |
351
+ |-------|---------|
352
+ | `profiles` | User display names, avatars, emails |
353
+ | `user_roles` | RBAC roles (admin, moderator, user) |
354
+ | `user_preferences` | Theme, font size, accent color, animations |
355
+ | `provider_keys` | User API keys (BYOK) |
356
+ | `custom_providers` | User-configured AI providers |
357
+ | `project_collaborators` | Project sharing and permissions |
358
+
359
+ ### Platform
360
+ | Table | Purpose |
361
+ |-------|---------|
362
+ | `platform_models` | Global AI model catalog |
363
+ | `platform_provider_config` | Backend API routes with priority |
364
+ | `integrations` | Connected service tokens |
365
+ | `webhook_events` | Integration event logs |
366
+ | `mcp_connections` | MCP server connections |
367
+
368
+ ### Agent
369
+ | Table | Purpose |
370
+ |-------|---------|
371
+ | `agent_sessions` | Agent conversation sessions |
372
+ | `agent_turns` | Individual agent turns with token counts |
373
+ | `agent_memory` | Persistent agent memory store |
374
+ | `jobs` | Background job execution |
375
+ | `job_steps` | Individual job step tracking |
376
+ | `artifacts` | Job output artifacts |
377
+
378
+ ### Skills
379
+ | Table | Purpose |
380
+ |-------|---------|
381
+ | `skills` | Marketplace skill definitions |
382
+ | `skill_installs` | Project skill installations |
383
+
384
+ ### Content
385
+ | Table | Purpose |
386
+ |-------|---------|
387
+ | `blog_posts` | Blog CMS content |
388
+ | `team_messages` | Real-time team chat (Realtime enabled) |
389
+ | `notes` | User notes with tags and pinning |
390
+ | `todos` | User task management |
391
+ | `reminders` | Scheduled reminders |
392
+
393
+ ### Email
394
+ | Table | Purpose |
395
+ |-------|---------|
396
+ | `email_send_log` | Email delivery tracking |
397
+ | `email_send_state` | Send rate configuration |
398
+ | `email_unsubscribe_tokens` | Unsubscribe link tokens |
399
+ | `suppressed_emails` | Suppressed email addresses |
400
+
401
+ ---
402
+
403
+ ## ๐Ÿ—บ๏ธ Pages & Routes
404
+
405
+ ### Public Pages
406
+ | Route | Page | Description |
407
+ |-------|------|-------------|
408
+ | `/` | Landing | Hero, features, pricing, integrations, showcase |
409
+ | `/blog` | Blog | Published articles with tags |
410
+ | `/blog/:slug` | Blog Post | Individual article view |
411
+ | `/learn` | Learning Hub | Educational content and courses |
412
+ | `/explore` | Explore | Public project gallery |
413
+ | `/showcase` | Showcase | Featured projects |
414
+ | `/about` | About | Company information |
415
+ | `/contact` | Contact | Contact form |
416
+
417
+ ### Protected Pages
418
+ | Route | Page | Description |
419
+ |-------|------|-------------|
420
+ | `/dashboard` | Dashboard | Projects, stats, activity, AI insights, usage charts |
421
+ | `/builder/:projectId` | Builder IDE | Full development workspace |
422
+ | `/project/:projectId` | Project Hub | 10-tab project management console |
423
+ | `/settings` | Settings | Account, billing, editor, team, providers, VPS |
424
+ | `/admin` | Admin | Platform model catalog, provider routes, user management |
425
+ | `/team-chat` | Team Chat | Real-time messaging workspace |
426
+ | `/productivity` | Productivity | Task and workflow management |
427
+ | `/blog/new` | Blog Editor | Create and edit blog posts |
428
+
429
+ ### Integration Pages
430
+ | Route | Page |
431
+ |-------|------|
432
+ | `/github` | GitHub repository and PR management |
433
+ | `/vercel` | Vercel project and deployment management |
434
+ | `/netlify` | Netlify site management |
435
+ | `/railway` | Railway service management |
436
+ | `/turso` | Turso database management |
437
+
438
+ ### Legal Pages
439
+ `/privacy` ยท `/terms` ยท `/disclaimer` ยท `/cookie-policy` ยท `/dmca` ยท `/data-sharing` ยท `/opt-out` ยท `/unsubscribe`
440
+
441
+ ---
442
+
443
+ ## ๐Ÿ”’ Security
444
+
445
+ | Layer | Implementation |
446
+ |-------|---------------|
447
+ | **Authentication** | JWT sessions, Google/Apple OAuth, Google One Tap, email verification |
448
+ | **Authorization** | Row Level Security (RLS) on all 27+ tables |
449
+ | **RBAC** | `user_roles` table with `has_role()` SECURITY DEFINER function |
450
+ | **API Keys** | Encrypted storage, BYOK model, no hardcoded secrets |
451
+ | **Agent Safety** | PII filtering, shell command guardrails, trust signal scoring |
452
+ | **Edge Security** | CORS headers, Zod input validation, auth token verification |
453
+ | **Collaboration** | `is_project_owner()`, `is_project_editor()`, `is_project_collaborator()` RPC checks |
454
+ | **Email** | Suppression lists, unsubscribe tokens, send rate limiting |
455
+
456
+ ---
457
+
458
+ ## ๐Ÿš€ Getting Started
459
+
460
+ ### Prerequisites
461
+
462
+ - Node.js โ‰ฅ 18
463
+ - npm or Bun
464
+ - Git
465
+
466
+ ### Installation
467
+
468
+ ```bash
469
+ git clone https://github.com/noeffortsai/noeffortsai.git
470
+ cd noeffortsai
471
+ npm install
472
+ npm run dev
473
+ ```
474
+
475
+ ### Environment Variables
476
+
477
+ ```env
478
+ VITE_SUPABASE_URL=your_supabase_url
479
+ VITE_SUPABASE_PUBLISHABLE_KEY=your_anon_key
480
+ ```
481
+
482
+ ### Scripts
483
+
484
+ | Command | Description |
485
+ |---------|-------------|
486
+ | `npm run dev` | Start development server |
487
+ | `npm run build` | Production build |
488
+ | `npm run test` | Run Vitest test suite |
489
+ | `npm run lint` | ESLint check |
490
+ | `npm run preview` | Preview production build |
491
+
492
+ ---
493
+
494
+ ## ๐Ÿ“š Documentation
495
+
496
+ | Document | Description |
497
+ |----------|-------------|
498
+ | [ARCHITECTURE.md](./ARCHITECTURE.md) | System design, ReAct loop, data flow |
499
+ | [ROADMAP.md](./ROADMAP.md) | Product roadmap with progress tracking |
500
+ | [CHANGELOG.md](./CHANGELOG.md) | Version history and release notes |
501
+ | [CONTRIBUTING.md](./CONTRIBUTING.md) | Development workflow and coding standards |
502
+ | [docs/API_REFERENCE.md](./docs/API_REFERENCE.md) | Edge function API documentation |
503
+ | [docs/AGENT_GUIDE.md](./docs/AGENT_GUIDE.md) | Agent system deep dive |
504
+ | [docs/DEPLOYMENT_GUIDE.md](./docs/DEPLOYMENT_GUIDE.md) | Deployment and infrastructure setup |
505
+ | [docs/SECURITY.md](./docs/SECURITY.md) | Security model and best practices |
506
+ | [docs/PROTOCOLS.md](./docs/PROTOCOLS.md) | Protocol system documentation |
507
+ | [docs/SKILLS.md](./docs/SKILLS.md) | Skill marketplace guide |
508
+
509
+ ---
510
+
511
+ ## ๐Ÿค Contributing
512
+
513
+ We welcome contributions! See [CONTRIBUTING.md](./CONTRIBUTING.md) for full guidelines.
514
+
515
+ ```bash
516
+ # 1. Fork and clone
517
+ # 2. Create feature branch
518
+ git checkout -b feature/amazing-feature
519
+ # 3. Make changes and test
520
+ npm run test
521
+ # 4. Commit with conventional format
522
+ git commit -m "feat: add amazing feature"
523
+ # 5. Push and open PR
524
+ ```
525
+
526
+ ---
527
+
528
+ ## ๐Ÿ“Š Project Stats
529
+
530
+ | Metric | Count |
531
+ |--------|-------|
532
+ | React Components | 150+ |
533
+ | Agent Tools | 145+ |
534
+ | Edge Functions | 35+ |
535
+ | Database Tables | 27+ |
536
+ | AI Models Supported | 25+ |
537
+ | Agent Protocols | 11 |
538
+ | Memory Neurons | 10 |
539
+ | Supported Languages | 20+ |
540
+ | Integration Services | 7 |
541
+ | Pages/Routes | 30+ |
542
+
543
+ ---
544
+
545
+ <div align="center">
546
+
547
+ **Built with โค๏ธ by [Rohit Vishal](https://noeffortsai.ai)**
548
+
549
+ ๐Ÿ‡ฎ๐Ÿ‡ณ AI for All, from India
550
+
551
+ [Website](https://noeffortsai.ai) ยท [GitHub](https://github.com/noeffortsai) ยท [Blog](https://noeffortsai.ai/blog)
552
+
553
+ </div>
package/bin/nai ADDED
@@ -0,0 +1,66 @@
1
+ #!/usr/bin/env node
2
+ // NoEffortsAi CLI launcher.
3
+ //
4
+ // The TUI depends on @opentui/core which uses bun:ffi โ€” so the bundle MUST
5
+ // run under the Bun runtime. We locate `bun` on PATH (or $BUN_INSTALL/bin)
6
+ // and exec the bundle through it. If Bun is missing we print a one-line
7
+ // install hint instead of crashing with a cryptic FFI error.
8
+ import { spawn, spawnSync } from "node:child_process"
9
+ import { fileURLToPath } from "node:url"
10
+ import { existsSync } from "node:fs"
11
+ import path from "node:path"
12
+ import os from "node:os"
13
+
14
+ const __dirname = path.dirname(fileURLToPath(import.meta.url))
15
+ const bundle = path.join(__dirname, "..", "dist", "nai.mjs")
16
+
17
+ function findBun() {
18
+ // 1. Explicit override
19
+ if (process.env.NAI_BUN && existsSync(process.env.NAI_BUN)) return process.env.NAI_BUN
20
+ // 2. $BUN_INSTALL/bin/bun
21
+ const bunInstall = process.env.BUN_INSTALL || path.join(os.homedir(), ".bun")
22
+ const candidate = path.join(bunInstall, "bin", process.platform === "win32" ? "bun.exe" : "bun")
23
+ if (existsSync(candidate)) return candidate
24
+ // 3. PATH lookup
25
+ const which = process.platform === "win32" ? "where" : "which"
26
+ const res = spawnSync(which, ["bun"], { encoding: "utf8" })
27
+ if (res.status === 0) {
28
+ const found = res.stdout.split(/\r?\n/).find((l) => l.trim())
29
+ if (found && existsSync(found.trim())) return found.trim()
30
+ }
31
+ return null
32
+ }
33
+
34
+ const bun = findBun()
35
+ if (!bun) {
36
+ console.error("nai: Bun runtime is required but was not found on PATH.")
37
+ console.error("")
38
+ console.error(" Install Bun: curl -fsSL https://bun.sh/install | bash")
39
+ console.error(" Then re-run: nai")
40
+ console.error("")
41
+ console.error("Or point nai at an existing Bun binary: export NAI_BUN=/path/to/bun")
42
+ process.exit(127)
43
+ }
44
+
45
+ const forwardedSignals = ["SIGINT", "SIGTERM", "SIGHUP"]
46
+ const child = spawn(bun, ["run", bundle, ...process.argv.slice(2)], {
47
+ stdio: "inherit",
48
+ env: process.env,
49
+ })
50
+
51
+ const forwarders = {}
52
+ for (const signal of forwardedSignals) {
53
+ forwarders[signal] = () => { try { child.kill(signal) } catch {} }
54
+ process.on(signal, forwarders[signal])
55
+ }
56
+
57
+ child.on("error", (err) => {
58
+ console.error(err?.message ?? String(err))
59
+ process.exit(1)
60
+ })
61
+
62
+ child.on("exit", (code, signal) => {
63
+ for (const s of forwardedSignals) process.removeListener(s, forwarders[s])
64
+ if (signal) { process.kill(process.pid, signal); return }
65
+ process.exit(typeof code === "number" ? code : 0)
66
+ })