{"id":32747488,"url":"https://github.com/ameriq8/curisjs","last_synced_at":"2026-04-28T16:01:22.577Z","repository":{"id":322153111,"uuid":"1088359201","full_name":"Ameriq8/curisjs","owner":"Ameriq8","description":"High-performance, multi-runtime web framework built on Web Standards","archived":false,"fork":false,"pushed_at":"2025-11-14T11:58:19.000Z","size":361,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-14T12:28:58.998Z","etag":null,"topics":["backend","bun","deno","framework","high-performance","http-server","middleware","node","nodejs","radix-tree","radix-trie","rest-api","router","trie","typescript","web-framework","web-standards"],"latest_commit_sha":null,"homepage":"https://github.com/Ameriq8/curisjs","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/Ameriq8.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":"SECURITY.md","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-11-02T20:16:39.000Z","updated_at":"2025-11-14T11:58:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"f45a2c2d-f47f-43a2-a4bd-e9d6d6d4335e","html_url":"https://github.com/Ameriq8/curisjs","commit_stats":null,"previous_names":["ameriq8/curisjs"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Ameriq8/curisjs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ameriq8%2Fcurisjs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ameriq8%2Fcurisjs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ameriq8%2Fcurisjs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ameriq8%2Fcurisjs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ameriq8","download_url":"https://codeload.github.com/Ameriq8/curisjs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ameriq8%2Fcurisjs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32387923,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T14:34:11.604Z","status":"ssl_error","status_checked_at":"2026-04-28T14:32:37.009Z","response_time":56,"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":["backend","bun","deno","framework","high-performance","http-server","middleware","node","nodejs","radix-tree","radix-trie","rest-api","router","trie","typescript","web-framework","web-standards"],"created_at":"2025-11-03T20:00:30.078Z","updated_at":"2026-04-28T16:01:22.571Z","avatar_url":"https://github.com/Ameriq8.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/CurisJS.png\" alt=\"CurisJS Logo\" width=\"200\" /\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eCurisJS Framework\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  A high-performance, multi-runtime web framework built on Web Standards\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Ameriq8/curisjs/blob/main/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/license-MIT-blue.svg\" alt=\"License\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@curisjs/core\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/v/@curisjs/core.svg\" alt=\"npm version\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/Ameriq8/curisjs\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg\" alt=\"PRs Welcome\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## ✨ Features\n\n- 🚀 **Blazing Fast** - Optimized radix/trie router with minimal overhead and zero-copy streaming\n- 🌐 **Multi-runtime** - Works seamlessly on Node.js, Bun, Deno, and Edge runtimes\n- 📦 **Standards-based** - Built on Web Request/Response APIs for maximum compatibility\n- 🛡️ **Type-safe** - Full TypeScript support with excellent IDE integration\n- 🔧 **Simple \u0026 Intuitive** - Clean API that's easy to learn and use\n- 🎯 **Production-ready** - Well-tested with predictable performance\n- 🧩 **Modular** - Use only what you need, tree-shakeable by design\n\n## 📦 Installation\n\n```bash\n# Using pnpm (recommended)\npnpm add @curisjs/core\n\n# Using npm\nnpm install @curisjs/core\n\n# Using yarn\nyarn add @curisjs/core\n```\n\n## 🚀 Quick Start\n\n### Basic Example\n\n```typescript\nimport { createApp } from '@curisjs/core';\nimport { serve } from '@curisjs/core/node';\n\nconst app = createApp();\n\n// Define routes\napp.get('/', () =\u003e new Response('Hello World!'));\n\napp.get('/users/:id', (ctx) =\u003e {\n  return Response.json({\n    userId: ctx.params.id,\n  });\n});\n\n// Start server\nawait serve(app, { port: 3000 });\nconsole.log('Server running at http://localhost:3000');\n```\n\n### Middleware Example\n\n```typescript\nimport { createApp } from '@curisjs/core';\nimport { cors, logger } from '@curisjs/core/middleware';\n\nconst app = createApp();\n\n// Global middleware\napp.use(logger());\napp.use(cors({ origin: '*' }));\n\n// Custom middleware\napp.use(async (ctx, next) =\u003e {\n  const start = Date.now();\n  await next();\n  const duration = Date.now() - start;\n  console.log(`${ctx.req.method} ${ctx.req.url} - ${duration}ms`);\n});\n\napp.get('/api/data', () =\u003e Response.json({ message: 'Hello!' }));\n```\n\n### Advanced Routing\n\n```typescript\n// Route parameters\napp.get('/users/:id', (ctx) =\u003e {\n  const userId = ctx.params.id;\n  return Response.json({ userId });\n});\n\n// Multiple parameters\napp.get('/posts/:postId/comments/:commentId', (ctx) =\u003e {\n  return Response.json(ctx.params);\n});\n\n// Wildcard routes\napp.get('/files/*path', (ctx) =\u003e {\n  const filePath = ctx.params.path;\n  return Response.json({ filePath });\n});\n\n// Handle all HTTP methods\napp.all('/webhook', (ctx) =\u003e {\n  return Response.json({ method: ctx.req.method });\n});\n```\n\n## 🏗️ Project Structure\n\n```\n├── packages/\n│   └── core/              # Core framework library\n├── template/\n│   └── backend/           # Backend application template\n├── docs/                  # Documentation\n├── assets/                # Project assets (logos, images)\n└── README.md             # This file\n```\n\n## 🛠️ Development\n\n### Prerequisites\n\n- Node.js \u003e= 18.0.0\n- pnpm \u003e= 8.0.0\n\n### Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/Ameriq8/curisjs.git\ncd curisjs\n\n# Install dependencies\npnpm install\n\n# Build all packages\npnpm build\n\n# Run tests\npnpm test\n```\n\n## 📜 Available Scripts\n\n| Command              | Description                       |\n| -------------------- | --------------------------------- |\n| `pnpm build`         | Build all packages                |\n| `pnpm dev`           | Start development mode with watch |\n| `pnpm test`          | Run all tests                     |\n| `pnpm test:watch`    | Run tests in watch mode           |\n| `pnpm test:coverage` | Generate test coverage report     |\n| `pnpm lint`          | Lint code with ESLint             |\n| `pnpm format`        | Format code with Prettier         |\n| `pnpm format:check`  | Check code formatting             |\n| `pnpm typecheck`     | Type-check all packages           |\n| `pnpm clean`         | Clean build artifacts             |\n\n## 📖 Documentation\n\n📚 **[Read the full documentation at https://ameriq8.github.io/curisjs/](https://ameriq8.github.io/curisjs/)**\n\nFor offline access, see the [docs](./docs) directory or visit the [core package README](./packages/core/README.md).\n\n## 🎨 Using the Template\n\nGet started quickly with our pre-configured backend template:\n\n```bash\n# Navigate to the template\ncd template/backend\n\n# Install dependencies\npnpm install\n\n# Start development server\npnpm dev\n```\n\nThe template includes:\n\n- ✅ Project structure best practices\n- ✅ Example controllers and routes\n- ✅ Database integration setup\n- ✅ Validation examples\n- ✅ Middleware configuration\n- ✅ Docker support\n\n## 🌍 Runtime Support\n\nCurisJS works across multiple JavaScript runtimes:\n\n### Node.js\n\n```typescript\nimport { createApp } from '@curisjs/core';\nimport { serve } from '@curisjs/core/node';\n\nconst app = createApp();\napp.get('/', () =\u003e new Response('Hello from Node!'));\nawait serve(app, { port: 3000 });\n```\n\n### Bun\n\n```typescript\nimport { createApp } from '@curisjs/core';\n\nconst app = createApp();\napp.get('/', () =\u003e new Response('Hello from Bun!'));\n\nexport default {\n  port: 3000,\n  fetch: app.fetch.bind(app),\n};\n```\n\n### Deno\n\n```typescript\nimport { createApp } from '@curisjs/core';\n\nconst app = createApp();\napp.get('/', () =\u003e new Response('Hello from Deno!'));\n\nDeno.serve({ port: 3000 }, app.fetch.bind(app));\n```\n\n## 🤝 Contributing\n\nContributions are welcome! We appreciate your help in making CurisJS better.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\nPlease read [CONTRIBUTING.md](./CONTRIBUTING.md) for detailed guidelines.\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.\n\n## 🔒 Security\n\nSecurity is a top priority for CurisJS. If you discover a security vulnerability, please follow our [Security Policy](./SECURITY.md).\n\n## 💬 Community \u0026 Support\n\n- � [Documentation](https://ameriq8.github.io/curisjs/) - Comprehensive guides and API reference\n- �📫 [GitHub Issues](https://github.com/Ameriq8/curisjs/issues) - Bug reports and feature requests\n- 💡 [GitHub Discussions](https://github.com/Ameriq8/curisjs/discussions) - Questions and community discussions\n\n## 🙏 Acknowledgments\n\nCurisJS is built with inspiration from modern web frameworks and the amazing JavaScript community.\n\n---\n\n\u003cp align=\"center\"\u003eMade with ❤️ by \u003ca href=\"https://github.com/Ameriq8\"\u003eAmeriq8\u003c/a\u003e\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fameriq8%2Fcurisjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fameriq8%2Fcurisjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fameriq8%2Fcurisjs/lists"}