Git Product home page Git Product logo

quack-ai / companion-vscode Goto Github PK

View Code? Open in Web Editor NEW
223.0 3.0 9.0 1.41 MB

VSCode extension of Quack Companion 💻 Turn your team insights into a portable plug-and-play context for code generation. Alternative to GitHub Copilot powered by OSS LLMs (Mistral, Gemma, etc.), served with Ollama.

Home Page: https://docs.quackai.com

License: Apache License 2.0

Makefile 0.26% JavaScript 2.66% TypeScript 92.67% CSS 4.40%
code-assistant developer-tools ai api code-quality code-review deep-learning llm open-source openai programming self-hosted vscode typescript electron visual-studio-code github-api

companion-vscode's Introduction

Quack Companion - IDE extension

APIVSCode extensionDocumentation

CI Status eslint prettier codacy

VS Marketplace Open VSX Registry Node.js license

Twitter

Smart linting and code chat overcharged by your team insights in VSCode

quack_companion_vscode_chat.mp4

Quick Tour

Code chat

Code chat

Coding guideline curation

Guideline view

Once installed, when you open a project, the extension will give you a new tab where you'll find:

  • Guideline curation: curate your software insights with your team
  • Code chat: ChatGPT but for developers
  • Smart linting (temporarily disabled)
  • Code completion (coming soon)

Walthrough tutorial

Developer walkthrough

With our walkthrough tutorial, you're only a few clicks away from having your own coding companion.

Setup

Prerequisites

Install VSCode

Install the extension

Either:

  • Follow the instructions on the online VS Marketplace page
  • In VSCode, click on Extensions in the sidebar, search for "Quack Companion" and click on "Install"

Roadmap

The ultimate goal for this extension is to offer a smooth contribution experience for any developer. The development efforts will be focused on achieving the following milestones:

  • 🤝 Turn contribution guidelines into a live pair coding experience (code completion & code chat)
  • 🐣 Help any developer find a starter contribution opportunity
  • ⚖️ Ensure alignment between the contribution goal and the project's priorities

Telemetry

Why we collect information

Quack is dedicated to transform the contribution workflow of developers. Developer tools are among the most difficult types of product to build and we need to better understand where to allocate/reduce our efforts over time.

Since we want to keep providing free options for our services in the future, and since we don't want to rely on advertising, we humbly ask you to share limited usage data so that we can improve the products and services that we offer.

What we collect

For each event, here is the largest amount of data we collect:

  • Event identifiers: the event type (e.g.fetch-guidelines) and potentially the scope (e.g. the repository)
  • User information: depending on the telemetry setting, either your GitHub username or an anonymized UUID specific to you (created when you first activate the extension).

And since the extension is open source, you can navigate the codebase to verify the above information if you feel like it ;)

What you can do about it

This data collection is done using Posthog and can be:

  • 😟 anonymized: by default we'll identify your actions with your GitHub username. We'll keep an option to prevent that identification, as we understand it's important for developers to have this choice.
  • 😭 disabled: like in most VSCode extensions, you have the ability to disable telemetry completely.

Copying & distribution

Copyright (C) 2023-2024, Quack AI.

This program is licensed under the Apache License 2.0. See LICENSE or go to https://www.apache.org/licenses/LICENSE-2.0 for full license details.

Contributing

Feeling like improving the interface? Or perhaps submitting a new feature idea? Any sort of contribution is greatly appreciated!

You can find a short guide in CONTRIBUTING to help grow this project! And if you're interested, you can join us on

companion-vscode's People

Contributors

frgfm avatar dependabot[bot] avatar rorylogue avatar shivangrawat30 avatar imgbot[bot] avatar

Stargazers

Atharv Kulkarni avatar Jeff Carpenter avatar Burden Haze  avatar Vo Tien Dung avatar fabrice avatar  avatar  avatar  avatar  avatar Sanchal Ghosh avatar Aditya Gaddhyan avatar  avatar Ismail Chaida avatar ethan cohen avatar  avatar Mihir Gandecha avatar kondwani Nyirenda avatar Salma Shaik avatar Nikola avatar Harry Dobrev avatar Fyvel avatar Nikolaus Schlemm avatar Bilal Aamer avatar  avatar TaTi Lattanzi avatar Tobiasz Waszak avatar Matt Shaffer avatar Özhan Efe Meral avatar Marvin Kaunda avatar Alexandre Shafii avatar Godswill avatar Folafunmi avatar Sudip Mandal avatar  avatar  avatar Dick Tang avatar Benoît Perrin avatar Peter Shaan avatar Fiqry choerudin avatar Harsh Patel avatar Fahrezi Adha avatar Tushar rawat avatar Sayak Ghosh avatar Ritvik Shukla avatar Vincent van Dam avatar Anubhav Negi avatar Bianca Trovò avatar wheval  avatar DOZIBE NWABUOKU avatar Lulzx avatar Milos Djakovic avatar Pblfer avatar Daksh Singh Rathore avatar Joshua Nathaniel M avatar Shalabh avatar Rafael Melo avatar Kshitijaa Jaglan avatar Sahil avatar AlexRay avatar François Amat avatar TEYIM ASOBO avatar Daniel Bodnar avatar Nathan Lloyd Ward avatar Michele Mastropietro avatar RT avatar Tamir Al avatar  avatar mowi12 avatar Teno avatar Matthieu S. avatar Maxime Dolores avatar Smit avatar platdude avatar antx avatar David Gidwani avatar Christopher Webb avatar Sacha avatar Pierre Snell avatar  avatar Derry Redjeki avatar  avatar Charlie Cortial avatar  avatar Wayne Koorts avatar Tyler Mercer avatar Evan Kuck avatar  avatar Aline Bevilacqua avatar Pierre Nel avatar René Kuhn avatar Henri Cazottes avatar Elisabeth V avatar Rodrigo Aguilar avatar Julian Xhokaxhiu avatar Iván Moreno avatar Alex Mills avatar Flo Wolfe avatar  avatar Massimo avatar  avatar

