## Radicle Developer Tooling
The Radicle Developer Tooling (RDT) emerged from the long-standing relationship with @Yorgosβs team β a community contributor who has worked on previous grants, such as IDE plug-ins for VSCode and JetBrains. Their focus has and will continue to be on integrating Radicle with external developer tools. The main goal is to lower friction for developers who want to integrate Radicle into their existing workflows which supports easier user onboarding (i.e. quicker adoption) as well as user retention.
The funding for the RDT team is an interim stopgap until they find further funding via their own upcoming Org Proposal in the near future.
### Roadmap
#### IDE Plugins
> π§ͺ Hypothesis: IDE plug-ins with the most popular IDEs will help developers feel more comfortable integrating their existing workflows into the Radicle ecosystem. This will help with user onboarding.
IDEs are where most developers start writing their code and locally, where they do most of their organization of work. It is crucial to have plug-ins with the most popular IDEs so that developers feel comfortable integrating their existing workflows into the Radicle ecosystem. Without this, Radicle becomes a tough sell.
Success Criteria:
* Work with issues and patches within IDE
* Integration with Radicle 1.0 across JetBrains and VSCode plug-ins
We have already funded work on plugins for the 2 most popular IDEs ([VS Code, Jetbrains IDEs](https://community.radworks.org/t/radicle-ide-plugins-vs-code-jetbrains-ide-october-december-2023/3393)).
The IDE plugins already offer comparable functionality to the web interface (in the Jetbrains IDE, there is even support for inline comments for more complete code reviews, which is not yet available on the web interface), and in 2024 the aim is to complete the "1.0" release of both plugins.
> β V1.0 dependency: this project does not have any significant dependency on Radicle v1.0
#### Planning Boards
> π§ͺ Hypothesis: Planning boards will help teams better facilitate work. The existence of planning boards will help with user adoption by showing potential users that more of their workflows can be supported within Radicle. And this should also help with user retention by keeping users plugged into Radicle across the lifecycle of their projects.
One of the missing features that has been highlighted by every single team that is has moved their daily workflow to Radicle is some kind of board view of their backlog items, so the team can better plan their work and roadmap.
This has been highlighted by:
- @zlatan by the Radicle Heartwood team,
- @daniel from the Radicle Web UI team and
- ... our own team, as that has been something we have still not been able to migrate to Radicle from GitHub, as [explained here in more detail](https://community.radworks.org/t/radicle-ide-plugins-vs-code-jetbrains-ide-july-september-2023/3346/5).
As this is not on the Web team's priorities / roadmap for 2024, an early prototype has been developed, as a kind of proof-of-concept of how we could independently work on a separate web app that could be integrated as part of the web interface and offer this missing functionality.
The prototype is [available here](https://guileless-puppy-2d91b5.netlify.app/nodes/radicle.yorgos.net.gr/rad:z2BdUVZFvHdxRfdtGJQdSH2kyXNM6/board). More info and stakeholder feedback on [zulip](https://radicle.zulipchat.com/#narrow/stream/380896-integrations/topic/.E2.9C.A8.20showcase/near/408192130).
Success Criteria:
- The 3 blocked teams can move their roadmap planning to Radicle.
#### Migration Tooling
> π§ͺ Hypothesis: Migration tools will lower the overhead involved in migrating to Radicle. This should help with user acquisition.
Migrating an entire project from somewhere like GitHub introduces a significant hurdle. By creating migration tools, we can lower the overhead and make it that much easier for teams to migrate their projects. Without this, the task is daunting and may be too high a hurdle to convince teams to switch tooling to Radicle.
Success Criteria:
* Migration tool for [Github](https://github.com/)
> We have already funded basic research and development for [GitHub issues](https://community.radworks.org/t/migrate-to-radicle-tooling-github-issues/3343).
> β V1.0 dependency: this project does not have any significant dependency on Radicle v1.0
#### CI Integrations
> π§ͺ Hypothesis: CI integrations will ensure that Radicle can handle developers' end-to-end workflow without needing to continue relying on other tooling. This should help with user acquisition and user retention.
Continuous Integration (CI) is the go-to paradigm for ensuring that code is properly tested, verified, and built. By adding CI tooling, we will ensure that one of the most important steps in software development workflows is integrated with Radicle. Without this, migrating to Radicle is a harder sale.
Success Criteria:
* [Jenkins](https://www.jenkins.io/)
* [Dependabot](https://github.com/dependabot)
* [Quay.io](https://quay.io/) (Artifactory)
> We have already funded basic research and development for [CI integrations](https://community.radworks.org/t/radicle-ci-integrations/3394/3).
> π¨ V1.0 dependency: this project does have a significant dependency on Radicle v1.0. Thus, we have listed it last. There may be nominal work in the beginning of the year, however, if there are any delays with v1.0, this project can and will be pushed out later.
#### IM Integrations
> π§ͺ Hypothesis: Integrating with IMs β with features like notifications on new Patches, comments, and @mentions β will allow teams to stay in-synch more easily. This should help with both user acquisition and user retention.
Instant messaging tools are where developers spend most of their time collaborating in real-time, especially in remote, asynchronous teams. Whether they are open source tools like Zulip, or closed-source like Slack and Discord, they serve this same purpose. Integrating with IMs β with features like notifications on new Patches, comments, and @mentions β will allow teams to stay in-synch more easily. Without this, teams will continue having more friction staying on top of updates in their Radicle repositories.
Success Criteria:
* Integrate with Zulip and dog-food
* Integrate with Slack/Discord
> β V1.0 dependency: this project does not have any significant dependency on Radicle v1.0