This repository has been archived by the owner on Oct 11, 2024. It is now read-only.
Releases: quack-ai/companion
Releases · quack-ai/companion
v0.1.0
This first release adds a full fledged API for coding assistants while curating team insights, built on top of FastAPI, Ollama, Gradio & Mintlify.
Note: Companion 0.1.0 requires a NVIDIA GPU with 6Gb of VRAM to run it.
Highlights
Local & private code chat
Using your LLM running locally thanks to Ollama 🦙, you can get your coding companion in a chat interface 🦆
Back-end API
REST API for guideline curation and coding assistant powered by LLM:
You can use the cloud version in a very similar fashion:
curl --request POST \
--url https://api.quackai.com/api/v1/code/chat \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"messages": [
{
"role": "user",
"content": "<string>"
}
]
}'
Developer community
Whether you're a user of the Cloud version or a developer, you can check our documentation.
Also, you can join our Discord to get in touch 🦆
What's Changed
Breaking Changes 🛠
- refactor: Moved guideline fetching and updated scope requirements by @frgfm in #6
- refactor: Turns the "removed_at" column of repos into a boolean "is_active" column by @frgfm in #29
- feat(code): switch fully to ollama as LLM provider by @frgfm in #101
- refactor(models): simplify data model by @frgfm in #107
- fix(migrations): clean the alembic migrations & scratch revisions by @frgfm in #145
New Features ✨
- feat: Adds FastAPI to handle tables users, repos and guidelines by @frgfm in #2
- feat: Adds a route to update the guideline order of a given repo by @frgfm in #3
- feat: Adds GitHub code & token request routes by @frgfm in #4
- feat: Adds product analytics PostHog by @frgfm in #5
- ci: Adds docker build & push by @frgfm in #14
- test: Adds basic test suite for the project by @frgfm in #16
- ci: Adds CI job to autodeploy docker by @frgfm in #17
- test: Adds test suite for first endpoints by @frgfm in #19
- feat: Adds compute route using OpenAI API by @frgfm in #21
- feat: Updates route permissions & telemetry by @frgfm in #22
- test: Adds unittests for all routes but compute by @frgfm in #26
- feat: Updates OpenAI interactions and adds tests by @frgfm in #28
- ci: Adds check of deployment by @frgfm in #30
- feat: Adds route for repo waitlist by @frgfm in #34
- feat: Adds guideline extraction & validation routes by @frgfm in #35
- feat: Adds docker & client for Ollama (preview) by @frgfm in #42
- feat: Adds proper APM using Prometheus and Grafana by @frgfm in #52
- ci: Adds dependabot update configuration by @frgfm in #56
- ci(github): add jobs to verify PR labels and title by @frgfm in #74
- feat(code): add multi-turn chat capabilities by @frgfm in #103
- feat(login): add token validation route by @frgfm in #115
- feat(code): embed guidelines in the code chat by @frgfm in #122
- feat(demo): add a Gradio demo for the code chat by @frgfm in #124
- ci(github): add package publish to ghcr by @frgfm in #135
- docs(mintlify): move the documentation to the companion repo by @frgfm in #141
- feat(demo): add analytics to Gradio demo by @frgfm in #144
- feat(auth): add Supabase auth utils & clean JWT by @frgfm in #154
- feat(llm): enable the choice of LLM provider by @frgfm in #157
- feat(llm): add alternative support of OpenAI API by @frgfm in #163
Bug Fixes 🐛
- ci(github): pin the ssh action version by @frgfm in #76
- fix(login): revert provider user ID format by @frgfm in #112
- fix(dependencies): handle cases where the token isn't JWT compliant by @frgfm in #123
- fix(docker): fix the position of the traefik service in the prod docker compose by @frgfm in #142
Dependencies
- build(deps-dev): Bump gitpython from 3.1.32 to 3.1.34 by @dependabot in #7
- build(deps-dev): Bump gitpython from 3.1.34 to 3.1.35 by @dependabot in #8
- build(deps): Bump urllib3 from 2.0.4 to 2.0.6 by @dependabot in #10
- build(deps): Bump urllib3 from 2.0.6 to 2.0.7 by @dependabot in #12
- ci: Bumps poetry from 1.6.1 to 1.7.1 by @frgfm in #68
- ci: Updates dependabot frequency by @frgfm in #69
- build(deps): Bump the gh-actions group with 6 updates by @dependabot in #57
- build(deps-dev): Bump pytest from 7.4.3 to 8.0.0 by @dependabot in #64
- build(deps-dev): bump ruff from 0.1.9 to 0.1.14 by @dependabot in #60
- build(deps-dev): bump pytest-asyncio from 0.21.1 to 0.23.4 by @dependabot in #75
- build(deps-dev): bump pre-commit from 2.21.0 to 3.6.0 by @dependabot in #80
- build(deps-dev): bump ruff from 0.1.14 to 0.2.0 by @dependabot in #85
- build(deps-dev): bump ruff to 0.2.2 by @frgfm in #91
- build(deps): bump fastapi to 0.110.0 by @frgfm in #108
- build(deps): bump sqlmodel to 0.0.16 by @frgfm in #109
- build(deps): bump pydantic to 2.6.2 by @frgfm in #110
- build(deps-dev): bump ruff from 0.2.2 to 0.3.0 by @dependabot in #111
- build(deps-dev): bump mypy from 1.8.0 to 1.9.0 by @dependabot in #118
- build(deps-dev): bump ruff from 0.3.0 to 0.3.2 by @dependabot in #119
- build(deps): bump the gh-actions group with 1 update by @dependabot in #87
- build(deps-dev): bump pytest from 7.4.4 to 8.0.1 by @dependabot in #92
- build(deps-dev): bump ruff from 0.3.2 to 0.3.3 by @dependabot in #131
- build(deps-dev): bump ruff from 0.3.3 to 0.3.4 by @dependabot in #133
- build(deps-dev): bump ruff from 0.3.4 to 0.3.5 by @dependabot in #147
- build(deps): bump idna & pillow to address security issues by @dependabot in #149
- build(deps-dev): bump ruff from 0.3.5 to 0.3.7 by @dependabot in #150
- build(deps-dev): bump ruff from 0.3.7 to 0.4.0 by @dependabot in #151
- build(deps-dev): bump ruff from 0.4.0 to 0.4.1 by @dependabot in #152
- build(deps-dev): bump mypy from 1.9.0 to 1.10.0 by @dependabot in #153
- build(deps-dev): bump ruff from 0.4.1 to 0.4.4 by @dependabot in #160
- build(deps-dev): bump tqdm from 4.66.2 to 4.66.3 in the pip group by @dependabot in #158
- build(deps): bump ollama to 0.1.38 by @frgfm in #164
Documentation 📖
- docs: Adds aGPLv3 license by @frgfm in #1
- style: Removes bandit & black to switch to ruff by @frgfm in #13
- refactor: Refactors analytics into telemetry module by @frgfm in #20
- feat: Adds a safeguard check of permissions for modifications of repos/guidelines by @frgfm in #31
- refactor: Cleans en vars and setup instructions by @frgfm in #36
- docs: Updates licens...