A New AI Tool for my Rust Open Source Project
Tags: ai, opensource, rust, beginners
Published: 2024-07-12 09:41:32

Recently, I became curious about Pieces, a developer tool. Since I started a new open-source project, I thought it was a good opportunity to test something new in the AI ecosystem.

## Introducing Rustcrab

Before diving into Pieces, I'd like to introduce you to **Rustcrab**. Rustcrab is an open-source repository designed to be the ultimate resource hub for Rust developers. The project aims to provide meaningful information about the Rust community, resources, news, projects, dev tools, and more. You can check out Rustcrab on GitHub: [Rustcrab](https://github.com/FrancescoXX/rustcrab).

[![Rustcrab](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/unr3z3lim6biogpl2zvr.png)](https://github.com/FrancescoXX/rustcrab)

## Setting Up Pieces Suite

I installed Pieces on my Windows machine (but I'm sure other options are available).

[![Installed Pieces Suite](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ih62d4i2q5yx1f8oj7wx.png)](https://pieces.app/)

The installation process took less than a minute.

[![Installation Process](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7nbd7axqeawnfkj2rs0t.png)](https://pieces.app/)

I was prompted to allow Pieces Suite to access diagnostic information about my app, and I decided to trust them.

[![Diagnostic Access](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2a1fvwmt55cunwsew5ft.png)](https://pieces.app/)

Then, I had the choice of manual or automatic installation. I went with the automatic install.

[![Installation Choice](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gxoojea673ia5xctiwl1.png)](https://pieces.app/)

The installation process started, installing the following components:
- **Pieces OS**: A local database server that enables Pieces to run quickly. It works both offline and inside the IDE.
- **Pieces for Developer**: Used to store code snippets, file fragments, images, and more. It requires Pieces OS to work.

## Personalizing Pieces Suite

Next, I personalized my Pieces Suite setup.

[![Personalization Process](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u47lpf1f12vb35b1hgw1.png)](https://pieces.app/)

I chose Dark Mode (it was the default option, well done).

### Personalization Preferences

Then, I set up my preferences:

[![Setup Preferences](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k6858vf4w7oj6r1fq7l2.png)](https://pieces.app/)

- **Areas**: DevOps, Frontend, Backend, and Blockchain
- **Languages**: Rust, JavaScript, TypeScript, and Python
- **Toolchains**: VSCode and Google Chrome
- **Level**: Advanced
- **Project Type**: Individual (for now)

### Search, Reference, & Reuse

I was prompted to set the hub for search and materials.

[![Search Setup](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2r7jerit6m9d29yc35hw.png)](https://pieces.app/)

I chose the default generative workflow and blended search as the default search engine. For sort mode, I went with the recommended option (Recent).

### Auto-Enrichment & Copilot

For control over data, I chose:
- Blended (recommended)
- Mistral 7b as the default LLM runtime
- No specific automatic material enrichment levels
- Added the local repository for my project [Rustcrab](https://github.com/FrancescoXX/rustcrab)

[![Data Control](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m1phtf6bq60uh0b2iw2n.png)](https://pieces.app/)

### Cloud Accounts & Integrations

I connected Pieces with my GitHub account.

[![GitHub Integration](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4nd5noptc8w996l9k5ab.png)](https://pieces.app/)

I also claimed my cloud's subdomain (francesco.pieces.cloud).

[![Claimed Subdomain](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rsecchj52wfv6kdtn74d.png)](https://pieces.app/)

The onboarding process was now complete!

## Pieces Suite in Action

Here’s how Pieces Suite looked the first time I opened it. I am definitely impressed by the UI.

[![Pieces Suite UI](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/depwbczafldxcm0gwoyh.png)](https://pieces.app/)

I then clicked on the "Add Material" button and chose "Create from scratch."

[![Add Material](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t8j0p2rhdojyjs4x16mp.png)](https://pieces.app/)

I added an existing component I used in my current project—a component that gets a repository's GitHub stars—to the "Rustcrab" project.

[![Add Component](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vq0caxlpkmgdrocnyyhf.png)](https://pieces.app/)

## Conclusion

Thanks for reading! I went through the Pieces Suite onboarding process and was impressed by the UI and features. I will definitely use it in my future projects.

This was just the installation and onboarding process; I might share something more in the upcoming articles. 

If you have any comments, leave them below.

You can check out the Rustcrab project on GitHub: [Rustcrab](https://github.com/FrancescoXX/rustcrab)

[![Rustcrab](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/unr3z3lim6biogpl2zvr.png)](https://github.com/FrancescoXX/rustcrab)

You can find me here: [Francesco Ciulla](https://francescociulla.com)