Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Namma Yatri

ASecurity

Build, contribute to, and deploy Namma Yatri — India's open-source, zero-commission ride-hailing platform. Covers Haskell backend, PureScript frontend, Rust services, Beckn/ONDC mobility protocol, Nix-based dev setup, and API integration. Use when working with Namma Yatri, ride-hailing, Beckn protocol, or open mobility.

65 stars
0 votes
0 copies
2 views
Added 9/10/2026
developmentrustgoshellbashsqldockertestinggitapidatabase

Works with

vscodeapi

Security Analysis

A96/100
mediumInstalls packages at runtime which could introduce malicious dependencies

Scanned 9/10/2026

Install to Claude Code

$npx -y skills add ankitjh4/indic-ai-skills --skill namma-yatri --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Namma Yatri?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Namma Yatri
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ankitjh4-namma-yatri/badge)](https://www.skillsdirectory.com/skills/ankitjh4-namma-yatri)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: namma-yatri
description: Build, contribute to, and deploy Namma Yatri — India's open-source, zero-commission ride-hailing platform. Covers Haskell backend, PureScript frontend, Rust services, Beckn/ONDC mobility protocol, Nix-based dev setup, and API integration. Use when working with Namma Yatri, ride-hailing, Beckn protocol, or open mobility.
metadata:
  author: ankitjh4
  category: transport
  tags: namma-yatri, ride-hailing, open-source, beckn, ondc, mobility, haskell, purescript, rust, juspay
---

# Namma Yatri

Open-source, zero-commission, driver-centric ride-hailing platform built by [JusPay](https://juspay.in). Powers 71M+ rides across Bengaluru, Chennai, Kolkata, Delhi, Hyderabad, Kochi, and Mysuru.

- **Zero commission** — drivers keep the full fare
- **No surge pricing** — transparent, stable fares
- **Open source** — AGPL-3.0 licensed
- **Beckn/ONDC native** — built on India's open mobility protocol

**Repository**: https://github.com/nammayatri/nammayatri
**Open Data Dashboard**: https://nammayatri.in/open/
**Community**: https://github.com/orgs/nammayatri/discussions

## Architecture

Namma Yatri follows the [Beckn Protocol](https://developers.becknprotocol.io/) for open, interoperable mobility:

```
┌─────────────┐    Beckn     ┌──────────────┐    Beckn     ┌─────────────┐
│  Rider App  │◄────────────►│    Beckn     │◄────────────►│ Driver App  │
│    (BAP)    │   search/    │   Gateway    │   on_search/ │    (BPP)    │
│             │   confirm    │              │   on_confirm │             │
└─────────────┘              └──────────────┘              └─────────────┘
       │                                                          │
       ▼                                                          ▼
┌─────────────┐                                          ┌──────────────┐
│   Rider     │                                          │   Provider   │
│  Dashboard  │                                          │  Dashboard   │
└─────────────┘                                          └──────────────┘
```

**Key Beckn concepts:**
- **BAP** (Beckn Application Platform) — consumer/rider side
- **BPP** (Beckn Provider Platform) — driver/provider side
- **Beckn Gateway** — routes requests between BAP and BPP
- **Registry** — service discovery and trust layer

## Tech Stack

| Layer | Technology | Purpose |
|-------|-----------|---------|
| Backend | **Haskell** | Core business logic, APIs, ride matching |
| Frontend | **PureScript** | Rider and driver mobile apps |
| Location tracking | **Rust** | Real-time GPS tracking service |
| Notifications | **Rust** | Push notifications via gRPC + Redis Streams |
| GTFS server | **Rust** | Public transit data |
| Build system | **Nix** | Reproducible builds and dev environments |
| Haskell build | **Cabal** | Package management and compilation |
| Configuration | **Dhall** | Type-safe config files |
| Database | **PostgreSQL** | Primary data store |
| Cache | **Redis** | Session/location caching |
| Messaging | **Kafka** | Event streaming between services |
| Routing | **OSRM** | Open-source route calculations |

## Project Structure (Monorepo)

```
nammayatri/
├── Backend/                         # Haskell backend (main codebase)
│   ├── rider-platform/
│   │   ├── rider-app/               # Rider-facing APIs (port 8013)
│   │   └── public-transport/        # Public transit integration
│   ├── provider-platform/
│   │   └── dynamic-offer-driver-app/
│   │       ├── Main/                # Driver-facing APIs (port 8016)
│   │       └── Allocator/           # Ride matching engine (port 9996)
│   ├── dashboard/
│   │   ├── rider-dashboard/         # Rider ops dashboard
│   │   └── provider-dashboard/      # Provider ops dashboard
│   ├── kafka-consumers/             # Async event processors
│   ├── mocks/                       # Mock third-party services
│   ├── dhall-configs/               # Dhall configuration files
│   └── load-test/                   # Load testing suite
├── Frontend/                        # PureScript frontend
│   ├── ui-customer/                 # Rider mobile app
│   └── ui-driver/                   # Driver mobile app
└── docs/                            # Documentation
```

### Related Repositories

| Repository | Language | Purpose |
|-----------|----------|---------|
| `nammayatri/shared-kernel` | Haskell | Shared types, utilities, and business logic |
| `nammayatri/location-tracking-service` | Rust | Real-time driver location tracking |
| `nammayatri/notification-service` | Rust | Push notification delivery |
| `nammayatri/beckn-gateway` | Haskell | Beckn protocol routing |
| `nammayatri/common` | Nix | Shared Nix configuration |

## Development Setup

### Prerequisites

- **Nix** package manager (with flakes enabled)
- **direnv** for automatic shell activation
- ~16GB RAM recommended

### Backend Setup

```bash
# Clone the repository
git clone https://github.com/nammayatri/nammayatri.git
cd nammayatri

# Activate backend dev environment
ln -sf .envrc.backend .envrc
direnv allow

# Build all backend packages
cd Backend
cabal build all

# Run the full mobility stack (starts all services + DB/Redis/Kafka/OSRM)
, run-mobility-stack-dev
```

The `, ` prefix is a Nix-provided command runner. Run `, ` alone to see all available commands.

### Frontend Setup

```bash
# Enter frontend dev shell
nix develop .#frontend

# Rider app
cd Frontend/ui-customer
npm install && npm start

# Driver app
cd Frontend/ui-driver
npm install && npm start
```

Android builds require Android Studio, `google-services.json`, and `MAPS_API_KEY`.

### Useful Dev Commands

| Command | Purpose |
|---------|---------|
| `, run-mobility-stack-dev` | Start full stack via cabal (recommended) |
| `, run-mobility-stack-nix` | Start full stack via Nix build |
| `, ghcid lib/location-updates` | Fast compile feedback loop |
| `, run-pgadmin` | Start pgAdmin for DB inspection |
| `, run-monitoring` | Start Prometheus + Grafana |
| `, kill-svc-ports` | Kill all running services |
| `cabal test all` | Run test suite |

### Services & Ports

| Service | Port |
|---------|------|
| rider-app | 8013 |
| beckn-gateway | 8015 |
| dynamic-offer-driver-app | 8016 |
| mock-registry | 8020 |
| transporter-scheduler | 8053 |
| allocation-service | 9996 |

Swagger docs available at `http://localhost:<port>/swagger`.

## API Overview

### Rider APIs (BAP — port 8013)

Core rider-side flows following Beckn lifecycle:

| Endpoint Pattern | Purpose |
|-----------------|---------|
| `/search` | Search for available rides |
| `/select` | Select a ride option |
| `/init` | Initialize booking (address, payment) |
| `/confirm` | Confirm and place the booking |
| `/status` | Check ride status |
| `/track` | Track driver location |
| `/cancel` | Cancel a ride |
| `/rating` | Rate the driver |

### Driver APIs (BPP — port 8016)

Driver-side operations:

| Endpoint Pattern | Purpose |
|-----------------|---------|
| `/on_search` | Receive ride requests |
| `/on_select` | Respond to ride selection |
| `/on_init` | Confirm driver availability |
| `/on_confirm` | Accept ride booking |
| `/on_status` | Send ride status updates |
| `/on_track` | Send location updates |
| `/on_cancel` | Handle cancellation |

### Allocator (port 9996)

The ride matching engine that connects riders with nearby drivers. Handles:
- Proximity-based driver search
- Dynamic offer management (drivers quote their price)
- Ride assignment optimization

### Dashboard APIs

Ops dashboards for fleet management, analytics, and administration:
- **Rider dashboard** — user management, ride history, support
- **Provider dashboard** — driver management, earnings, compliance

## Contributing

### Commit Convention

```
<sub-project>/<type>: #<issue-number> <short summary>
```

**Sub-projects**: `backend`, `frontend`

**Types**: `feat`, `fix`, `chore`, `ci`, `docs`, `perf`, `refactor`, `test`

**Examples**:
```
backend/feat: #341 Driver onboarding flow
frontend/fix: #322 Font size in ride request popup
backend/refactor: #400 Extract payment module
```

### Branch Naming

```
<sub-project>/<type>/<issue-number><short-description>
```

**Examples**:
```
backend/feat/GH-341/driver-onboarding
frontend/fix/GH-322/font-size
```

### Contribution Flow

1. Find or create an issue on [GitHub Issues](https://github.com/nammayatri/nammayatri/issues)
2. Fork and create a branch following naming conventions
3. Make changes with atomic commits
4. Ensure `cabal build all` and `cabal test all` pass
5. Submit a PR with clear description
6. PRs are typically squash-merged

### Code Style

- Haskell: follow existing patterns in the codebase; HLS (Haskell Language Server) configured via Nix
- PureScript: standard PS conventions
- Use `direnv` + VSCode with recommended extensions for best IDE experience

## Key Concepts

### Dynamic Offer Model

Unlike fixed-price platforms, Namma Yatri uses a **dynamic offer** model:
1. Rider searches for a ride
2. Nearby drivers receive the request
3. Each driver quotes their own price
4. Rider selects from available offers

### services-flake

External services (PostgreSQL, Redis, Kafka, OSRM) are managed via [services-flake](https://github.com/juspay/services-flake), a Nix-based alternative to docker-compose. Services start automatically with `, run-mobility-stack-dev`.

### Shared Kernel

Common types, utilities, and business logic live in the [shared-kernel](https://github.com/nammayatri/shared-kernel) repo. To develop against a local checkout:

```nix
# In flake.nix, change:
inputs.shared-kernel.url = "path:/path/to/local/shared-kernel";
```

Then run `nix flake lock --update-input shared-kernel`.

## Troubleshooting

| Issue | Solution |
|-------|---------|
| Segfault during linking | `ulimit -s 9999` (stack size limit) |
| Services won't stop after Ctrl-C | `, kill-svc-ports` |
| VSCode direnv error | `unset NIX_STORE && direnv reload` |
| Slow nix build | Check Nix binary cache is configured |
| Slow cabal build | Increase `jobs` in `cabal.project` or uncomment dev flags |
| Find Nix dependency source | `nix run github:nix-community/nix-melt` |

## References

- **Website**: https://nammayatri.in
- **GitHub Org**: https://github.com/nammayatri
- **Open Data**: https://nammayatri.in/open/
- **Beckn Protocol**: https://developers.becknprotocol.io/
- **ONDC**: https://ondc.org
- **Founder's Vision (video)**: https://youtube.com/watch?v=NnyoxiiZLZg
- **JusPay**: https://juspay.in
- **services-flake**: https://github.com/juspay/services-flake
- **Contributing Guide**: https://github.com/nammayatri/nammayatri/blob/main/docs/CONTRIBUTING.md

---

**Jai Hind! 🇮🇳**

Attribution

ankitjh4ankitjh4
View sourceMore from ankitjh4 →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Browser Extension Developer

Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.

284722 votes

Seo Optimizer

SEO optimization with keyword analysis, readability assessment, technical validation, content quality. Use for search rankings, blog posts, content audits, or encountering keyword density, readability scores, meta tags, schema markup errors.

2192 votes

Google Official Seo Guide

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

1862 votes

Tanstack Start

Build a full-stack TanStack Start app on Cloudflare Workers from scratch — SSR, file-based routing, server functions, D1+Drizzle, better-auth, Tailwind v4+shadcn/ui. Use whenever the user mentions TanStack Start, asks to scaffold a full-stack Cloudflare app with SSR, wants an SSR dashboard, or asks for a React 19 + Cloudflare Workers app with file-based routing and server functions — even if they don't name TanStack Start specifically. No template repo — Claude generates every file fresh per ...

9881 votes

Pentest

PTES-aligned adversarial security audit for backend, frontend, and mobile applications. Produces a CVSS-scored Hacker Report with verified PoCs and phased remediation.

5491 votes
View all in development →