-
Notifications
You must be signed in to change notification settings - Fork 139
Google Summer of Code 2024 Ideas List
Make major improvements to the existing Accord Project Playground to provide a best-in-class web experience to learn and experiment with Accord Project technology. This work should take design and implementation inspiration from similar efforts for other leading programming languages, such as TypeScript and its use of TwoSlash for runnable code examples.
The project should also consider how the existing Accord Project documentation, as well as the Concerto documentation is integrated into an overall learning pathway and tutorial experience.
A much improved Playground website, integrated with samples, tutorials and a much clearer set of getting started resources. Build a web application that allows new users to experiment and learn the Concerto schema language without installing any tools or runtimes. The app should support the loading of built-in samples, and demonstrate runtime features such as parsing, validation, comparison, transformation etc. The app should use the Monaco code-editor with support for syntax highlighting and in-line error highlighting. The app should be stateless, but could support sharing of persistent links to models through URL query parameters. The playground could integrate with the Finchbot for generating models from textual descriptions using Generative AI, or could work with the "Co-pilot project" below.
TypeScript, React, Information Design/Architecture. Good written English.
@danselman, @sanketshevkar, @mttrbrts
350 hours
Medium
Assist users creating Concerto models using an in-context AI assistant (co-pilot). Design a user experience and support multiple foundational AI models, for example: OpenAI, Bard, Anthropic etc. Develop the required LLM prompts and measure their effectiveness. Ensure users understand the data they are sharing and opt-in to AI assistance. Review similar efforts from across the industry, e.g. GitHub, Repl.it, Google, and others.
User interaction to trigger the co-pilot, from within the existing VSCode web-extension and/or Playground, or other chatbot bot marketplace/experience.
Ability to configure API keys required
LLM Prompt Engineering required to assist the user while editing Concerto models
TypeScript, Basic Knowledge of ChatGPT, or similar
@danselman
175 hours
Medium
Concerto language supports reusing of terms defined in other model definition files through imports. We can import a single or multiple terms. However, imported or defined, a term can only exist once in a model file. If we can alias an import then we can free ourselves from this limitation, in case we either already have a term with the same name in the model file or we want to use two terms that share the same name that are imported.
Concerto language is extended to allow import aliasing. Concerto runtime can work with aliased imports.
Familiarity with Parser Expression Grammars, Code Generation, JavaScript
Ertugrul Karademir, Muhammed Abdulkadir
175
Medium
Re-implement the current Concerto Validator in Rust so that it can be consumed from multiple languages (using FFI, WASM, etc. ). The reimplementation should replicate the existing behaviour of the current JavaScript validator. This should provide improvements in performance, reliability and portability
A validator that supports the full Concerto specification, written in Rust. Published to Cargo.
Rust, Algorithms, Functional programming, Back end development, Rust API design.
Ertugrul Karedemir, Jamie Shorten
350 hours
Hard
Write a linter in TypeScript for Concerto Source files. It should make use of existing functionality to validate the Concerto DSL syntax and JSON AST of Concerto model against a set of rules. Rules should be defined in Typescript and which rules are run should be configurable.
A configurable linter program written in TypeScript and NodeJS.
Algorithms, Functional programming, Back end development, NodeJS, TypeScript
Jamie Shorten, Sanket Shevkar
350 hours
Hard
Accord Project
A leading Linux Foundation open source initiative developing an ecosystem and open source tools for smart agreements