9 ms·
Show HN: Quack Companion – VSCode extension for OSS contribution assistance
Hello there, I'm FG (short for François-Guillaume)! I’m building Quack Companion (https://github.com/quack-ai/companion https://github.com/quack-ai/companion), a tool designed to bridge the gap between project maintainers and contributors in open-source software (OSS).
If you've ever contributed to OSS, you're familiar with the challenge: diving into a new codebase, aligning with maintainers' expectations, and making meaningful contributions can be daunting. For maintainers, managing a flood of contributions and providing guidance while maintaining quality is overwhelming. As a contributor to PyTorch & an OSS author, I’ve been on both sides over the years. This challenged me to become a better engineer & team player, seeking ways to facilitate smooth collaborative software development.
This is where Quack steps in, as your AI companion for software team alignment. For developers, it's like having a seasoned mentor guiding you through the intricacies of a new codebase, offering live in-line hints based on the project’s guidelines to craft high-quality pull requests. For maintainers, it’s a practical toolset to identify and address workflow inefficiencies and align contributions effectively with project objectives.
As code generation gets commoditized, aligning these diverse efforts becomes critical if you wish to convert individual productivity boosts into team velocity. Quack AI is here to solve this alignment, and make collaborative software development scale without losing any efficiency.
We're committed to keeping the service accessible and free for OSS communities while we plan to generate revenue from the enterprise suite. The platform (React, Next JS), the IDE extension (VSCode) and the backend API (Python, FastAPI) are licensed under Apache 2.0. You can find a short demo here [1] and the GitHub project here [2].
Our roadmap includes:
* offering autocompletion and code chat in the IDE, making the contribution process even more intuitive and seamless;
* finalizing the transition of the community version to hostable OSS models;
* identifying ambiguities or unspecified aspects of a given project’s guidelines;
* developing a Fitbit-like feature for your software development productivity to identify bottlenecks in your workflow.
This is still the early days, but we've seen how sharing a "public design doc" with the community can significantly improve the outcome! How was your experience of managing inbound as maintainers? What were your personal hacks to mitigate those challenges? We'd love to hear about how it has impacted your developer life or if you have any feedback about the above.
Cheers!
[1] Demo video: https://dub.sh/quack-demo https://dub.sh/quack-demo
[2] Open Source repo: https://github.com/quack-ai/companion https://github.com/quack-ai/companion
Our documentation: https://docs.quackai.com/ https://docs.quackai.com/
- mdaniel 3y agoOSS communities ... on GitHub only, seems to be the rest of that sentence: https://github.com/quack-ai/companion/blob/77281d882ff7b90fe89fe489eabc6aaa2f184f69/src/util/session.ts#L11 https://github.com/quack-ai/companion/blob/77281d882ff7b90fe... there is also a tiny mention of it in the readme, but it's often hard to know how many times that's "shorthand" for "git based code forges" versus, as in this case, "we use the github api and others are on the backlog" In case others went sniffing around looking for "does this use an OpenAI key?" the answer is yes but it's in the Python side: https://github.com/quack-ai/contribution-api#configuration https://github.com/quack-ai/contribution-api#configuration
- fgfm 3y agoI appreciate the feedback about clarity, thanks! We'll update the documentation and agree to reflect that more accurately. For now, we've started with VSCode as an IDE and used GitHub for authentication. But actually, we're already working with GitLab to add support. For other VCS, the prioritization will be demand-based as we don't want to spread thin early on. Regarding the OpenAI part, as stated in the post, we're currently migrating the community version to self-hosted OSS models. If you sniff around the backend API repo, you'll see there is already a third-party service registered for Ollama and a corresponding docker-compose (https://github.com/quack-ai/contribution-api/blob/main/docker-compose.ollama.yml https://github.com/quack-ai/contribution-api/blob/main/docke...). Our next release was already planned to switch to Ollama (keeping OpenAI as an alternative as well), so I'm thrilled if that goes along with the community preference!
- pyduan 3y agoDo you have an estimate for typical token usage for a developer who'd use it as part of their workflow? I'd imagine the costs can rack up fairly quickly if you're not careful.
- fgfm 3y agoWe'll do our best to consistently report it since this can indeed influence the financial decisions of developers, especially if they go through third-party paying LLM APIs. In our early experiments, we've seen about 200-250 tokens per request (~= autocompletion), of which about 40-50 tokens are generated. Two things we're doing this: - right now our API response contains more than what's required for autocompletion, so there is room for improvement there. And since we focus on team alignment, the goal is to boost the suggestion acceptance rate compared to alternatives. So in the end, fewer calls and lower token consumption. - since we're working on fully migrating to hostable OSS models of reasonable size, the financial aspect of token consumption should be mostly moved out of the picture to focus on latency.