Links

Managing Index Size

Exclude unnecessary files and folders from repo to index faster!

What is Indexable Size?

Indexable size is size of all code files, excluding following from the folder:
  • Directory/File based filtering
    • logs, node_modules, dist, target, bin, package-lock.json, data.json, build, .gradle, .idea, gradle, extension.js, vendor.js, ngsw.json, polyfills.js, ngsw-worker.js, runtime.js, runtime-main.js, service-worker.js, bundle.js, bundle.css
  • Extension based filtering
    • bin, exe, dll, log, aac, avif, bmp, cda, gif ,mp3, mp4, mpeg, weba, webm, webp, oga, ogv, png, jpeg, jpg, bmp, wpa, tif, tiff, svg, ico, wav, mov, avi, doc, docx, ppt, pptx, xls, xlsx, ods, odp, odt, pdf, epub, rar, tar, zip, vsix, 7z, bz, bz2, gzip, jar, war, gz, tgz, woff, woff2, eot, ttf, map, apk, app, ipa, lock, tmp, logs, gmo, pt
  • Hidden files are filtered i.e., files starting with "."
  • All Empty files are filtered.
  • All Binary files are also filtered.

Is there any limit on repository size?

For workspaces that have upgraded to Bito's 10X Developer Plan, we have set the indexable size limit to 120MB per repo. However, once we launch the "AI that Understands Your Code" feature for our Forever Free users, they will be restricted to repositories with an indexable size limit of 10MB.
Learn more about indexable size above and see which files and folders are excluded by default.
You can reduce your repo's indexable size by excluding certain files and folders from indexing using .bitoignore file and remain within the limit.

What if a repo hits 120MB limit?

If a repo hits 120MB limit, then the below error message will be displayed in the "Manage repos" tab and the repo's index status will be changed to "Not Indexed".
Sorry, we don’t currently support repos of this size. Please use .bitoignore to reduce the size of the repo you want Bito to index.
To fix this issue, follow our instructions regarding how to use .bitoignore file and reduce your repo's size and bring it under the max limit of 120MB.
After that, you must delete the index and then restart the indexing by clicking on the "Start Indexing" button shown for the repo folder. You can also follow our step-by-step guides to Start Indexing in Visual Studio Code and Start Indexing in JetBrains IDEs.

What is .bitoignore and how to use it?

.bitoignore file contains a list that tells Bito which files or directories to ignore and not index. In other words, it's a way to reduce your repo's indexable size. You can also see which files/folders are excluded by default.
There are two ways to use .bitoignore file:
  1. 1.
    Create a .bitoignore file inside the folder where indexes created by Bito are stored. e.g. <user-home-directory>/.bito/localcodesearch/.bitoignore
    • On Windows, this path will be something like: C:\Users\<your username>\.bito\localcodesearch\.bitoignore
    • Note: The custom ignore rules you set in this .bitoignore file will be applied to all the repositories where you have enabled indexing.
  2. 2.
    Create a .bitoignore file inside your repository's root folder.
If a .gitignore file is available in your repo then Bito will also use that to ignore files & folders from indexing process. Both .bitoignore and .gitignore files can work together without any issues.
Changes to the .bitoignore file are taken into account at the beginning of the indexing process, not during or after the indexing itself.
Therefore, to implement changes made to the .bitoignore file, you'll need to delete the index and then restart the indexing by clicking on the "Start Indexing" button shown for the repo folder. You can also follow our step-by-step guides to Start Indexing in Visual Studio Code and Start Indexing in JetBrains IDEs.

Example of excluding files/folders using .bitoignore file

In .bitoignore file, any line that starts with a # symbol is considered as a comment and will not be processed.
We have created this sample .bitoignore file for you. It contains comments that briefly explain the specified custom ignore rules.
# cutom ignore rules
# The order of patterns in the file matters.
# Patterns are processed from top to bottom, and the first pattern
# that matches a file or directory dictates whether it is ignored or not.
# Ignore specific file named "config.ini"
config.ini
# Ignore all files with a '.bak' extension
*.bak
# Ignore all files with a '.kunal' extension
*.kunal
# If you want to exempt a file, make sure the exception pattern (!)
# appears after the matching pattern.
# Ignore all files with a '.html' extension, except 'about.html'
*.html
!about.html
# Exclude directories
backup
temp/
dist
# matches any single character in a filename or directory name
BitoUtil?.java
Bito Inc. (c) 2024