# codota/tabnine

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/codota-tabnine).**

10,784 stars · 538 forks · Shell · MIT

## Links

- GitHub: https://github.com/codota/TabNine
- Homepage: https://tabnine.com
- awesome-repositories: https://awesome-repositories.com/repository/codota-tabnine.md

## Topics

`ai` `artificial-intelligence` `atom-package` `bash` `cpp` `golang` `gpt-2` `java` `javascript` `jetbrains-plugin` `lua` `php` `python` `ruby` `rust` `sublime-package` `swift` `typescript` `vim-plugin` `vscode-extension`

## Description

TabNine is an AI-powered code completion engine that runs a deep-learning model to generate real-time code suggestions across all programming languages. It operates as an editor plugin that communicates with a backend through a JSON message-passing interface, processing code entirely on the local machine or within a private cloud to keep source code secure and private.

The system provides a completion request API that accepts cursor context and returns ranked text completions, with features for configuring completion regions, prefetching files for indexing, and managing binary versions and updates. It includes a multi-language tokenizer that maps file extensions to languages and supports customizable tokenization rules, enabling completions that respect language-specific syntax and identifier patterns.

TabNine also offers enterprise governance capabilities, providing centralized visibility, granular access controls, policy enforcement, and auditability across users and teams. It supports deployment in SaaS, on-premises, or fully air-gapped environments, and can analyze an organization's codebase to learn its architecture, frameworks, and coding standards for contextually relevant suggestions.

## Tags

### Development Tools & Productivity

