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! 🚀