gilbert icon indicating copy to clipboard operation
gilbert copied to clipboard

v2 Roadmap

Open x1unix opened this issue 11 months ago • 0 comments

This issue summarizes all todo's for a v2 release.

The main goal is to revitalize the project, solve technical debts and bring it to a usable state.
This list isn't complete and will be updated during implementation.

All work in happening in the v2 branch

Syntax & Expressions

  • [x] Improve template and expression syntax - https://github.com/go-gilbert/gilbert/pull/80
  • [x] Implement logical expression parser (e.g. ${ foo.bar + 4})
  • [x] Parse logical expressions and string templates on unmarshal
  • [ ] Improve syntax error report
    • go-yaml supports annotations generation (see)
    • Expression validation will be implemented in previous step.

Command-line Interface

  • [x] Allow tasks to accept command line flags instead of generic scope var definitions.
    • ⏳ Inputs type and format validation support
    • [x] Inputs documentation
  • [x] Show tasks documentation when doing gilbert run --help

Plugins API

Initial plugins API was based on Go plugin feature. That decision didn't pay off and caused a lot off compatibility issues.

  • [x] Deprecate legacy plugins API - https://github.com/go-gilbert/gilbert/pull/75
  • [ ] Implement WebAssembly plugin runtime
  • [ ] Implement inter-process plugin runtime
  • [ ] Design a new plugin API that can be used in WASM and by other processes.
    • Protobuf/gRPC?
  • [ ] Design a plugin packaging format.
    • Plugin might bundle mixins and string interpolation functions,
    • Plugin should declare all its inputs, actions, etc in a manifest.
    • Plugin might depend on external command-line tools, which need to be auto-installed.
    • Lockfile support?

Misc

  • [x] Migrate to GitHub Actions - https://github.com/go-gilbert/gilbert/pull/78
  • [ ] Update/replace outdated dependencies:
    • [x] gopkg.in/yaml.v2 - https://github.com/go-gilbert/gilbert/pull/77
    • [x] github.com/mitchellh/mapstructure - https://github.com/go-gilbert/gilbert/pull/76

x1unix avatar Jan 22 '25 05:01 x1unix