Skip to content

an-swe/monorepo

Repository files navigation

anprogrammer.org

Deployed on Cloudflare Workers Built with React TypeScript Vite Hono License: MIT

Link App CI Index App CI

The source code for the anprogrammer.org ecosystem, a collection of high-performance web applications and utilities built on the modern web stack.

Directory Structure

The repository is organized as a monorepo using NPM Workspaces.

Applications (apps/)

Application Description URL Stack
Index The main landing page and directory. anprogrammer.org Vite, React
Link Shortener High-performance URL shortener with custom aliases and TTL. link.anprogrammer.org Cloudflare Workers, Hono, D1, React

Shared Packages (packages/)

  • @repo/ui: Shared UI component library implementing the Chromium-inspired design system.
  • @repo/config: Shared configuration files (TypeScript, ESLint, etc.).
  • @repo/utils: Common utility functions and helpers.

Development

Prerequisites

  • Node.js 20+
  • npm 10+

Getting Started

  1. Install dependencies:

    npm install
  2. Run applications:

    • Index App:
      npm run dev:index
    • Link Shortener:
      npm run dev:link

Creating a New App

Use the interactive CLI tool to create a new app:

npm run create-app

This will:

  1. Prompt you for the app name
  2. Scaffold a React + TypeScript app with Vite
  3. Restructure files for Cloudflare Workers
  4. Add Cloudflare dependencies (Hono, Wrangler, etc.)
  5. Configure Vite with Cloudflare plugin
  6. Create a worker entry point
  7. Generate Wrangler configuration
  8. Update TypeScript configurations
  9. Add workspace scripts to root package.json
  10. Create GitHub Actions deployment workflow

After the tool completes:

npm install
npm run dev:your-app

Deployment

Continuous deployment is handled via GitHub Actions, deploying directly to Cloudflare's global edge network.

  • Infrastructure: Cloudflare Workers & Pages
  • Database: Cloudflare D1 (SQLite at the Edge)

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published