Skip to content

GSoC 2026 Sample Project Proposal Issue #478

@sanketshevkar

Description

@sanketshevkar

Sample Issue Description for Problem Statement

Linter for Concerto [This just a sample from last year, this project has already being implemented]

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. You may be able to make use of a tool like Spectral as the framework for defining our own rules over the Concerto AST (JSON).

Expected Outcomes:

A tool that allow users to:

  • Specify the naming of declarations. E.g. all names of scalars should be in camel case.
  • Specify the naming of properties, enum cases e.t.c
  • Specify which language features can be used. E.g. disallow maps, disallow forward references in regex validators.
  • Enforce the use of certain features. E.g. all string properties should have a length validator.
  • Enforce the use of @term decorators on all declarations and properties e.t.c
  • All concepts in a namespace should extend a given concept
  • All concepts in a namespace must have unique names across multiple namespaces

Skills required/preferred:

Algorithms, Functional programming, Back end development, NodeJS, TypeScript

Possible Mentors:

Jamie Shorten, Sanket Shevkar

Expected size of project:

175 hours (medium)

Expected difficulty:

Medium

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions