api — betagouv community, betagouv, ide skills, carpooling, covoiturage, Claude Code, Cursor, Windsurf

v1.0.0

このスキルについて

高度な API 開発機能とカスタム IoC フレームワーク、Inversify を使用した依赖性注入が必要な AI エージェントに最適です。 Use when working on the Deno/TypeScript backend API — creating actions, repositories, service providers, or modifying routing. Covers ILOS framework patterns, decorators, SQL queries, and Docker stack.

# Core Topics

covoiturage-gouv-fr covoiturage-gouv-fr
[35]
[12]
Updated: 3/20/2026

Killer-Skills Review

Decision support comes first. Repository text comes second.

Reference-Only Page Review Score: 9/11

This page remains useful for operators, but Killer-Skills treats it as reference material instead of a primary organic landing page.

Original recommendation layer Concrete use-case guidance Explicit limitations and caution Quality floor passed for review
Review Score
9/11
Quality Score
59
Canonical Locale
en
Detected Body Locale
en

高度な API 開発機能とカスタム IoC フレームワーク、Inversify を使用した依赖性注入が必要な AI エージェントに最適です。 Use when working on the Deno/TypeScript backend API — creating actions, repositories, service providers, or modifying routing. Covers ILOS framework patterns, decorators, SQL queries, and Docker stack.

このスキルを使用する理由

エージェントは、カスタム IoC フレームワークと Inversify を使用した依赖性注入で堅牢なアプリケーションを構築する能力を持ち、カープーリングと betagouv プロジェクトに最適です。また、@handler()、@serviceProvider()、@provider() などの重要なデコレーターを提供して、効率的な API 開発を実現します。

おすすめ

高度な API 開発機能とカスタム IoC フレームワーク、Inversify を使用した依赖性注入が必要な AI エージェントに最適です。

実現可能なユースケース for api

カスタム IoC フレームワークを使用した堅牢なカープーリングアプリケーションの構築
Inversify を使用した依赖性注入の betagouv プロジェクトの開発
@handler() デコレーターを使用してサービス、メソッド、ミドルウェア、API ルートを備えたアクションハンドラーを定義する

! セキュリティと制限

  • api/README.md に従った設定と構成が必要
  • Inversify を使用した依赖性注入のカスタム IoC フレームワークに特有

Why this page is reference-only

  • - Current locale does not satisfy the locale-governance contract.

Source Boundary

The section below is supporting source material from the upstream repository. Use the Killer-Skills review above as the primary decision layer.

Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is api?

高度な API 開発機能とカスタム IoC フレームワーク、Inversify を使用した依赖性注入が必要な AI エージェントに最適です。 Use when working on the Deno/TypeScript backend API — creating actions, repositories, service providers, or modifying routing. Covers ILOS framework patterns, decorators, SQL queries, and Docker stack.

How do I install api?

Run the command: npx killer-skills add covoiturage-gouv-fr/mono/api. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for api?

Key use cases include: カスタム IoC フレームワークを使用した堅牢なカープーリングアプリケーションの構築, Inversify を使用した依赖性注入の betagouv プロジェクトの開発, @handler() デコレーターを使用してサービス、メソッド、ミドルウェア、API ルートを備えたアクションハンドラーを定義する.

Which IDEs are compatible with api?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for api?

api/README.md に従った設定と構成が必要. Inversify を使用した依赖性注入のカスタム IoC フレームワークに特有.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add covoiturage-gouv-fr/mono/api. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use api immediately in the current project.

! Reference-Only Mode

This page remains useful for installation and reference, but Killer-Skills no longer treats it as a primary indexable landing page. Read the review above before relying on the upstream repository instructions.

Imported Repository Instructions

The section below is supporting source material from the upstream repository. Use the Killer-Skills review above as the primary decision layer.

Supporting Evidence

api

Install api, an AI agent skill for AI agent workflows and automation. Works with Claude Code, Cursor, and Windsurf with one-command setup.

SKILL.md
Readonly
Imported Repository Instructions
The section below is supporting source material from the upstream repository. Use the Killer-Skills review above as the primary decision layer.
Supporting Evidence

API Developer Skill

Read api/README.md first for setup, commands, and configuration.

ILOS Framework (IoC)

The API uses a custom IoC framework (ILOS) with Inversify for dependency injection.

Key Decorators

