{"id":52009885,"url":"https://github.com/ardriveapp/public-site","last_synced_at":"2026-07-31T18:30:52.363Z","repository":{"id":371783326,"uuid":"1204092504","full_name":"ardriveapp/public-site","owner":"ardriveapp","description":"ArDrive.io public site.","archived":false,"fork":false,"pushed_at":"2026-07-16T22:23:38.000Z","size":74123,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-17T00:20:35.093Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"MDX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ardriveapp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":"NOTICE","maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-07T17:24:03.000Z","updated_at":"2026-07-16T22:23:42.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ardriveapp/public-site","commit_stats":null,"previous_names":["ardriveapp/public-site"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ardriveapp/public-site","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ardriveapp%2Fpublic-site","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ardriveapp%2Fpublic-site/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ardriveapp%2Fpublic-site/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ardriveapp%2Fpublic-site/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ardriveapp","download_url":"https://codeload.github.com/ardriveapp/public-site/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ardriveapp%2Fpublic-site/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36128845,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-31T02:00:06.731Z","response_time":112,"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":[],"created_at":"2026-07-31T18:30:51.569Z","updated_at":"2026-07-31T18:30:52.350Z","avatar_url":"https://github.com/ardriveapp.png","language":"MDX","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ArDrive Public Site\n\nA modern Next.js marketing site for ArDrive's decentralized data solutions, featuring MDX content and static export for GitHub Pages.\n\n## Tech Stack\n\n- **Framework:** Next.js 15 with App Router\n- **Styling:** Tailwind CSS v4\n- **Content:** MDX with TypeScript\n- **Deployment:** Static export (GitHub Pages compatible)\n\n## Quick Start\n\n```bash\nyarn install\nyarn dev\n```\n\nVisit `http://localhost:3000` to see the site.\n\n## Project Structure\n\n```\ncontent/           # MDX articles, case studies, use cases\npublic/            # Static assets and images\nsrc/\n  app/            # Next.js App Router pages\n  components/     # React components\n  lib/            # Content loaders and utilities\n```\n\n## Key Sections\n\n- **Articles** (`/articles`) — Blog posts and technical content\n- **Case Studies** (`/case-studies`) — Project implementations\n- **Use Cases** (`/use-cases`) — Industry applications\n- **Ecosystem** (`/ecosystem`) — Partner projects\n- **Cloudmap** (`/cloudmap`) — Gateway locations\n- **Help** (`/help`) — Product guides, FAQs, and troubleshooting\n\n## Agent-Friendly Help Indexes\n\nThe build generates static files for AI agents and retrieval tools from `content/help/*.mdx`:\n\n- `/llms.txt` — concise site and help map\n- `/llms-full.txt` — full public help corpus in markdown-oriented text\n- `/help/index.json` — structured help article metadata\n\nRefresh them without a full build:\n\n```bash\nyarn generate-agent-indexes\n```\n\n## Ask Arie Widget\n\nA floating chat widget powered by AI that provides instant Q\u0026A about ar.io products and documentation.\n\n### Features\n\n- **Floating Button**: Bottom-right corner floating button with message icon\n- **AI-Powered Responses**: Uses external chat API\n- **Threaded Conversations**: Maintains conversation context across questions (per-tab persistence)\n- **New Chat**: Reset conversations and start fresh with a new thread\n- **Citations**: Displays clickable citations in `[Title](url)` format with \"sources used\" indices\n- **Mobile Responsive**: Full-screen modal on mobile, anchored panel on desktop\n- **Copy to Clipboard**: Copy assistant responses with one click\n- **Error Handling**: Graceful fallbacks for API failures\n- **Accessibility**: ESC to close, outside click, auto-focus input\n\n### API Integration\n\n**Request:**\n```json\nPOST https://sparklechat-3bzk.onrender.com/marketing/ask\n{\n  \"question\": \"user query string\",\n  \"thread_id\": \"abc123...\"  // Optional: reuse existing thread for conversation continuity\n}\n```\n\n**Response:**\n```json\n{\n  \"answer\": \"AI-generated response text\",\n  \"citations\": [\"[Title](url)\", \"[Another Title](url)\"],\n  \"sources_used\": [1, 2],\n  \"chunk_count\": 42,\n  \"thread_id\": \"abc123...\",        // Always present: thread identifier for conversation continuity\n  \"message_id\": \"msg456...\",       // Always present: unique identifier for this assistant message\n  \"parent_message_id\": null        // null for first turn, otherwise previous assistant message ID\n}\n```\n\n### Technical Notes\n\n- **Per-Tab Persistence**: Chat history and thread context persist across page reloads via `sessionStorage`\n- **New Chat Button**: Reset conversations and start fresh (clears thread + messages)\n- **Cross-Tab Isolation**: Each browser tab maintains independent conversation state\n- **Static Export Safe**: No server-side features, works with GitHub Pages\n- **CORS Enabled**: External API allows cross-origin requests\n\n## Adding Content\n\nCreate MDX files in the appropriate `content/` directory with frontmatter. Images go in corresponding `public/` subdirectories. Display metadata (icons, labels, etc.) lives in `src/lib/*-config.ts` files.\n\n\u003e 📖 **Full Documentation**: See [AGENTS.md](AGENTS.md) for detailed content guidelines and technical specs.\n\n## Build \u0026 Deploy\n\n```bash\nyarn build\n```\n\nBuilds to static files in `/out`. Supports GitHub Pages deployment with automatic base path handling.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fardriveapp%2Fpublic-site","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fardriveapp%2Fpublic-site","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fardriveapp%2Fpublic-site/lists"}