A modern, responsive web application for discovering and exploring modules from the ASIMOV ecosystem. Built with SvelteKit and Tailwind CSS, it provides an intuitive interface to browse GitHub repositories from the asimov-modules
organization.

- Real-time GitHub Integration: Fetches live data from the
asimov-modules
GitHub organization - Smart Sorting: Multiple sorting options including relevance, popularity, newest, and recently updated
- Responsive Design: Optimized for desktop, tablet, and mobile devices
- Interactive Module Cards: Display stars, contributors, languages, topics, and last update
- Loading States: Smooth skeleton loading animations
- Rate Limit Handling: Supports both authenticated and unauthenticated GitHub API access
- Custom Theme: Beautiful design using custom color palette
- Framework: SvelteKit
- Styling: Tailwind CSS v4
- Icons: Phosphor Svelte
- API: GitHub REST API
- TypeScript: Full type safety
- Deployment: Node.js adapter ready
- Node.js 22+ (see
.nvmrc
) - npm, pnpm, or yarn
- GitHub Personal Access Token (optional but recommended)
-
Clone the repository
git clone https://github.com/your-username/asimov.directory.git cd asimov.directory
-
Install dependencies
nvm use # Ensure you are using Node.js v22 (required for this project's ESM features and performance optimizations) npm install # or pnpm install # or yarn install
-
Start the development server
npm run dev
Open http://localhost:5173 in your browser.
The application fetches module data from the ASIMOV Platform API
This API provides:
- Module repository information
- GitHub stars and metadata
- YAML manifest data for each module
- Organization statistics
The project uses a custom color palette defined in src/app.css
:
@theme {
--color-gGray-100: #f6f6f6;
--color-sSlate-800: #04163c;
--color-oOrange-500: #f37021;
/* ... more colors */
}
Four sorting methods are available:
- Most Relevant: Custom algorithm combining stars, activity, description, and topics
- Most Popular: Sorted by GitHub stars
- Newest: Recently created repositories
- Recently Updated: Latest activity
Configure which repositories to exclude in src/lib/github.ts
:
const EXCLUDED_REPOS = ['.github', 'docs', 'template'];
npm run build
npm run preview
The project is configured with @sveltejs/adapter-node
and can be deployed to:
- Vercel:
vercel deploy
- Netlify: Connect GitHub repository
- Docker: Use the generated
build
directory - VPS: Run
node build
after building
No environment variables are required for production deployment since the app uses a public API.
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run check # Run Svelte type checking
npm run lint # Run ESLint and Prettier
npm run format # Format code with Prettier
- TypeScript: Full type safety with strict mode
- ESLint: Code linting with Svelte support
- Prettier: Code formatting with Svelte and Tailwind plugins
The application monitors GitHub API rate limits:
- Displays remaining requests in console
- Graceful fallback for missing data
- Handles rate limit exceeded errors
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Commit changes:
git commit -m 'Add amazing feature'
- Push to branch:
git push origin feature/amazing-feature
- Open a Pull Request
- Live Demo: asimov.directory
- ASIMOV Modules: github.com/asimov-modules
- Issues: Report bugs or request features
If you have any questions or need help, please:
- Check the Issues page
- Create a new issue with details about your problem
- Contact the ASIMOV.systems team