DecoratorPurpose
@handler()Defines action handlers with service, method, middlewares, API routes
@serviceProvider()Decorates service providers with handlers, commands, validators
@provider()Marks injectable service classes
@middleware()Marks middleware classes
@command()CLI commands with signature and options

Key Components

  • Kernel (api/src/pdc/proxy/Kernel.ts): Registers all service providers, connections, and commands
  • Service Providers: Each domain module is a service provider that registers actions and repositories
  • Actions: Extend Action class, implement handle(params, context) method
  • Repositories: Database access layer using PostgreSQL

Service Provider Structure

Each service follows this pattern:

services/<name>/
├── <Name>ServiceProvider.ts   # Registers all components
├── actions/                   # Action handlers
├── repositories/              # Database access
├── contracts/                 # TypeScript interfaces
├── commands/                  # CLI commands (optional)
└── config/                    # Service configuration

Action Pattern

typescript
1@handler({ 2 service: "acquisition", 3 method: "create", 4 middlewares: [ 5 ["validate", CreateJourneyParamsValidator], 6 "scopeToSelf", 7 ], 8 apiRoute: { 9 path: "/v3/journeys", 10 method: "POST", 11 rateLimiter: { max: 2000 }, 12 }, 13}) 14export class CreateJourneyAction extends Action { 15 async handle(params: ParamsType, context: ContextType): Promise<ResultType> { 16 // Implementation 17 } 18}

Repository Pattern

Always use the sql template literal for parameterized queries:

typescript
1import { sql } from "@/lib/pg/sql.ts"; 2 3const result = await this.connection.getClient().query(sql` 4 SELECT * FROM carpools WHERE id = ${id} 5`);

No ORM is used. DenoPostgresConnection.ts is the current provider (replaces LegacyPostgresConnection.ts).

API Routing

  • External REST: GET/POST/PUT/DELETE /v3/{service}/{action}
  • Internal RPC: POST /rpc with { "method": "service:action", "params": {...} }

Routes defined in api/src/pdc/proxy/HttpTransport.ts. External routes should be defined in the Action decorator. Internal RPC calls are being migrated to shared providers in api/src/pdc/providers.

Service Modules

Located in api/src/pdc/services/:

ServicePurpose
acquisitionTrip data capture from operators
authAuthentication (JWT, ProConnect, Dex)
dashboardCRUD for users, operators, territories for app-partners
exportData export functionality
policyCarpooling campaigns
operatorOperator management
territoryTerritory/jurisdiction management
apdfAPDF reporting
ceeMobility tax incentive (CEE)
honorPDF certificate generation
observatoryPublic statistics APIs
geoGeolocation services
companyCompany lookup (INSEE API)

Shared Types

Domain interfaces in shared/ directory — import with @pdc/shared/{domain}. Being deprecated as the older frontend was removed in favor of app-partners.

Docker Compose Overlays

  • docker-compose.base.yml - Service definitions (no exposed ports)
  • docker-compose.dev.yml - Exposes ports for localhost development (default just dc)
  • docker-compose.proxy.yml - Adds Traefik for *.covoiturage.test domains
  • docker-compose.e2e.yml - E2E test configuration (just dc_e2e)

Run just add-hosts to add domain aliases to /etc/hosts.

Deno Configuration

api/deno.jsonc:

  • Import aliases: @/ maps to ./src/ (use Deno's Organise Imports LSP feature)
  • Legacy decorators enabled for Inversify
  • Line width: 120 for formatting

Development Notes

  • NixOS users: Add DOCKER_SOCK=/run/user/1000/docker.sock to api/.env
  • Use just seed-local-users for test accounts (requires APP_ENV=local)
  • Keep test databases with APP_POSTGRES_KEEP_TEST_DATABASES=true, then clean with just drop_test_databases
  • Pre-commit: Talisman for secret detection configured in .talismanrc. Run pre-commit install when hook not found.

関連スキル

Looking for an alternative to api or another community skill for your workflow? Explore these related open-source skills.

すべて表示

openclaw-release-maintainer

Logo of openclaw
openclaw

Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

333.8k
0
AI

widget-generator

Logo of f
f

カスタマイズ可能なウィジェットプラグインをprompts.chatのフィードシステム用に生成する

149.6k
0
AI

flags

Logo of vercel
vercel

React フレームワーク

138.4k
0
ブラウザ

pr-review

Logo of pytorch
pytorch

Pythonにおけるテンソルと動的ニューラルネットワーク(強力なGPUアクセラレーション)

98.6k
0
開発者