Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
1d584d7
Merge pull request #18 from openmobilityfoundation/main
MichaelWDanko Oct 21, 2025
350f837
Update README.md
MichaelWDanko Oct 21, 2025
e982398
Removes old file that isn't in use
MichaelWDanko Nov 18, 2025
901f305
Adds proposed changelog file
MichaelWDanko Feb 10, 2026
8e52a11
API version bump, README date, fix last_updated refs
MichaelWDanko Feb 10, 2026
58e71a8
Changes to gitignore
MichaelWDanko Apr 7, 2026
52418c2
Adds AGENTS/CLAUDE MD files for AI help
MichaelWDanko Apr 7, 2026
94fbcdf
Adds CHANGELOG AND 1.1 implementation plan
MichaelWDanko Apr 7, 2026
dd466a3
feat(shared): add external_reference, custom_attributes, and LineStri…
MichaelWDanko Apr 7, 2026
9bda37c
docs: restructure v1.1 implementation plan with wave-based parallel e…
MichaelWDanko Apr 7, 2026
5761e0b
Changes last updated date
MichaelWDanko Apr 7, 2026
f8a7270
fix: correct event_type ref, vehicle_type typo, and days_of_week type
MichaelWDanko Apr 7, 2026
debd2f9
chore: tighten OpenAPI lint metadata and plan tracking
MichaelWDanko Apr 7, 2026
d3e1d78
chore: Adds emails to the YAML files to fix linting issues
MichaelWDanko Apr 7, 2026
3c33487
fix: clean up pre-existing defects and linter issues
MichaelWDanko Apr 7, 2026
5b1ff5c
fix(shared): align external_reference schema with v1.1 spec
MichaelWDanko Apr 7, 2026
b535c70
Revised AGENTS.MD file
MichaelWDanko Apr 7, 2026
a291737
Add instructions to update the plan after the steps are worked on
MichaelWDanko Apr 7, 2026
2e03c8f
Marks step 1B completed
MichaelWDanko Apr 7, 2026
b00c7cc
feat(shared): add payment_channel, payment_method, enforcement, and v…
MichaelWDanko Apr 7, 2026
7d7d227
feat(shared): add enforcement and detection event types
MichaelWDanko Apr 7, 2026
e576203
feat(shared): complete Wave 1 shared schema updates
MichaelWDanko Apr 7, 2026
57f6171
docs: simplify and re-baseline v1.1 implementation plan
MichaelWDanko Apr 7, 2026
dd9c07d
feat(api): use custom_attributes_dictionary in JSON responses
MichaelWDanko Apr 8, 2026
798d6de
feat: complete phase 2 shared model parity
MichaelWDanko Apr 8, 2026
4ac0ef2
feat: implement phase 3 API parity
MichaelWDanko Apr 8, 2026
3c3a04f
fix: align v1.1 OpenAPI schemas with CDS spec
MichaelWDanko Apr 10, 2026
3d0eebf
docs: Cleans up documentation to be less implementation heavy for wri…
MichaelWDanko Jun 2, 2026
100d9e0
docs: Adds the STYLE_CONVENTIONS.md and improves usability of README …
MichaelWDanko Jun 2, 2026
25ce745
Docs: updates gitignore and adds package .json files for stoplight's …
MichaelWDanko Jun 2, 2026
47eab3b
Update toc.json
MichaelWDanko Jun 15, 2026
38a6852
Update toc.json
MichaelWDanko Jun 15, 2026
a6c59a9
Update toc.json
MichaelWDanko Jun 15, 2026
ee805a6
fix: Adds an example to the objects
MichaelWDanko Jun 15, 2026
fb1768d
Merge branch 'draft-v1.1' of github.com:openmobilityfoundation/cds-op…
MichaelWDanko Jun 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
node_modules/

# Development environments
.claude/
.codex/
.vscode/
.idea/
.DS_Store

# Editor files
*.swp
*.swo
*~
53 changes: 53 additions & 0 deletions AGENTS.MD

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The AGENTS.MD and CLAUDE.md files were added to support AI development of the open API spec.

Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Working with the CDS OpenAPI Project

This document describes how to collaborate with an AI agent (or human contributor) on the `cds-openapi` project.

## Project Purpose

This repository maintains an **OpenAPI 3.1 specification** for the [Curb Data Specification (CDS)](https://github.com/openmobilityfoundation/curb-data-specification), managed by the Open Mobility Foundation. The spec is hosted publicly via Stoplight and serves as an interactive API browser for implementers.

## Repository Structure

```
cds-openapi/
APIs/
Curbs API.yaml # Curb zones, areas, spaces, policies, objects
Events API.yaml # Curb events and sensor status
Metrics API.yaml # Sessions and aggregates
Shared Data Models/ # Reusable YAML schemas (curb_zone, curb_event, etc.)
Rest Responses/ # Common API response header schemas
toc.json # Stoplight table of contents
.spectral.mjs # Linting rules
.stoplight.json # Stoplight platform config
```

## Branch Strategy

Each CDS version has its own branch (e.g., `v1.1`, `v1.2`). Changes to a specific version should be made to that version's branch and merged back to it. Version branches are independent — changes to one version do not affect another.

## How to Make Changes

### Workflow for editing the spec

1. **Read the upstream spec on `main`** at https://github.com/openmobilityfoundation/curb-data-specification for the relevant section to confirm exact field names, types, enums, descriptions, and required/optional status
2. **Edit the YAML files** — maintain the existing style conventions:
- Use `$ref` for shared models rather than inline definitions
- Include `description` on every field
- Use `x-stoplight: id:` annotations if present on surrounding fields (Stoplight generates these)
- Keep `required` arrays up to date
3. **Validate** — run the Spectral linter (`.spectral.mjs`) after all changes. Install dependencies with `npm install` and validate with `spectral lint "APIs/*.yaml"`.
4. **Commit** — use conventional-commit style messages

See [STYLE_CONVENTIONS.md](STYLE_CONVENTIONS.md) for detailed style conventions, field type conventions, guidance on adding new shared models, and key gotchas.

## Validation

The project uses Spectral for OpenAPI linting:

```bash
npm install
spectral lint "APIs/*.yaml"
```

The `.spectral.mjs` config extends a remote Stoplight ruleset. Run the linter after all changes are made. Always lint and fix any errors before committing. When a task adds or edits standalone shared model files, lint those touched files as well in addition to the API documents.

Loading