On February 3rd, 2024, we hosted our second Pieces Open Source Meetup of the year, and our fourth overall, on the Discord Stage. In this meetup, we highlighted the latest developments in our SDKs and products, including the much-anticipated support for the open-source Mistral LLM. We also had a live demo of an open-source Drag & Drop Extension for IntelliJ by Kuba and a spotlight on community contributions to our open-source projects.
You can find the recorded session on our YouTube channel:
Here are some of the major highlights in case you missed the meetup:
Open-source SDK and Community Updates
We kickstarted the session with the mention of some key product and SDK updates. We've recently integrated support for the open-source Mistral LLM into Pieces. This addition marks a significant milestone, enabling developers to leverage Mistral's capabilities.
We have rolled out a three-part blog series dedicated to using Pieces Copilot with Vanilla TypeScript. These articles provide a comprehensive guide on building your own copilot and managing local models, enriching your development experience with actionable insights and examples using custom context. You can explore the entire blog post series by taking a look at our introductory article for the 3 part blog series.
We recently unveiled an Awesome Pieces repo thanks to the work of Anushka, one of our Developer Advocates at Pieces.
The Awesome Repo is essentially a vast compilation of resources meticulously organized to facilitate your involvement in open source projects, guide you in leveraging Pieces to its fullest, and provide the support you might need along your journey. Whether you're seeking comprehensive guides, tutorials, or community insights, this repository will serve as your one-stop destination.
You can check out the repo here.
These updates and initiatives underscore our commitment to fostering an innovative and collaborative open-source community. We're excited about the future and look forward to your participation and contributions.
Application to Google Summer of Code
We are excited to share our plans to apply as a mentor organization for the upcoming Google Summer of Code (GSoC). This initiative opens up a fantastic avenue for contributors to actively participate and make significant contributions to Pieces’ open-source projects and thus help build intuitive AI enabled developer tooling.
GSoC is a prestigious program designed to foster collaboration between open-source projects and contributors from around the globe. Whether you have a deep-seated passion for open-source or are looking to make meaningful contributions, we invite you to join us on this rewarding journey. Our team is currently strategizing on how we can most effectively contribute to and enhance the open-source ecosystem through our involvement in GSoC. Check out our documents from our application learn more about some of the projects that you can contribute to and more in the GSoC Participation Guide.
We are eagerly awaiting the announcement of our acceptance as a mentor organization, which is anticipated by February 22nd. However, GSoC offers more than just the chance to work with us; it's a gateway to exploring a diverse range of technologies and forging connections with other open source projects and their leaders. To stay updated on our status and engage with our community, we encourage you to join our Discord channel. Here, you'll be the first to know if we are selected to participate in Google Summer of Code, and you'll find opportunities to engage, learn, and contribute to the open source projects alongside us.
In the meantime do check some of our latest open-source projects and potentially contribute to:
- JetBrains Drag and Drop: https://github.com/pieces-app/IntelliJ-Drag-and-Drop-List/
- CLI Agent: https://github.com/pieces-app/cli-agent
JetBrains Drag & Drop project
We spent a significant portion of the meetup showing a new open source project built by Kuba, our Integrations Lead at Pieces. Kuba demonstrated a sample Drag & Drop plugin project for IntelliJ. This simple IntelliJ Platform plugin connects to your instance of Pieces OS and displays a simple list of your saved snippets. The list is also a great demo of drag and drop support, as it allows you to simply import your snippet of choice to your code by dragging it into the editor, as well as quickly save a new piece of code to Pieces by selecting and dragging it onto the list
Kuba shared that the necessity for this functionality within Pieces stems from our continuous effort to streamline and optimize the development process. The ability to effortlessly drag and drop items across different components not only improves efficiency but also enhances the overall user experience, making the development workflow more intuitive and less cumbersome.
Kuba's approach to overcoming this challenge involved the innovative use of DataFlavors. By identifying and leveraging common qualities between classes, the project enables a seamless drag-and-drop experience that was previously unattainable. The significance of using DataFlavors lies in their ability to provide a flexible and robust framework for transferring data across different components, a critical aspect of the project's success.
Kuba shared a live demonstration, offering attendees a firsthand look at the project's functionality and the technical intricacies of its implementation. This segment not only showcased the practical application of the solution but also provided valuable insights into the coding strategies and best practices employed; i.e., how Kuba leveraged our open-source Kotlin SDK to build this project.
The Drag & Drop project is just the beginning. Kuba hinted at future open-source projects on the IntelliJ side of things, promising more innovations and enhancements aimed at improving the developer experience within the IntelliJ ecosystem.
For those interested in diving deeper into the project or exploring its codebase, the project and accompanying article are available at the following links:
Folks who are interested to contribute to the project can also do so by going to the project repository.
Community Shoutouts and New Project Issues
In our ongoing journey to enhance and expand the capabilities of our projects, the contributions from our vibrant community stand out as beacons of collaboration and innovation.
Arindam has made significant contributions by enhancing the Example TS project. Notably, Arindam implemented a feature for clearing the chat input upon pressing the 'ask' button, streamlining the user experience. This improvement leverages the askQGPT endpoint, allowing users to seamlessly ask the copilot questions. For more details on these enhancements, visit the pull requests on GitHub:https://github.com/pieces-app/example-ts/pull/73, https://github.com/pieces-app/example-ts/pull/74.
Shivay contributed to the Example TS project with some Jest-based unit tests for the frontend components. We also plan to introduce testing to the Example-TS project for the Pieces OS endpoints. We will create issues for various endpoints, for instance on asset-related functionality, including createAsset()
, deleteAsset()
, and renameAsset()
. These examples not only enrich our documentation but also provide practical guidance for utilizing these functions effectively.
Our community's feedback has been instrumental in identifying new endpoint issues, particularly those related to asset reclassification. Learning about asset reclassification has led to the creation of Issue: https://github.com/pieces-app/example-ts/issues/81, which aims to address and streamline this process.
Conclusion
As we drew our session to a close, we shared some exciting developments on the horizon. Jordan highlighted our commitment to enriching the developer experience with comprehensive support documentation for our SDKs.
Furthermore, we're dedicated to refining the onboarding experience across our extensions, ensuring that new users can easily navigate and make the most of our offerings from the get-go. This focus on user experience underscores our commitment to making our tools as accessible and user-friendly as possible. We will be releasing the revamped onboarding experience for our integrations soon, so definitely stay tuned!