Skip to content

Contractual Roadmap v0.1.0 (Alpha) #8

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
omermorad opened this issue Jan 24, 2025 · 0 comments
Open

Contractual Roadmap v0.1.0 (Alpha) #8

omermorad opened this issue Jan 24, 2025 · 0 comments
Assignees

Comments

@omermorad
Copy link
Contributor

omermorad commented Jan 24, 2025

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)

  1. Implement CLI init Command
    🛠️ Add a command to scaffold a new project structure, including the contractual/ folder, api.tsp, and optional subdirectories like client/, server/, and e2e/. This feature will enable developers to get started quickly with a standardized setup.
    ↗️ Create New Issue

  2. 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

  3. 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

  4. Improve Diff Viewer in CLI
    🎨 Enhance the diff output with better formatting and visual cues (e.g., colors, indentation, and flags for breaking changes).
    ↗️ Create New Issue

  5. 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

  6. 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

  7. 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

  8. 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

  1. 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

  1. 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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants