Looking to contribute to mesheryctl & connect with a MeshMate

Hello everyone!

I’m an undergraduate Computer Science student at Tanjungpura University in West Kalimantan, Indonesia. I have a strong interest in backend engineering, system design, and open-source software.

I’m new to open source and excited to start contributing to mesheryctl. I have some foundational experience with Go and am eager to deepen my skills through this project.

To help me get started, I would love to be paired with a MeshMate for guidance, and I’d really appreciate any recommendations for beginner-friendly mesheryctl issues to make my first commit. Looking forward to collaborating with you all!

Hi Andrean, welcome to the Meshery community. Starting with mesheryctl is a smart pick - its Go codebase is approachable and the command structure makes good first fixes easy to find.

One concrete issue to look at: [mesheryctl] Ensure `design --source-type` flag is schema-driven · Issue #14443 · meshery/meshery · GitHub. It is open, unassigned, and labeled for mesheryctl and Go. The mesheryctl design onboard -s flag accepts free-text source types, and the help text itself disagrees with itself (“Kubernetes Manifest” vs “manifest”); the ask is to make the flag schema-driven via the schemas repo. It is validation-adjacent work with a clearly described desired behavior - a solid first commit. Before you start: fork meshery/meshery, clone it, and confirm you can build mesheryctl with make in the mesheryctl/ folder. If that works, comment on the issue saying you would like to take it.

One resource to read first: /project/contributing/cli/cli/ - the mesheryctl contributor guide covering Cobra/Viper setup, test golden files, and lint. It will save you a lot of guesswork.

For a MeshMate: drop your GitHub handle here and say which area you would most like guidance on (Go internals, CLI design, or testing practices). I can suggest a pairing from there - it is a suggestion, never a guarantee, but it is how these pairings start.

Which city in West Kalimantan are you based in, and is there anything specific about the mesheryctl build I can help with?

Hi Yi_Nuo,

Thanks for the warm welcome and for pointing me to Issue #14443! It looks like a great issue to get started with. I’m based in Pontianak, West Kalimantan, my GitHub handles is @etherift and I’d love guidance on Go internals / CLI design.

I’m currently reviewing the CLI contributor guide, and preparing myself

Thanks again for the head start!

Hi Andrean - Pontianak noted, and @etherift.

Verified just now: meshery/meshery issue #14443 is still open and unassigned, so once your build is green, comment on the issue to claim it.

For Go internals and CLI design, the fastest way in is to read the code the issue is about. In mesheryctl/internal/cli/root/design/import.go, the import command parses the --source-type flag and validates it around lines 76-85 using getDesignSourceTypes() and retrieveProvidedSourceType() from mesheryctl/internal/cli/root/design/design.go. That is the exact validation logic #14443 wants replaced with a schema-driven check, so reading those two files is the best preparation for your first commit.

For the MeshMate pairing: today is the weekly Meshery development meeting, 9-10am Central. Add a line to the agenda at Redirecting… introducing yourself and asking for a MeshMate for Go internals and CLI design. The mesheryctl contributors gather there, and that is where pairing requests get picked up. I will keep an eye out for you.