- [AI Code Completions](https://awesome-repositories.com/f/development-tools-productivity/automated-code-fix-suggestions/medical-billing-code-suggestions/ai-code-completions.md) — Provides real-time AI-driven code suggestions at the cursor position across all programming languages. ([source](https://tabnine.com/))
- [Completion Engines](https://awesome-repositories.com/f/development-tools-productivity/completion-engines.md) — Runs a neural language model over tokenized cursor context to generate real-time code completions.
- [Code Completion](https://awesome-repositories.com/f/development-tools-productivity/code-completion.md) — Ships a completion request API that submits cursor context and returns ranked text completions. ([source](https://github.com/codota/TabNine/blob/master/HowToWriteAClient.md))
- [Editor Code Completion Plugins](https://awesome-repositories.com/f/development-tools-productivity/code-completion/editor-code-completion-plugins.md) — Provides a plugin that integrates with code editors to provide context-aware code completions as you type.
- [On-Device Code Completions](https://awesome-repositories.com/f/development-tools-productivity/code-completion/on-device-code-completions.md) — Provides an on-device code completion system that processes code locally to keep source code secure and private.
- [Development Workflow Integrations](https://awesome-repositories.com/f/development-tools-productivity/development-workflow-integrations.md) — Integrates with code editors and IDEs to show inline suggestions without interrupting your workflow. ([source](https://tabnine.com/llms.txt#tabnine-ai-code-assistant-smarter-ai-coding-agents-total-ent))
- [Subprocess Message Exchange](https://awesome-repositories.com/f/development-tools-productivity/subprocess-utilities/subprocess-message-exchange.md) — Exchanges structured JSON messages over standard input and output streams to decouple the editor plugin from the backend.
- [Code Expressiveness Suggestions](https://awesome-repositories.com/f/development-tools-productivity/automated-code-fix-suggestions/code-expressiveness-suggestions.md) — Analyzes an organization's architecture, frameworks, and coding standards to make AI suggestions contextually relevant and compliant. ([source](https://tabnine.com/))
- [Project-Aware Editors](https://awesome-repositories.com/f/development-tools-productivity/code-editors/project-aware-editors.md) — Integrates with development workflows and project history to provide contextual completions that reflect team patterns.
- [Completion Region Configurations](https://awesome-repositories.com/f/development-tools-productivity/completion-region-configurations.md) — Sets the text region before and after the cursor so the system can safely truncate long inputs without losing context. ([source](https://github.com/codota/TabNine/blob/master/HowToWriteAClient.md))
- [File Extension Language Mappings](https://awesome-repositories.com/f/development-tools-productivity/file-extension-language-mappings.md) — Maps file extensions to a shared language so identifiers from one file type are suggested in another. ([source](https://cdn.jsdelivr.net/gh/codota/tabnine@master/README.md))
- [Identifier Regex Parsers](https://awesome-repositories.com/f/development-tools-productivity/language-aware-syntax-resolvers/identifier-regex-parsers.md) — Uses per-language regular expressions to parse identifiers for token-level completions that respect syntax rules.
- [On-Demand File Indexers](https://awesome-repositories.com/f/development-tools-productivity/search-indexing-tools/local-file-indexers/semantic-file-indexers/on-demand-file-indexers.md) — Adds a file to the completion index before the user requests completions in that file. ([source](https://github.com/codota/TabNine/blob/master/HowToWriteAClient.md))
- [Prefetch File Indexers](https://awesome-repositories.com/f/development-tools-productivity/search-indexing-tools/local-file-indexers/semantic-file-indexers/prefetch-file-indexers.md) — Requests the backend to add a file to its index before the user requests completions in that file. ([source](https://github.com/codota/TabNine/blob/master/HowToWriteAClient.md))
- [Prefetch Indexers](https://awesome-repositories.com/f/development-tools-productivity/search-indexing-tools/local-file-indexers/semantic-file-indexers/prefetch-indexers.md) — Accepts commands to add files to the completion index before user requests, reducing latency on first access.

### Artificial Intelligence & ML

- [Cursor Context Completion APIs](https://awesome-repositories.com/f/artificial-intelligence-ml/generative-ai-resources/decoding-generation-controls/ai-completion-services/model-completion-requests/llm-completion-requests/cursor-context-completion-apis.md) — Provides an API that accepts cursor context and returns ranked text completions for insertion at the cursor position.
- [On-Device Inference Engines](https://awesome-repositories.com/f/artificial-intelligence-ml/on-device-inference-engines.md) — Runs a neural language model entirely on the local machine to generate code completions without sending source code over a network.
- [On-Device Models](https://awesome-repositories.com/f/artificial-intelligence-ml/on-device-models.md) — Runs the completion model entirely on the local machine or inside a private cloud to keep source code within a controlled environment.
- [AI Coding Standards](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-coding-standards.md) — Analyzes an organization's architecture, frameworks, and coding standards to make AI suggestions contextually relevant and compliant. ([source](https://tabnine.com/))
- [AI Coding Governance Platforms](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-governance-tools/ai-coding-governance-platforms.md) — Provides a platform with centralized visibility, granular access controls, policy enforcement, and auditability for AI coding tools.
- [Team AI Usage Governance](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-governance-tools/team-ai-usage-governance.md) — Provides centralized visibility, granular access controls, policy enforcement, and auditability for AI coding tools. ([source](https://tabnine.com/))
- [Codebase Context Indexing](https://awesome-repositories.com/f/artificial-intelligence-ml/generative-ai-knowledge-bases/codebase-context-indexing.md) — Analyzes an organization's codebase to learn its architecture, frameworks, and coding standards for context-aware suggestions. ([source](https://tabnine.com/))

### Part of an Awesome List

- [Local Code Processing](https://awesome-repositories.com/f/awesome-lists/devtools/code-analysis-platforms/privacy-preserving-code-auditors/local-code-processing.md) — Processes code locally or in a private cloud to ensure no code is sent to external servers. ([source](https://tabnine.com/llms.txt#tabnine-ai-code-assistant-smarter-ai-coding-agents-total-ent))
- [On-Device Code Processing](https://awesome-repositories.com/f/awesome-lists/security/code-security/on-device-code-processing.md) — Runs code completion entirely on-device or in a private cloud to prevent source code from leaving your controlled environment. ([source](https://tabnine.com/llms.txt#tabnine-ai-code-assistant-smarter-ai-coding-agents-total-ent))
- [Syntax-Aware Tokenizer Customizations](https://awesome-repositories.com/f/awesome-lists/ai/medical-domain-models/tokenizer-customization/syntax-aware-tokenizer-customizations.md) — Defines how a language splits source code into tokens, for example allowing dashes in identifiers for Lisp. ([source](https://cdn.jsdelivr.net/gh/codota/tabnine@master/README.md))

### DevOps & Infrastructure

- [On-Device Processing Modes](https://awesome-repositories.com/f/devops-infrastructure/private-cloud-hosting/on-device-processing-modes.md) — Runs the completion model on-device or in a private cloud to keep source code within a controlled environment.
- [AI Platform Deployments](https://awesome-repositories.com/f/devops-infrastructure/on-premise-deployment/ai-platform-deployments.md) — Installs on SaaS, on-premises, or air-gapped infrastructure to keep all code processing internal. ([source](https://tabnine.com/))
- [AI Platform Deployments](https://awesome-repositories.com/f/devops-infrastructure/secure-deployment-environments/ai-platform-deployments.md) — Supports deployment in SaaS, on-premises, or fully air-gapped environments to maintain data control and compliance. ([source](https://tabnine.com/))

### Networking & Communication

- [JSON Message Exchanges](https://awesome-repositories.com/f/networking-communication/message-passing/json-message-exchanges.md) — Exchanges structured JSON messages over standard transport to decouple the editor plugin from the completion backend.

### Programming Languages & Runtimes

- [Context Tokenizers](https://awesome-repositories.com/f/programming-languages-runtimes/format-preserving-printing/cursor-fold-preservation/context-tokenizers.md) — Tokenizes cursor context to fit model input limits while preserving syntactic structure for accurate completions.
- [Programming Language Tokenizers](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-tokenizers.md) — Defines how each programming language splits source code into tokens so completions respect language-specific syntax rules. ([source](https://cdn.jsdelivr.net/gh/codota/tabnine@master/README.md))

### System Administration & Monitoring

- [Line-Delimited JSON Protocols](https://awesome-repositories.com/f/system-administration-monitoring/automated-server-maintenance/json-automation-protocols/line-delimited-json-protocols.md) — Sends JSON requests over standard input and receives JSON responses on standard output, one line per request. ([source](https://github.com/codota/TabNine/blob/master/HowToWriteAClient.md))

### User Interface & Experience

- [Code Autocomplete Engines](https://awesome-repositories.com/f/user-interface-experience/autocomplete-suggestion-engines/code-autocomplete-engines.md) — Reads text before and after the cursor, then returns completion suggestions with prefix and suffix replacements. ([source](https://github.com/codota/TabNine/blob/master/HowToWriteAClient.md))

### Web Development

- [Stream-Based](https://awesome-repositories.com/f/web-development/json-apis/json-interfaces/stream-based.md) — Sends JSON requests to a subprocess over standard input and receives JSON responses on standard output, one per line. ([source](https://github.com/codota/TabNine/blob/master/HowToWriteAClient.md))

### Security & Cryptography

- [AI Coding Control Planes](https://awesome-repositories.com/f/security-cryptography/access-control-centralization/ai-coding-control-planes.md) — Provides a control plane with visibility, access controls, policy enforcement, and audit logs for teams. ([source](https://tabnine.com/))
- [AI Coding Governance Controls](https://awesome-repositories.com/f/security-cryptography/centralized-governance-platforms/ai-coding-governance-controls.md) — Provides centralized visibility, granular access controls, policy enforcement, and auditability across users, teams, and workspaces. ([source](https://tabnine.com/))
- [Enterprise AI Coding Governance](https://awesome-repositories.com/f/security-cryptography/governance-policy-frameworks/compliance-governance/security-governance/security-policy-configurations/ai-governance-policies/enterprise-ai-coding-governance.md) — Provides centralized visibility, granular access controls, policy enforcement, and auditability across users, teams, and workspaces.
- [AI Inference Deployments](https://awesome-repositories.com/f/security-cryptography/private-cloud-platforms/ai-inference-deployments.md) — Runs the completion model inside a private cloud to keep source code controlled while enabling team-wide access.
