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
인공지능

widget-generator

Logo of f
f

prompts.chat 피드 시스템을 위한 사용자 지정 가능한 위젯 플러그인을 생성합니다

149.6k
0
인공지능

flags

Logo of vercel
vercel

리액트 프레임워크

138.4k
0
브라우저

pr-review

Logo of pytorch
pytorch

파이썬에서 텐서와 동적 신경망 구현 및 강력한 GPU 가속 지원

98.6k
0
개발자