Watchers

 avatar Matt Shaffer avatar Ashis Kumar Naik avatar

companion-vscode's Issues

Github repository is not initialized.

Bug description

When we open the quack ai extension we get an error Failed to fetch repository details. Make sure the repository exists and is public.

Minimal steps to reproduce the bug

  1. Open VS code.
  2. open a repository.
  3. open quack AI extension.

Error traceback

Error fetching repository details: AxiosError {message: 'Request failed with status code 404', name: 'AxiosError', code: 'ERR_BAD_REQUEST', config: {…}, request: ClientRequest, …}
The ghRepo is returning NULL, guidelines are undefined, repoName is empty, this is also undefined.

Environment

OS - macOS
IDE - VSCode

Failed to get remote URLs. Make sure Git is installed and the repository has remotes.

Bug description

I just came across Quack and wanted to test this. I created a new GitHub repo, added a sample style guide and the web app parsed the repo and created some guidelines. I then cloned the repo locally and followed the steps from https://docs.quackai.com/getting-started/quickstart

When I open a file in the local repo and open the Quack extension I get:

No remote GitHub URL found.
Failed to get remote URLs. Make sure Git is installed and the repository has remotes.

Remote list

git remote get-url origin    
https://github.com/jfrappier/test-docs.git

Tried manually setting the remotes as well (switched between SSH and HTTPS, same error).

Minimal steps to reproduce the bug

  1. Create new repo
  2. Add sample guideline doc
  3. Follow steps from https://docs.quackai.com/getting-started/quickstart

macOS
Sonoma 14.3.1

Using VS Code

Version: 1.87.2
Commit: 863d2581ecda6849923a2118d93a088b0745d9d6
Date: 2024-03-08T15:21:31.043Z
Electron: 27.3.2
ElectronBuildId: 26836302
Chromium: 118.0.5993.159
Node.js: 18.17.1
V8: 11.8.172.18-electron.0
OS: Darwin x64 23.3.0

git
version 2.43.0

Error traceback

Failed to get remote URLs. Make sure Git is installed and the repository has remotes.

Environment

Version: 1.87.2
Commit: 863d2581ecda6849923a2118d93a088b0745d9d6
Date: 2024-03-08T15:21:31.043Z
Electron: 27.3.2
ElectronBuildId: 26836302
Chromium: 118.0.5993.159
Node.js: 18.17.1
V8: 11.8.172.18-electron.0
OS: Darwin x64 23.3.0

Release tracker - v0.1.0

This issue is to be used to track the roadmap of Quack companion for release v0.1.0, and collect feedback from users & contributors.

remove automatic assigned to the admin !

Bug description

when i create a issue or bug then it automatic assigned the issue to admin !

Minimal steps to reproduce the bug

Let suppose someone want to solve his issue , but in issue it automatic assigned the issue for solving to the admin . so remove it !

Error traceback

give the access for only review and assignee the issues to the admin on the basis of issue quality !

Screenshot

assignee

Need one more command for adding local changes in git at contributing.md file !

🚀 Feature

Need one more command for adding local changes in git at contributing.md file, bellow the git checkout -b <a-short-description>
line , due to this , it makes a smooth flow for making a pull request !

Motivation & pitch

In Contributing.md file need a command for adding local changes in git we add git add . or git add <file name> bellow the git checkout -b <a-short-description> line !

Add a copy button on code blocks displayed in the webviews

🚀 Feature

We should add copy button for code blocks.

Most LLM chat services have it, typically this is how it looks like in ChatGPT:
image

Motivation & pitch

Since the goal of the chat interface is to speed up or remove bottlenecks for developers, it produces code quite often. We need to make that interaction more natural.

Alternatives

Here are some resources about how to do this (even though, it's not visually appealing):

Additional context

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.