Skip to content
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

KCL 2023 Roadmap #29

Closed
Peefy opened this issue May 24, 2022 · 1 comment
Closed

KCL 2023 Roadmap #29

Peefy opened this issue May 24, 2022 · 1 comment
Assignees
Labels
documentation Improvements or additions to documentation long-term

Comments

@Peefy
Copy link
Contributor

Peefy commented May 24, 2022

The KCL language is currently in a stage of rapid development. Therefore, in the future, KCL will continue to iteratively evolve around the goals of stability, ease of use, and ecological expansion. At the same time, the KCL language will be used in more field scenarios for continuous iteration and development. The following are some of the contents of the route planning, welcome to discuss and exchange.

image

  • Documentation improvements: the main content includes KCL specification documentation, KCL Tour documentation, KCL code labs, KCL language courses, KCL best practices Documentation, KCL programming books, etc.
  • language improvements
    • Language feature simplification
    • Language stability improvements
    • Complete package management system
    • Constraints and Policy Capabilities Support
  • Compiler improvements
    • The compiler supports parallel parsing, incremental compilation, and other features to further improve the performance of the main body of the compiler.
    • The evolution of the front-end architecture of the compiler makes the compiler itself have better scalability. The intermediate IR code is extended based on the abstract syntax tree AST to optimize the code as much as possible.
  • Ecological expansion
    • KCL defines API specification: define your own API/CLI/Plugin and other interface definitions through KCL
    • Ecological expansion of multiple domain languages: Support more domain languages ​​and format integration, such as HCL, Jsonnet, Protobuf, Helm, Kustomize, and other language and tool support.
    • Complete multi-language API construction: support KCL compilation, syntax checking, automatic query modification, etc., serialization/deserialization, KCL code writing, and other core API functions, combined with community strength to support Rust/Python/Java/Go and other languages.

KCL v0.7.0

Goals

Growth and developer experience

  • Language
    • Developer Experience & Redesigned Lang UI
    • Github KCL code highlighted
  • Tools
    • KCL Import Tool
    • KCL Fix Tool
    • KCL Find Ref Tool
    • KCL Format Tool
    • KCL Test Tool
    • KCL Doc Tool
    • KCL IDE
    • Unified convergence of command line interface to kpm
  • Integrations
    • 300+ Builtin Models & KPM & Registry & ArtifactHub Integration
    • UI & Engine
    • API Composition Project e.g., Crossplane
  • Arch

Milestone

  • 2023.10
    • Unified KPM CLI
    • KCL Import Tool
    • KCL Find Ref Tool
    • KCL Fix Tool
    • 60+ Models
    • API Composition Project e.g., Crossplane
  • 2023.11
    • KCL Format Tool
    • 150+ Models
    • KCL Test Tool
    • Config UI
  • 2023.12
    • 300+ Modules
    • KCL IDE
    • Arch
    • Config UI & Backstage UI Plugin Design

Backlog

2024 Roadmap

@Peefy Peefy pinned this issue May 24, 2022
This was referenced May 24, 2022
@Peefy Peefy added the documentation Improvements or additions to documentation label Jul 18, 2022
@Peefy
Copy link
Contributor Author

Peefy commented Aug 31, 2022

The roadmap is basically implemented internally, and it needs to be associated with several big goals and directions.

@Peefy Peefy changed the title KCLVM 2022 roadmap discussion KCLVM 2022-2023 roadmap discussion Dec 15, 2022
@Peefy Peefy changed the title KCLVM 2022-2023 roadmap discussion KCLVM 2023 roadmap discussion Feb 21, 2023
@Peefy Peefy changed the title KCLVM 2023 roadmap discussion KCL 2023 Roadmap Jun 19, 2023
@Peefy Peefy assigned i-zhen and unassigned ldxdl Sep 14, 2023
@Peefy Peefy closed this as completed Nov 27, 2023
@Peefy Peefy unpinned this issue Nov 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation long-term
Projects
None yet
Development

No branches or pull requests

7 participants