{"id":42123342,"url":"https://github.com/Adam-CAD/CADAM","last_synced_at":"2026-02-05T15:01:43.520Z","repository":{"id":313433018,"uuid":"1048601047","full_name":"Adam-CAD/CADAM","owner":"Adam-CAD","description":"CADAM is the open source text-to-CAD web application","archived":false,"fork":false,"pushed_at":"2026-01-13T02:00:30.000Z","size":15496,"stargazers_count":880,"open_issues_count":9,"forks_count":132,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-01-13T02:42:44.708Z","etag":null,"topics":["agents","ai","ai-agents","cad","llms","openscad","react","text-to-cad","wasm"],"latest_commit_sha":null,"homepage":"https://adam.new/cadam","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Adam-CAD.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2025-09-01T17:53:58.000Z","updated_at":"2026-01-11T04:18:06.000Z","dependencies_parsed_at":"2025-09-06T02:51:47.408Z","dependency_job_id":null,"html_url":"https://github.com/Adam-CAD/CADAM","commit_stats":null,"previous_names":["adam-cad/cadam"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Adam-CAD/CADAM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adam-CAD%2FCADAM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adam-CAD%2FCADAM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adam-CAD%2FCADAM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adam-CAD%2FCADAM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Adam-CAD","download_url":"https://codeload.github.com/Adam-CAD/CADAM/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Adam-CAD%2FCADAM/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29124793,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T14:05:12.718Z","status":"ssl_error","status_checked_at":"2026-02-05T14:03:53.078Z","response_time":65,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["agents","ai","ai-agents","cad","llms","openscad","react","text-to-cad","wasm"],"created_at":"2026-01-26T15:00:26.439Z","updated_at":"2026-02-05T15:01:43.508Z","avatar_url":"https://github.com/Adam-CAD.png","language":"TypeScript","readme":"\u003cdiv align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./public/Github-Banner-Dark.png\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"./public/Github-Banner-Light.png\"\u003e\n    \u003cimg src=\"./public/Github-Banner-Light.png\" alt=\"CADAM Banner\" width=\"100%\"/\u003e\n  \u003c/picture\u003e\n\u003c/div\u003e\n\n\u003ch1 align=\"center\"\u003e ⛮ The Open Source Text to CAD Web App ⛮ \u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![Stars](https://img.shields.io/github/stars/Adam-CAD/cadam?style=social\u0026logo=github)](https://github.com/Adam-CAD/cadam/stargazers)\n[![Forks](https://img.shields.io/github/forks/Adam-CAD/CADAM?style=flat)](https://github.com/Adam-CAD/CADAM/network)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://www.gnu.org/licenses/gpl-3.0)\n[![Node.js](https://img.shields.io/badge/Node.js-18+-green.svg?style=flat\u0026logo=node.js\u0026logoColor=white)](https://nodejs.org/)\n[![React](https://img.shields.io/badge/React-19.1-61DAFB.svg?style=flat\u0026logo=react\u0026logoColor=black)](https://reactjs.org/)\n[![Supabase](https://img.shields.io/badge/Supabase-Backend-3ECF8E.svg?style=flat\u0026logo=supabase\u0026logoColor=white)](https://supabase.com/)\n[![OpenSCAD](https://img.shields.io/badge/OpenSCAD-WASM-F9D64F.svg?style=flat)](https://openscad.org/)\n[![Website](https://img.shields.io/badge/website-adam.new-blue?style=flat)](https://adam.new)\n[![Discord](https://img.shields.io/badge/Discord-Join-5865F2?style=flat\u0026logo=discord\u0026logoColor=white)](https://discord.com/invite/HKdXDqAHCs)\n[![Follow Zach Dive](https://img.shields.io/badge/Follow-Zach%20Dive-1DA1F2?style=flat\u0026logo=x\u0026logoColor=white)](https://x.com/zachdive)\n[![Follow Aaron Li](https://img.shields.io/badge/Follow-Aaron%20Li-1DA1F2?style=flat\u0026logo=x\u0026logoColor=white)](https://x.com/aaronhetengli)\n[![Follow Dylan Anderson](https://img.shields.io/badge/Follow-tsadpbb-1DA1F2?style=flat\u0026logo=x\u0026logoColor=white)](https://x.com/tsadpbb)\n\n\u003c/div\u003e\n\n---\n\n## ✨ Features\n\n- 🤖 **AI-Powered Generation** - Transform natural language and images into 3D models\n- 🎛️ **Parametric Controls** - Interactive sliders for instant dimension adjustments\n- 📦 **Multiple Export Formats** - Export as .STL or .SCAD files\n- 🌐 **Browser-Based** - Runs entirely in your browser using WebAssembly\n- 📚 **Library Support** - Includes BOSL, BOSL2, and MCAD libraries\n\n## 🎯 Key Capabilities\n\n| Feature                    | Description                                          |\n| -------------------------- | ---------------------------------------------------- |\n| **Natural Language Input** | Describe your 3D model in plain English              |\n| **Image References**       | Upload images to guide model generation              |\n| **Real-time Preview**      | See your model update instantly with Three.js        |\n| **Parameter Extraction**   | Automatically identifies adjustable dimensions       |\n| **Smart Updates**          | Efficient parameter changes without AI re-generation |\n| **Custom Fonts**           | Built-in Geist font support for text in models       |\n\n## 📸 Demo\n\n\u003c!-- Add demo GIFs or screenshots here --\u003e\n\u003c!-- Example format:\n![CADAM Demo](./demo/demo.gif)\n\n### Example: Creating a parametric gear\n![Gear Example](./demo/gear-example.png)\n--\u003e\n\n\u003e 🎬 **Try it live:** https://adam.new/cadam\n\n## 📺 Screenshots\n\n\u003cimg src=\"./public/screenshot-2.jpeg\" alt=\"CADAM Screenshot 2\" /\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eMore screenshots\u003c/summary\u003e\n\n  \u003cbr/\u003e\n  \u003cimg src=\"./public/screenshot-1.jpeg\" alt=\"CADAM Screenshot 1\" /\u003e\n  \u003cbr/\u003e\n  \u003cimg src=\"./public/screenshot-3.jpeg\" alt=\"CADAM Screenshot 3\" /\u003e\n\n\u003c/details\u003e\n\n## 🚀 Quick Start\n\n```bash\n# Clone the repository\ngit clone https://github.com/Adam-CAD/CADAM.git\ncd CADAM\n\n# Install dependencies\nnpm install\n\n# Start Supabase\nnpx supabase start\nnpx supabase functions serve --no-verify-jwt\n\n# Start the development server\nnpm run dev\n```\n\n## 📋 Prerequisites\n\n- Node.js and npm\n- Supabase CLI\n- ngrok (for local webhook development)\n\n## 🔧 Setting Up Environment Variables\n\n### 1. Frontend Environment:\n\n- Copy `.env.local.template` to `.env.local`\n- Update all required keys in `.env.local`:\n  ```\n  VITE_SUPABASE_ANON_KEY=\"\u003cTest Anon Key\u003e\"\n  VITE_SUPABASE_URL='http://127.0.0.1:54321'\n  ```\n\n### 2. Supabase Functions Environment:\n\n- Copy `supabase/functions/.env.template` to `supabase/functions/.env`\n- Update all required keys in `supabase/functions/.env`, including:\n  ```\n  ANTHROPIC_API_KEY=\"\u003cTest Anthropic API Key\u003e\"\n  ENVIRONMENT=\"local\"\n  NGROK_URL=\"\u003cNGROK URL\u003e\" # Your ngrok tunnel URL, e.g., https://xxxx-xx-xx-xxx-xx.ngrok.io\n  ```\n\n## 🌐 Setting Up ngrok for Local Development\n\nCADAM uses ngrok to send image URLs to Anthropic:\n\n1. Install ngrok if you haven't already:\n\n   ```bash\n   npm install -g ngrok\n   # or\n   brew install ngrok\n   ```\n\n2. Start an ngrok tunnel pointing to your Supabase instance:\n\n   ```bash\n   ngrok http 54321\n   ```\n\n3. Copy the generated ngrok URL (e.g., https://xxxx-xx-xx-xxx-xx.ngrok.io) and add it to your `supabase/functions/.env` file:\n\n   ```\n   NGROK_URL=\"https://xxxx-xx-xx-xxx-xx.ngrok.io\"\n   ```\n\n4. Ensure `ENVIRONMENT=\"local\"` is set in the same file.\n\n## 💻 Development Workflow\n\n### Install Dependencies\n\n```bash\nnpm i\n```\n\n### Start Supabase Services\n\n```bash\nnpx supabase start\nnpx supabase functions serve --no-verify-jwt\n```\n\n## 🛠️ Built With\n\n- **Frontend:** React 18 + TypeScript + Vite\n- **3D Rendering:** Three.js + React Three Fiber\n- **CAD Engine:** OpenSCAD WebAssembly\n- **Backend:** Supabase (PostgreSQL + Edge Functions)\n- **AI:** Anthropic Claude API\n- **Styling:** Tailwind CSS + shadcn/ui\n- **Libraries:** BOSL, BOSL2, MCAD\n\n## 🤝 Contributing\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also [open an issue](https://github.com/Adam-CAD/CADAM/issues).\n\nSee the [CONTRIBUTING.md](CONTRIBUTING.md) for instructions and [code of conduct](CODE_OF_CONDUCT.md).\n\n## 🙏 Credits\n\nThis app wouldn't be possible without the work of:\n\n- [OpenSCAD](https://github.com/openscad/openscad)\n- [openscad-wasm](https://github.com/openscad/openscad-wasm)\n- [openscad-playground](https://github.com/openscad/openscad-playground)\n- [openscad-web-gui](https://github.com/seasick/openscad-web-gui)\n- [dingcad](https://github.com/yacineMTB/dingcad)\n\n## 📄 License\n\nThis distribution is licensed under the GNU General Public License v3.0 (GPLv3). See `LICENSE`.\n\nComponents and attributions:\n\n- Portions of this project are derived from `openscad-web-gui` (GPLv3).\n- This distribution includes unmodified binaries from OpenSCAD WASM under\n  GPL v2 or later; distributed here under GPLv3 as part of the combined work.\n  See `src/vendor/openscad-wasm/SOURCE-OFFER.txt`.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \n**⭐ If you find CADAM useful, please consider giving it a star!**\n\n[![Stars](https://img.shields.io/github/stars/Adam-CAD/cadam?style=social\u0026logo=github)](https://github.com/Adam-CAD/cadam/stargazers)\n\nMade with 💙 for the 3D printing and CAD community\n\n\u003c/div\u003e\n","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAdam-CAD%2FCADAM","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAdam-CAD%2FCADAM","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAdam-CAD%2FCADAM/lists"}