-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Contractual Roadmap
Background
๐ ๏ธ Why this Roadmap?
This roadmap focuses on:
- Enhancing functionality with new features.
- Improving operational workflows.
- Delivering comprehensive documentation to foster community adoption and engagement.
Each task should be linked to an issue for tracking and collaboration. Letโs build this together! ๐
Roadmap Overview
Features (Ordered by Priority)
-
Implement CLI
init
Command
๐ ๏ธ Add a command to scaffold a new project structure, including thecontractual/
folder,api.tsp
, and optional subdirectories likeclient/
,server/
, ande2e/
. This feature will enable developers to get started quickly with a standardized setup.
โ๏ธ Create New Issue -
Implement JSON Schema Generation
๐๏ธ Extend Contractual to generate JSON Schemas alongside OpenAPI specs to enable better validation workflows for data engineering teams and non-REST workflows.
โ๏ธ Create New Issue -
Implement CLI
diff
Command
๐ Add a command to compare OpenAPI versions and display the changes, including added, removed, and modified endpoints or schemas.
โ๏ธ Create New Issue -
Improve Diff Viewer in CLI
๐จ Enhance thediff
output with better formatting and visual cues (e.g., colors, indentation, and flags for breaking changes).
โ๏ธ Create New Issue -
Implement CLI
migrate
Command
๐ Add a command to help users migrate their existing OpenAPI specs into TypeSpec. This feature will ease the onboarding process for teams transitioning from legacy setups.
โ๏ธ Create New Issue -
Add Language-Agnostic Support Starting with Python
๐ Extend Contractualโs functionality to support multiple languages, starting with Python. This will include generating Python clients and server stubs from the TypeSpec definitions and JSON Schemas.
โ๏ธ Create New Issue -
Implement Contract with Playwright for API E2E
๐งช Integrate Playwright to generate type-safe API-driven e2e tests directly from the contracts. This will ensure alignment between API behavior and testing.
โ๏ธ Create New Issue -
Implement
contractual pack
Command
๐ฆ Introduce a command to package generated contracts, clients, and schemas into distributable artifacts for easy sharing and publication.
โ๏ธ Create New Issue
Operations
- Create CI/CD Workflow
๐ง Set up a CI/CD pipeline for automated testing, linting, and deployment of the CLI and docs. This will improve development efficiency and ensure code quality.
โ๏ธ Create New Issue](https://github.com/contractual-dev/contractual/issues/new?template=Blank+issue)
Documentation
-
Deploy Docs Website on Netlify
๐ Host the documentation website on Netlify for easy access. The website will include guides, CLI references, and core concepts.
โ๏ธ Create New Issue -
Create "Getting Started" Docs Guide
๐ Write a step-by-step guide to help new users set up Contractual, define their first API, and generate clients, server stubs, and OpenAPI specs.
โ๏ธ Create New Issue
Letโs build Contractual together! ๐