Tabby is an open-source, self-hosted AI coding assistant developed by TabbyML, designed to serve as an alternative to GitHub Copilot. It integrates with various IDEs and editors, providing code completion and other coding assistance features. The project is actively maintained and exhibits strong community engagement.
Aliang (liangfung)
feat-ui-pages
and feat/notification-job-failed
.Meng Zhang (wsxiaoys)
support-read-file-list
and main
.Zhiming Ma (icycodes)
release-vim-2.0
and release-intellij-1.10
.Wei Zhang (zwpaper)
feat/page-backend
and feat/notification-job-failed
.Jackson Chen (Sma1lboy)
support-pre-sync
branch.Zhanba
Autofix-ci[bot]
Timespan | Opened | Closed | Comments | Labeled | Milestones |
---|---|---|---|---|---|
7 Days | 6 | 3 | 4 | 1 | 1 |
30 Days | 16 | 10 | 16 | 3 | 1 |
90 Days | 64 | 56 | 117 | 6 | 1 |
1 Year | 325 | 198 | 842 | 26 | 1 |
All Time | 788 | 636 | - | - | - |
Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.
Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
Wei Zhang | 4 | 7/7/0 | 25 | 186 | 8508 | |
aliang | 5 | 7/7/0 | 18 | 46 | 4095 | |
Meng Zhang | 3 | 11/11/0 | 26 | 254 | 2587 | |
Zhiming Ma | 4 | 8/7/0 | 13 | 29 | 1426 | |
autofix-ci[bot] | 5 | 0/0/0 | 9 | 16 | 149 | |
Jackson Chen | 1 | 7/2/2 | 2 | 2 | 62 | |
zhanba | 1 | 1/1/0 | 1 | 5 | 42 | |
CC (54corbin) | 0 | 0/0/1 | 0 | 0 | 0 | |
None (antimonyGu) | 0 | 1/0/0 | 0 | 0 | 0 | |
None (Aakashdeepcodes) | 0 | 1/0/0 | 0 | 0 | 0 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
Risk | Level (1-5) | Rationale |
---|---|---|
Delivery | 4 | The project faces significant delivery risks due to a growing backlog of unresolved issues. Over the past year, 325 issues were opened and only 198 closed, indicating a backlog growth that could impact delivery timelines if not addressed. Additionally, recurring deployment challenges in environments like Docker and Windows, as well as integration issues with specific models, pose further risks to delivery. These challenges could hinder the project's ability to meet its goals and affect user satisfaction. |
Velocity | 3 | The project's velocity shows signs of potential slowdown due to bottlenecks in the review process and a concentration of commits among a few developers. While there is active development with significant contributions from key developers like Wei Zhang and Meng Zhang, the lack of merged pull requests for some developers suggests potential delays in integration. The net increase in open issues also indicates a discrepancy between issue resolution and reporting rates, which could impact velocity if unresolved. |
Dependency | 4 | The project relies on several external libraries and integrations, such as Azure AI Foundry OpenAPI and Anthropic model implementations, which introduce dependency risks. The presence of multiple versions of similar packages in pnpm-lock.yaml and Cargo.lock suggests potential version conflicts or compatibility issues. Additionally, unresolved review comments about API versioning highlight potential risks in dependency handling if not addressed promptly. |
Team | 3 | The team shows active engagement with moderate issue comments and contributions from key developers. However, the concentration of commits among a few individuals might pose risks related to team dynamics and dependency on key personnel. The presence of a bot handling routine fixes helps reduce manual workload but also indicates reliance on automated processes. |
Code Quality | 4 | There are significant concerns about code quality due to low test coverage across multiple pull requests. PR#3666 has extremely low test coverage (0.28902%), while PR#3653 reports 0% coverage. These gaps in testing undermine the robustness of new features and pose risks to code quality if issues arise from untested code. Additionally, the high volume of changes from key developers without thorough reviews could introduce quality concerns. |
Technical Debt | 4 | The project is accumulating technical debt due to unresolved issues and insufficient test coverage for new features. The backlog growth from more issues being opened than closed suggests accumulating problems that could impact future development. Additionally, the lack of detailed documentation for some features could hinder future maintenance efforts. |
Test Coverage | 5 | Test coverage is critically low across several key pull requests, with some reporting 0% coverage (e.g., PR#3653). This absence of testing poses substantial risks to code quality and technical debt, as it undermines the reliability of new features and increases the likelihood of undetected bugs or regressions. |
Error Handling | 3 | While there are proactive steps towards improving error handling, such as notifying admins of job failures, there are still areas needing refinement. Issues like #3648 indicate potential gaps in error handling mechanisms that need addressing to prevent similar problems from affecting system stability. The introduction of logging improvements is positive but requires further development to fully meet project standards. |
Recent GitHub issue activity for the Tabby project shows a mix of bug reports, feature requests, and enhancement suggestions. The project appears to be actively maintained with regular updates and community engagement.
Notable anomalies include issues related to deployment in specific environments, such as Docker and Windows, and challenges with integrating certain models. There are also recurring themes around improving documentation, enhancing user experience in IDE integrations, and supporting additional languages and platforms.
#3684: docker image pull configuration issues
#3681: [VIM] Works only for the first buffer open
#3668: Support azure openai services for chat completion model
#3648: tabby-agent: User agent string containing newlines causes failed healthchecks
#3641: IntelliJ Plugin: IDE Freezes During Code Completion
#3684: docker image pull configuration issues
#3681: [VIM] Works only for the first buffer open
#3668: Support azure openai services for chat completion model
#3648: tabby-agent: User agent string containing newlines causes failed healthchecks
#3641: IntelliJ Plugin: IDE Freezes During Code Completion
Overall, the issue activity reflects a vibrant community engaged in both using and improving Tabby, with a focus on expanding its capabilities and ensuring smooth operation across diverse environments.
#3688: Update docker.yml
docker.yml
file, with a net reduction of 8 lines. It appears to be a routine update, possibly for optimization or configuration adjustments.#3687: feat(backend): add support for Anthropic model implementation
#3683: feat(backend): adding Azure AI Foundry OpenAPI support
#3680: chore(docs): adding search bar on current tabby-website-docusaurus
#3682: fix(vim): fix keybinding not setup on new opened buffers
#3679: feat(db): enable WAL mode for SQLite database connections
Draft Status and Dependencies:
Focus on Backend Enhancements:
Documentation and Usability Improvements:
Quick Bug Fixes and Performance Improvements:
Community Engagement in Reviews:
Overall, the project is actively evolving with significant backend developments, usability improvements, and prompt issue resolutions. The focus on integrating new AI models and enhancing documentation reflects Tabby's commitment to providing a robust and user-friendly coding assistant platform.
ee/tabby-ui/app/(dashboard)/settings/(integrations)/sso/components/credential-list.tsx
useMemo
and useQuery
indicates a focus on performance optimization.CredentialList
component is well-structured, with clear separation between OAuth and LDAP credential handling through dedicated components (OauthCredentialCard
and LDAPCredentialCard
).Button
, Card
, and Skeleton
, indicating a consistent design system.ee/tabby-schema/src/schema/thread/types.rs
GraphQLEnum
, GraphQLObject
, and GraphQLUnion
, indicating integration with a GraphQL API.Message
, Thread
, and their attachments. This suggests a comprehensive data model for handling thread-based communication.validator
crate, ensuring data integrity.clients/vscode/src/commands/index.ts
website/docs/references/models-http-api/perplexity.md
ee/tabby-webserver/src/service/answer.rs
crates/tabby-common/src/index/mod.rs
clients/intellij/src/main/kotlin/com/tabbyml/intellijtabby/chat/ChatBrowser.kt
clients/eclipse/plugin/src/com/tabbyml/tabby4eclipse/chat/ChatView.java
Cargo.toml
CHANGELOG.md
Aliang (liangfung)
feat-ui-pages
and feat/notification-job-failed
.Meng Zhang (wsxiaoys)
support-read-file-list
and main
.Zhiming Ma (icycodes)
release-vim-2.0
and release-intellij-1.10
.Wei Zhang (zwpaper)
feat/page-backend
and feat/notification-job-failed
.Jackson Chen (Sma1lboy)
support-pre-sync
branch.Zhanba
Autofix-ci[bot]
Collaboration: There is significant collaboration among team members, often involving co-authorship or shared contributions to specific features or fixes.
Active Branch Management: The team is actively managing multiple branches simultaneously, indicating a robust development process with ongoing feature development, bug fixes, and refactoring efforts.
Frequent Updates: The project sees frequent updates across various components, including UI enhancements, backend improvements, and plugin updates for different IDEs.
Automated Processes: The use of bots like autofix-ci[bot] suggests an emphasis on maintaining code quality through automated tools.
Release Management: There are structured release processes for different components (e.g., IntelliJ, VSCode), indicating a mature approach to version control and deployment.
Overall, the Tabby development team is actively engaged in enhancing the project's functionality while maintaining a collaborative environment that leverages both manual contributions and automated tools for efficiency.