Radicle Jetbrains IDE Plugin - Iteration 2
- Status: Open
- Proposer: @gsaslis
- Your Project(s): [optional]: GitHub - cytechmobile/radicle-jetbrains-plugin: Radicle plugin for Jetbrains IDEs
- Projects you think this work could be useful for [optional]: smoother onboarding onto radicle
Overview
This proposal is for the second implementation phase of the Radicle Jetbrains plugin, for which we have already published the first alpha
version.
Now that our small team has come together and we have laid all the groundwork, we are ready to begin adding more functionality to the plugin, so that developers can consume the main Radicle functionality directly from their IDE!
Description - Iteration #2
As part of our iterative development process, we plan on following on from the first iteration that focused on functionality around synchronisation with seed nodes, to now support cloning Radicle projects from seed nodes through the IDE.
Scope / Roadmap
The overall scope (i.e. not the scope of this grant application alone) includes the following UX journeys in the IDE plugin, classified based on expected frequency of use:
-
One-time or infrequent (less than once per week) use:
- Create new radicle identity and manage key pairs (Planned for this iteration)
- Initialise and publish a git project on radicle (Planned for this iteration)
- Configuring seed nodes (Planned for this iteration)
- List projects available on the seed node (Planned for this iteration)
- Track and checkout projects (Planned for this iteration)
-
Daily use:
Pushing changes to other Radicle seed nodes and peers (Implemented in Iteration #1)Synchronising changes from other Radicle seed nodes and peers (Implemented in Iteration #1)- Collaboration on Patches, Issues, Releases and other types of Collaborative Objects (cobs)
This Radicle Grants application aims to fund the implementation of all the functionality around cloning projects from (and publishing to) Radicle, with the goal of offering a more immersive experience: the developer will not necessarily have to switch between web UI, Command Line Interface (CLI) and IDE in order to accomplish these tasks.
Approach
Our general approach is to build an IDE-specific User Interface on top of the rad
CLI tool. (Essentially, we are mapping UI functionality to (parameterized) calls to rad
).
Deliverables
With this iteration, we will be able to complete a big part of the necessary UI for the Radicle IDE plugin to be fully functional, covering a large part of the roadmap Developer eXperience (DX) journeys.
This will give time to the alt-clients team to complete work on the Issues and Patches workflows across the radicle-cli and the Web UI, so we can build on top of those in a future iteration - avoiding duplication and rework in the meantime.
Milestone 1: Pushing and Synchronising changes through the IDE
- Total Estimated Duration: 6 calendar weeks
- Full-time equivalent (FTE): 39 FTE days
- Total Costs: 28 080 EUR (28 753 USDC)
Future Plans
We are excited to work on Issues and Patches in the following iteration, as they are not yet fully ready at the time of writing, as we believe this is an area where the IDE will really shine, in terms of offering an immersive experience for Radicle!
Rather than a big “monolithic” Radicle Grant application, we instead submit each development phase as a separate application, so that:
- the deliverables are clearer
- we are not forced to guesstimate how long large pieces of development work will take
- the risk for Radicle is limited: the Radicle Grants team can choose to fund only the functionality to the plugins that they find valuable - rather than being faced with an “all or nothing” dilemma. i.e. funding one application bears no commitment to fund future ones.
This approach, of micro-grant applications, is how we think iterative software development practices can be combined with Grants programmes.
Team
Team members
- Yorgos Saslis
- Ioannis Christodoulou
- Stelios Mavrommatakis
Contact
- Contact Name: Yorgos Saslis
- Contact Email: I can share this privately on discord.
- Website: https://gsaslis.github.io/
Legal Structure
- Registered Legal Entity: Cytech Ltd.
- Registered Address: Science & Technology Park of Crete, Heraklion, Greece
Team’s experience
- [Yorgos] 15+ years of experience in various roles of the full Software Development Lifecycle: writing code, agreeing on specs with clients, architecting systems, establishing product priorities, designing testing and CI strategies, and co-creating department-wide processes - with an itch for driving “waste” out the door. Co-founder of developer communities (DevStaff, Heraklion Software Crafters, Web3 Greece) and co-organizer of open space unconferences (AgileCrete, JCrete) on the (paradise!) island of Crete!
- [Ioannis Christodoulou] is a Software Architect with 10 years of professional experience in Web and Mobile applications, such as Greek Passenger Locator Form (a web application that all travelers coming to Greece were required to fill-in) and Covid Free GR (the mobile application used throughout Greece to verify COVID-19 vaccination, recovery and test certificates). He is also the creator and maintainer of an IntelliJ plugin (GitExtender - github, marketplace ) for managing and updating multiple git repositories in the same IntelliJ project.
- [Stelios Mavrommatakis] is a young Full Stack Software Engineer focused on web applications development. He had participated in large software projects like the EU-DPLF (https://euplf.eu/) a paneuropean application for covid19 contact tracing for tavelers to the EU. He is a passionate software engineer and is currently working on a web3 project expanding his knowledge and experience in new and challenging sectors.
Team Code Repos
- gsaslis (Yorgos Saslis) · GitHub
- JChrist (Ioannis Christodoulou) · GitHub
- Stelios123 (steliosMavr) · GitHub
Team LinkedIn Profiles (if available)
- https://www.linkedin.com/in/gsaslis
- https://www.linkedin.com/in/jchrist7
- https://www.linkedin.com/in/stelios-mavrommatakis
Additional Information
How did you hear about the Grants Program? Radicle Discord