In 2022, our team set out on a journey to build the most advanced code snippet management and workflow context platform yet.
The debut release of our Flagship Desktop App got the ball rolling, and now our Visual Studio Code Extension aims to take developers productivity to the next level, incorporates key capabilities and our users favorite features directly into their IDE.
Effortlessly save, enrich, search, share, reference, reuse, generate: code snippets, workflow context, and other useful developer resources.
Trusted by the World's Best Developers
We are a venture-backed company supported by some of the world's best investors. Our products & company are secure and continuing to grow.
Our Visual Studio Code Extension in combination with our Flagship Desktop App provides users a first-in-kind feature set ambitiously augmenting your development workflows.
Take Back Your Time | Solving Productivity Bottlenecks
Countless Google Searches, Open Tab Back-and-Forth & History Scrolling
More and more developer resources live online nowadays - tutorial sites, Stack Overflow posts, documentation & open source packages, wiki's and blog posts - the list goes on and on.
-
Solution Highlights:
Resurfacing Additional Context in Collaborative Environments
Task and project context regarding the who, what, where, and why is often discussed over a variety of channels such as Email, Slack, Teams, Discord, Community Forums, Twitter, Reddit, and more.
Keeping track of this critical context - decision outcomes, architectures, implementation solutions, best practices, power tips, configs - is becoming harder than ever.
Solution Highlights:
Onboarding New Developers, Reducing Technical Debt & Code Reviews
Developers continuously have to navigate ever-growing code bases, backlog tasks, Jira Tickets, GitHub Issues, and Pull Requests all in an effort to reuse existing code, onboard new developers faster, share relevant examples, reduce technical debt and drive code standardization.
Solution Highlights:
Powered by our [On-Device Proactive Save & Pattern Engine] the [Pieces for Developers | VS Code Extension] can automatically recognize and save highly reusable, yet complementary materials for you.
-
Table of Contents & What's in this Readme
Product Highlights & Benefits
Solve coding problems faster with Copilot Chats
Introducing Copilot Chats, an advanced feature of our Visual Studio Code Extension, crafted to seamlessly integrate with your unique development workflow. The Pieces Copilot is not just a tool; it's a workflow assistant that adapts to your style, learning from your interactions to provide highly personalized, context-aware assistance.
Powered by on-device machine learning, as well as your choice of local and cloud-based LLMs (i.e. Llama 2, GPT-3.5, GPT-4, and PaLM 2), Pieces Copilot offers a blend of coding efficiency, accuracy, and personalized support that understands the nuances of your work, enhancing your coding experience irrespective of the task complexity.
Contextualized and Continuous Learning
Pieces Copilot excels in offering highly contextualized support. By analyzing your codebase and interactions in real-time, it delivers tailored suggestions, code optimization tips, and contextually generated code, all based on your unique coding patterns and project requirements.
Pieces Copilot leverages user-defined contexts, such as local files, folders, and snippets, for code generation and interactive assistance. Set your context as chat messages, specific repositories, or saved code snippets to ensure that Copilot's support is precisely aligned with your needs.
Local and Cloud-Based LLMs (Llama 2, GPT-3.5, GPT-4, and PaLM 2)
From the start, everything we build at Pieces is designed with utmost security and privacy in mind. We believe that your data is yours, and we are committed to keeping it that way. As a result, you can choose between local and cloud-based LLMs, depending on your security needs and preferences.
Currently, we have available Llama 2 to run either on your device's CPU or GPU, and GPT-3.5, GPT-4, and PaLM 2 to run via the cloud. We are continuously working on expanding our LLM offerings, so stay tuned for more updates!
Local LLM Recommendations
- GPU LLM's are designed for machines with a modern, dedicated
graphics chip (i.e: ARM Mac, NVIDIA GPU with 6gb VRAM or more)
- CPU models are recommended if you do not have a strong enough
graphics card for the GPU LLM's. Be aware this model will be as slow or
as fast as your machine specs allow.
- CLOUD models are recommended if performance issues arise while
using the local models (for older or lower powered machines).
Saving Useful Developer Materials
Code snippets, scratch files, screenshots, UML diagrams, links, and more. Paste something from your clipboard, drag & drop, or save it directly in IDE via our plugins.
Stay in Flow with Single-Click Save
We are making a continuous effort to provide our users with frictionless ways to save key workflow materials. Stay in the flow with our Visual Studio Code Extension and simply select a code snippet or a resource in your file tree, right-click, and select "Save to Pieces".
Save all types of resources. It's better to have a resource available and not need it than need it and not have it!
- i.e. Boilerplate/Reference Snippets, Common Bash/Powershell Commands, CI/CD Configurations, HTTP Requests, Screenshots, Architecture/UML Diagrams, Text Notes, and so much more.
Proactive Save and Pattern Engine
It's often the case that you only realize you should have saved a resource at the moment you realize you didn't save it. To help with this phenomenon our Visual Studio Code Extension learns from your workflow behaviors and can proactively save things for you.
In-Project Snippet Discovery
Running Snippet Discovery on a local source repository has huge benefits:
- Discover highly reusable snippets resulting in less time spent re-writing the same code from scratch over and over
- Driving code standardization within and across projects
- Discover reference snippets and share them with your team or use them to onboard new developers faster than ever
Context Awareness Engine, Useful Metadata, and AI Auto-Enrichment
When you save something to Pieces for Developers it not only saves the material itself; but further, our [Context Awareness Engine] automatically attaches related context & metadata enabling powerful organization, search, and suggestion capabilities.
Origin Details
Reference code is everywhere these days, whether it's a solution that you're adapting from Stack Overflow or doc-site boilerplate sent over Slack or Microsoft Teams, all code comes from somewhere.
Where a code snippet came from, and the larger context it was taken out of, is often lost when saving or sharing reference materials today and makes it incredibly difficult to find and share or reuse it later on.
In an effort to maintain this invaluable context, Pieces for Developers automatically extracts and associates useful origin details every time you save a resource.
i.e. Project Name, Source File, Line Numbers, Collaborators, Solution Publishers, Application Source, etc.
AI-Generated Smart Descriptions and Associated Commit Messages
Between our Flagship Desktop App, Chromium-Based Browser Extension, and the Visual Studio Code Extension, our users are saving more than ever. That said, a large part of our material enrichment efforts are allocated towards making searches and suggestions first-class.
With these end goals in mind, Pieces for Developers ships with an offline and on-device ML Material Description model that generates a smart description for everything you save:
- i.e. What the code snippet or resource is, what it does, how to use it, and how it might be used in the future.
These smart descriptions, coupled with relevant commit messages extracted via our Context Awareness Engine, enable awesome reference and reuse experiences later on in a users' workflow.
-
More and more developer resources live online nowadays. Saving links you found while researching or problem-solving in the browser, code, or documentation has never been easier.
With Pieces for Developers you can quickly associate URLs to external resources such as Documentation Pages, Wiki Links, Jira Tickets, Pull Requests, GitHub Issues, you name it, with your saved materials.
-
Doubling down on our efforts to make search and suggestion world-class, Pieces for Developers ships with an offline and on-device ML Material Labeling model that automatically generates smart labels for everything you save:
- i.e. “HTTP Request”, “Flutter Framework”, "Dart Project", "Conditional For Loop"
In addition to our auto-generated smart labels, our Context Awareness Engine automatically layers in tags corresponding to origin details and related links.
-
These days technical work is more people-centric than ever. Writing and reviewing code, upskilling on ever-evolving best practices, migrating to new framework versions, and onboarding new developers, it all builds on the work of others.
Simply knowing who to reach out to for additional context, who to add as a reviewer on pull requests, or who might provide a different perspective could save some serious time and prevent major headaches.
To help solve this dilemma, our Context Awareness Engine automatically associates Relevant Collaborators, Maintainers, and Content Authors with the resources you save.
-
Some of the most commonly saved snippets are Powershell and Command Line instructions, boilerplate for unit tests, .env variables, HTTP requests and CI/CD build configs.
All of these often contain sensitive data like API keys, auth tokens, usernames, passwords, or service account credentials.
Global Search, Sort via Suggestions, Reference and Reuse Saved Materials
In-Editor Global Search with the Command Palette
Our Visual Studio Code Extension makes it easier than ever to find what you need when you need it with a blazing-fast search experience right inside your editor.
Instantly find, reference, share or reuse your saved developer materials in a few keystrokes without breaking your flow.
Fine-tune Global Search with Result Display Modes & Sort Preferences
Not able to find what you're looking for? Try out our different Global Search Preferences.
Reuse Saved Materials with Atomic Auto-Complete
From the Language Servers that ship with Visual Studio Code, to the recent variety of LLM offerings like GitHub Co-Pilot and TabNine, there are already plenty of great options for auto-completing code.
With this in mind and leveraging our on-device Pattern Engine, we wanted to take a complementary approach to these existing systems.
Our goal isn't to auto-complete from all possibilities, in all scenarios; but more specifically, auto-complete from your saved code snippets, in scenarios where it makes the most sense.
- i.e. Creating a new file from saved boilerplate, writing unit tests, or integrating marketing scripts such as Google Analytics or Facebook Pixel Tags.
Explore Snippets with Pieces Insights
Exploring Materials with Pieces Insights allows you to learn more about a code snippet without saving it to your repository.
To revisit explored materials, check out the new section titled “Explored Materials & Snippet Insights” in the Extension Tree View. Here, you can view your explored materials, save them to Pieces, or delete them— just right-click. If you’d like to automatically save your explored materials to your Pieces repository, toggle on “Explore and Save” in your extension settings.
Document Snippets with Pieces Insights
Sorting with Realtime and Scope-Relevant Suggestions
The demands on developers are increasing every day. As a result, a developer's time is becoming ever more precious and anything that boosts productivity is no longer a nice-to-have, but a need-to-have.
With that, our team has invested serious resources enabling Pieces for Developers to proactively suggest the most relevant materials at the right time.
Accessing Saved Material Overviews from the In-IDE List View
Pick-up where you left-off with the Workflow Activity Stream
Picking up where you left off and getting back into flow is one of the largest productivity bottlenecks throughout a developer's workflow. So, our team has been hard at work making it easier than ever to backtrack through your work-in-progress journey.
Our Workflow Activity Stream and Process Backtracking enable you to quickly find and access useful context metadata that's been associated with your saved materials. Workflow details and points of reference such as related links, shared snippets, relevant tags, collaborators, and more are all available as a scrollable timeline right within our Flagship Desktop App.
-
Personalized Link-Sharing of Saved Materials and Their Context Metadata
Developers, Technical Writers, Instructors, and many others in the space are constantly having to share code snippets, error logs, configuration files, boilerplate, sample code, and other developer materials with their colleagues, content readers, students, open-source maintainers, customers, and so on.
For us, sharing is not only about sending someone the code snippet or resource itself, but further, enabling the recipient to access both the material and its associated context metadata - where it came from, what it is, why it was saved, its description, git context, tags, additional collaborators, related links, and so much more.
Select, Right-Click & Link-Share Directly in Your IDE
Effortlessly share code snippets, screenshots, and other resources with a personalized access link i.e. YOUR_USERNAME.pieces.cloud, in just a few steps. When you select a resource within your IDE and generate a shareable link, that resource along with all of its useful context gets uploaded to your private Pieces for Developers Cloud.
From there, those with the link will be able to access what you shared and its context metadata, even if the recipient doesn't have Pieces for Developers themselves.
Further, if you edit the resource or add additional context metadata Pieces for Developers will recommend that you update the link or automatically update it for you. This happens in the background without generating a new access link meaning previous recipients can stay up to date, and you don't have to re-share.
Lastly, we know that accidental shares happen and permission levels can change. With that, you can always revoke a shareable link at any time.
Saving a Shared Material for Offline Reuse from the Pieces for Developers ⎸ Sharing Preview Web App
Although it's not needed to have Pieces for Developers installed when accessing a shared resource, we don't want our users having to switch back and forth to the browser or needing to keep track of all the share links you've received.
For recipients that have Pieces for Developers installed, they can easily save a copy of the shared resource to their own Pieces for Developers drive for offline search, suggestion, and reuse later on.
Installation Details and Getting Started
What all is being installed?
Pieces for Developers | OS Server is our background service running offline and on-device required to enable:
- Individual products in the Pieces for Developers Suite to communicate
- Local, Private, and Secure Machine Learning Models
- Real-Time Search and Suggestions
-
- The core Pieces for Developers experience fully loaded with over 50+ features and awesomely extended with our Visual Studio Code Extension and [Chromium-Based Browser Extensions].
-
- Our most popular IDE extension that enables you to search, save, and share code snippets, screenshots, and other resources directly from within your IDE.
-
-
Make sure Pieces for Developers | OS Server is running in the background.
Launch Visual Studio Code and install our Visual Studio Code Extension
-
Download our Pieces for Developers Installation Manager and proceed with the installation.
Make sure Pieces for Developers | OS Server is Running in the Background.
-
-
Compatible with Ubuntu 18 or higher and is currently in beta
From the Snapcraft Store install the Pieces for Developers | OS Server Snap Package or run the following in the terminal:
$ sudo snap install pieces-os
Enable Offline and On-Device Local Machine Learning by running the following command in the terminal:
$ sudo snap connect pieces-os:dotnet-runtime-aspnetcore
Launch the Pieces for Developers | OS Server background service by running the following command in the terminal:
$ pieces-os
-
$ pieces-for-developers
-
Additional Features and Benefits
Believe it or not, this document simply scratches the surface of what the entire Pieces for Developers product lineup has to offer, and being just over a year into the journey, we're only getting started.
Inserting a saved Code Snippet at your current cursor location
When you're ready to re-use a snippet, we offer a variety of ways to quickly access and insert snippets into your active file. In addition to Atomic Auto-Complete or Global Search(#global-search-sort-via-suggestions-reference-and-reuse-saved-materials) using the command palette, users also enjoy the ability to insert a saved snippet at their cursor location via right-clicking on the snippet in the List View.
Editing saved Code Snippets and Text Notes
Renaming a Saved Material
We're on a mission to make it as frictionless as possible for our users to save snippets without disrupting their flow. AI in Pieces for Developers will attempt to add a relevant name for your snippets automatically, so you don't have to. Don't worry, you can rename your snippets anytime to a convention that works best for you. All you need to do is right-click a snippet in the List View and select "Rename".
Reclassifying a Code Snippets' Language Association
One of our fundamental capabilities is Instant Language Detection, which automatically detects the language of your snippet and supports over 50 programming languages including Typescript, Javascript, Python, Dart, C++, C#, and many more. Unfortunately, we don't always get it right, so we made it as easy as possible to reclassify a snippet to the proper language. Simply right-click a snippet in the List View and select "Reclassify".
Deleting a Saved Material
Since we made it so simple to save snippets from the [browser], your IDE, and using our Flagship Desktop App, users are saving hundreds of snippets throughout their time researching, coding, and collaborating. For some, this can get a little chaotic. If you find yourself looking to do a little spring-cleaning, you can delete snippets by right-clicking a snippet in the List View and selecting "Delete".
Connecting Custom Cloud Domain
Sharing materials using Pieces for Developers is about more than sharing the material itself. It's about sharing the material and all the contextual metadata associated with it - where it came from, what it does, how to use, associated people, and more. What's unique about our shareable links and sharing with Pieces for Developers is all of our users receive their own, dedicated cloud, isolated from other users.
As a result, you can personalize your cloud domain with a custom name, like https://mack.pieces.cloud. Now, when you generate and share a link, your link will include your personalized domain, so users know exactly who it came from.
To personalize your cloud domain, open the Pieces for Developers | Desktop App and navigate to the settings menu.
Important Note:
Updating your personal cloud domain can take up to 15 minutes for the new domain to go live. Don't worry, we will notify you when this is complete.
> >
>
Help Us Shape the Vision
We are an early-stage software company on a mission to boost developer productivity and facilitate seamless workflows across a project lifecycle. Here are a few ways you can help us shape our vision and make our mission a reality.
-
To get the latest updates on features and products, join our Discord community. We have a channel dedicated to each of our products where you can ask questions, share feedback, and connect with other developers. We also have a section dedicated to our Open Source projects where you can learn more about our Open Source initiatives and how you can get involved.
-
We want to hear what you think! Reach out to us and let us know how you liked our products or how we can make your experience even better. Whether this is constructive product feedback or a request for more features or product capabilities, we want to hear from you.
-
Leave us a (positive or constructive) product review
We are a small and passionate team of developers building an amazing suite of products for developer productivity and to augment existing workflows. Whether you’ve had a positive or negative experience with a Pieces for Developers product, we want to hear from you. Please leave us a positive or constructive review on what you think about our products as any bit of feedback helps us on our mission.
Stay in the know and Get Updates
-
-
We release updates 3-4 times a month across all of our products. That’s a lot to keep up with! With each release comes an in-depth release note detailing new features, bug fixes, and product announcements. Stay in-the-know by subscribing to our release notes here.
-
We post the latest on Pieces for Developers and topics buzzing around the technology community on our socials daily. Follow us for power tips, useful technical content, the occasional funny meme, or just to say “hi”. We’d love to engage with you!
Beyond the Product
-
We have published over 100+ articles on our blog and across other developer blog sites like Medium, Hashnode, and Dev.to. We have the best technical content for you to learn from or reference in your projects. We cover content across all types of technical material like frameworks to use and when, tips and tricks, how-to’s, programming language guides, Open Source information, and more!
Troubleshooting
Solving Common Connectivity Issues
If you run into issues where your [Pieces for Developers | VS Code Extension] is having trouble connecting to Pieces for Developers | OS Server, try to restart Pieces for Developers | OS Server and then Visual Studio Code and try again.
Frequently Asked Questions
I don’t see the snippet I just saved in the list view in my VS Code?
I’m in VS Code and I keep getting the notification “Can’t Connect to Pieces OS”
Restart Pieces OS. After a couple of seconds re-open VS Code
What is Pieces OS? How does it work?
Pieces OS is the background service that enables Pieces to work locally and handles communications with any integrations. Without Pieces OS, Pieces for Developers will not be able to save your snippets or interact with any of your plugins.
Pieces OS also enables you to sync Pieces to the cloud so that you can access your data anywhere. It also enables our other cloud-enabled features, like link sharing. Download and install Pieces OS! Head over to https://code.pieces.app/install to get started.
How do I share a snippet from my VS Code?
To share a snippet you must be connected to Pieces OS and logged in and connected to the cloud. Then click the Pieces extension icon to see the snippet tree view and click inside Pieces explorer to find your saved snippets. Right-click the snippet you’d like to share and select “share via Pieces link”. Then copy the shareable link and send it to anyone!
How do I connect to the Pieces Cloud from VS Code?
-
| |