gilbert
gilbert copied to clipboard
v2 Roadmap
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-yamlsupports 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
- [x]