{"id":31718692,"url":"https://github.com/speakeasy-api/taskmaster","last_synced_at":"2026-02-27T06:50:34.785Z","repository":{"id":310513339,"uuid":"1040147702","full_name":"speakeasy-api/taskmaster","owner":"speakeasy-api","description":"An application to demonstrate features for Speakeasy products.","archived":false,"fork":false,"pushed_at":"2025-10-22T13:37:18.000Z","size":372,"stargazers_count":2,"open_issues_count":2,"forks_count":4,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-24T01:46:08.053Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://taskmaster-speakeasyapi.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/speakeasy-api.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-08-18T14:24:55.000Z","updated_at":"2025-10-22T13:37:22.000Z","dependencies_parsed_at":"2025-09-03T20:11:54.990Z","dependency_job_id":"ca5eaedc-81e8-46b2-aea5-4e5d91ef7919","html_url":"https://github.com/speakeasy-api/taskmaster","commit_stats":null,"previous_names":["speakeasy-api/taskmaster"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/speakeasy-api/taskmaster","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speakeasy-api%2Ftaskmaster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speakeasy-api%2Ftaskmaster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speakeasy-api%2Ftaskmaster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speakeasy-api%2Ftaskmaster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/speakeasy-api","download_url":"https://codeload.github.com/speakeasy-api/taskmaster/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speakeasy-api%2Ftaskmaster/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29887020,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T05:38:26.446Z","status":"ssl_error","status_checked_at":"2026-02-27T05:38:25.235Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":[],"created_at":"2025-10-09T02:54:54.965Z","updated_at":"2026-02-27T06:50:34.764Z","avatar_url":"https://github.com/speakeasy-api.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Speakeasy Demo Application\n\nA modern SvelteKit application designed to demonstrate Speakeasy products and features.\n\n## 🚀 Quick Deploy to Vercel\n\nThis application is optimized for easy deployment to Vercel with Neon PostgreSQL:\n\n1. **Fork this repository** to your GitHub account\n\n2. **Set up Neon Database**:\n   - Create a new project at [neon.tech](https://neon.tech)\n   - Copy your database connection string\n\n\u003e [!NOTE]  \n\u003e You can also skip this step by setting up a\n\n3. **Deploy to Vercel**:\n   - Connect your GitHub repository to Vercel\n   - Add the following environment variable:\n     ```\n     DATABASE_URL=your_neon_connection_string\n     ```\n   - Deploy! Vercel will automatically handle the build and deployment\n\n4. **Run database migrations**:\n   - After deployment, run migrations via Vercel CLI or dashboard\n   - Alternatively, set up GitHub Actions for automatic migrations\n\n## 🛠 Tech Stack\n\nThis application leverages modern web development tools and frameworks:\n\n- **Frontend**: [Svelte 5](https://svelte.dev) + [SvelteKit 2.x](https://kit.svelte.dev)\n- **UI Framework**: [Skeleton UI](https://skeleton.dev) + [TailwindCSS 4.x](https://tailwindcss.com)\n- **Authentication**: [Better Auth](https://better-auth.com) with email/password and OIDC support\n- **Database**: [PostgreSQL](https://postgresql.org) with [Drizzle ORM](https://orm.drizzle.team)\n- **Deployment**: [Vercel](https://vercel.com) with [Neon](https://neon.tech) database\n- **Development**: TypeScript, Vite, ESLint, Prettier\n\n## ✨ Key Features\n\n- 🔐 **Full Authentication System** - Email/password auth with Better Auth. This enables Client Credentials, Authorization Code, and Dynamic Client Registration flows.\n- 📚 **OpenAPI Documentation** - Auto-generated API documentation (`/api/openapi.yaml`)\n- 🤖 **AI-Powered Development** - Optimized for efficient development with Claude Code\n\n## 🏗 AI-Powered Development\n\nThis project includes a comprehensive `CLAUDE.md` file that enables efficient AI-powered development workflows. The configuration provides Claude Code with:\n\n- Complete project architecture understanding\n- Development command shortcuts\n- Database operation guidance\n- API development best practices\n- Remote functions implementation patterns\n\nSimply use [Claude Code](https://claude.ai/code) with this repository for intelligent code assistance, refactoring, and feature development.\n\n## 🚦 Local Development\n\n### Prerequisites\n\n- Bun 1.2+\n- PostgreSQL database (local or hosted)\n\n### Setup\n\n1. **Clone and install dependencies**:\n\n   ```bash\n   git clone \u003cyour-repo-url\u003e\n   cd sveltekit-betterauth\n   bun install  # or npm install\n   ```\n\n2. **Configure environment variables**:\n\n   ```bash\n   cp .env.example .env\n   ```\n\n   Add your database URL:\n\n   ```env\n   DATABASE_URL=postgresql://username:password@localhost:5432/database_name\n   ```\n\n3. **Set up the database**:\n\n   ```bash\n   # Generate and run migrations\n   bunx drizzle-kit generate\n   bunx drizzle-kit migrate\n\n   # Optional: Open Drizzle Studio\n   bunx drizzle-kit studio\n   ```\n\n4. **Start development server**:\n   ```bash\n   bun dev  # or npm run dev\n   ```\n\nVisit `http://localhost:5173` to see your application running.\n\n## 🏛 Architecture Notes\n\n### Remote Functions\n\nThis project uses SvelteKit's experimental remote functions feature for type-safe server-client communication:\n\n- **Component-adjacent pattern**: Each component has its own `Component.remote.ts` and `Component.schemas.ts` files\n- **Co-located architecture**: Remote functions, schemas, and components stay together for better maintainability\n- **Validation utilities**: Zod schemas with error handling helpers in `/src/lib/util.server.ts`\n\n### Authentication Flow\n\n- **Better Auth Server**: Configured in `src/lib/auth.ts`\n- **SvelteKit Integration**: Handled via `src/hooks.server.ts`\n- **Database Schemas**: Auth tables in `src/lib/db/schemas/auth.ts`\n- **OIDC Provider**: Custom implementation in `src/lib/oidc-provider/`\n\n### Database Structure\n\n- User management and authentication tables\n- OAuth applications and tokens\n- Session management with caching\n- JSON Web Key Sets for token signing\n\n## 📋 Available Commands\n\n### Development\n\n- `bun dev` - Start development server\n- `bun build` - Build for production\n- `bun preview` - Preview production build\n\n### Code Quality\n\n- `bun run check` - TypeScript checking with svelte-kit sync\n- `bun run check:watch` - Continuous type checking\n- `bun run lint` - Lint with Prettier + ESLint\n- `bun run format` - Format code with Prettier\n- `bun run test` - Run tests with Vitest\n\n### Database\n\n- `bunx drizzle-kit generate` - Generate migrations\n- `bunx drizzle-kit migrate` - Run migrations\n- `bunx drizzle-kit studio` - Open Drizzle Studio\n\n## 📖 API Documentation\n\nThe application includes auto-generated OpenAPI documentation. After starting the development server, visit the API documentation endpoints to explore available endpoints and schemas.\n\n## 🤝 Contributing\n\nThis project follows modern development practices with comprehensive linting, formatting, and type checking. The `CLAUDE.md` configuration ensures consistent development patterns when using AI assistance.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspeakeasy-api%2Ftaskmaster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspeakeasy-api%2Ftaskmaster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspeakeasy-api%2Ftaskmaster/lists"}