{"id":31830784,"url":"https://github.com/gemini-cli-extensions/firestore-native","last_synced_at":"2026-01-30T21:11:49.827Z","repository":{"id":316399877,"uuid":"1055658281","full_name":"gemini-cli-extensions/firestore-native","owner":"gemini-cli-extensions","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-26T04:32:48.000Z","size":157,"stargazers_count":19,"open_issues_count":4,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-26T19:31:03.857Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gemini-cli-extensions.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-12T15:42:37.000Z","updated_at":"2026-01-26T04:32:36.000Z","dependencies_parsed_at":"2026-01-26T07:03:28.035Z","dependency_job_id":null,"html_url":"https://github.com/gemini-cli-extensions/firestore-native","commit_stats":null,"previous_names":["gemini-cli-extensions/firestore-native"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/gemini-cli-extensions/firestore-native","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemini-cli-extensions%2Ffirestore-native","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemini-cli-extensions%2Ffirestore-native/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemini-cli-extensions%2Ffirestore-native/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemini-cli-extensions%2Ffirestore-native/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gemini-cli-extensions","download_url":"https://codeload.github.com/gemini-cli-extensions/firestore-native/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemini-cli-extensions%2Ffirestore-native/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28919470,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T20:25:28.696Z","status":"ssl_error","status_checked_at":"2026-01-30T20:25:13.426Z","response_time":66,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-11T21:26:06.612Z","updated_at":"2026-01-30T21:11:49.812Z","avatar_url":"https://github.com/gemini-cli-extensions.png","language":null,"funding_links":[],"categories":["Development"],"sub_categories":[],"readme":"# Gemini CLI Extension - Firestore Native\n\n\u003e [!NOTE]\n\u003e This extension is currently in beta (pre-v1.0), and may see breaking changes until the first stable release (v1.0).\n\nThis Gemini CLI extension provides a set of tools to interact with [Firestore](https://cloud.google.com/firestore/docs) databases. It allows you to manage your databases, documents, and collections directly from the [Gemini CLI](https://google-gemini.github.io/gemini-cli/), using natural language prompts.\n\nLearn more about [Gemini CLI Extensions](https://github.com/google-gemini/gemini-cli/blob/main/docs/extensions/index.md).\n\u003e [!IMPORTANT]\n\u003e **We Want Your Feedback!**\n\u003e Please share your thoughts with us by filling out our feedback [form][form]. \n\u003e Your input is invaluable and helps us improve the project for everyone.\n\n[form]: https://docs.google.com/forms/d/e/1FAIpQLSfEGmLR46iipyNTgwTmIDJqzkAwDPXxbocpXpUbHXydiN1RTw/viewform?usp=pp_url\u0026entry.157487=firestore-native\n\n## Why Use the Firestore Native Extension?\n\n* **Natural Language Management:** Stop wrestling with complex commands. Explore schemas and query data by describing what you want in plain English.\n* **Seamless Workflow:** As a Google-developed extension, it integrates seamlessly into the Gemini CLI environment. No need to constantly switch contexts for common database tasks.\n* **Code Generation:** Accelerate development by asking Gemini to generate data classes and other code snippets based on your table schemas.\n\n## 📺 Video Walkthrough\nFollow this step-by-step video walkthrough to setup and use the Firestore Native Extension.\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://youtu.be/mQGIANnQnCI\"\u003e\u003cimg src=\"https://github.com/user-attachments/assets/feb798ad-8963-47c0-abf2-f34b4b847bca\" alt=\"Video Tutorial\" width=\"50%\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Prerequisites\n\nBefore you begin, ensure you have the following:\n\n* [Gemini CLI](https://github.com/google-gemini/gemini-cli) installed with version **+v0.6.0**.\n* Setup Gemini CLI [Authentication](https://github.com/google-gemini/gemini-cli/tree/main?tab=readme-ov-file#-authentication-options).\n* A Google Cloud project with the **Firestore API** enabled.\n* Ensure [Application Default Credentials](https://cloud.google.com/docs/authentication/gcloud) are available in your environment.\n* IAM Permissions\n    * Cloud Datastore User (`roles/datastore.user`)\n    * Firebase Rules Viewer (`roles/firebaserules.viewer`)\n\n## Getting Started\n\n### Installation\n\nTo install the extension, use the `gemini extensions install` command:\n\n```bash\ngemini extensions install https://github.com/gemini-cli-extensions/firestore-native\n```\n\n### Configuration\n\nSet the following environment variables before starting the Gemini CLI. These variables can be loaded from a `.env` file.\n\n```bash\nexport FIRESTORE_PROJECT=\"\u003cyour-gcp-project-id\u003e\"\nexport FIRESTORE_DATABASE=\"(default)\" # Optional\n```\n\nEnsure [Application Default Credentials](https://cloud.google.com/docs/authentication/gcloud) are available in your environment.\n\n### Start Gemini CLI\n\nTo start the Gemini CLI, use the following command:\n\n```bash\ngemini\n```\n\n\u003e [!WARNING]\n\u003e **Changing Database Connections**\n\u003e Currently, the database connection must be configured before starting the Gemini CLI and can not be changed during a session.\n\u003e To save and resume conversation history use command: `/chat save \u003ctag\u003e` and `/chat resume \u003ctag\u003e`.\n\n## Usage Examples\n\nInteract with Firestore using natural language right from your IDE:\n\n* **Document and Data Retrieval**:\n\n  * \"Show me the Firestore data for the test users qa_user_123 and qa_user_456 from the users-staging collection.\"\n  * \"Find all users in the users-staging collection whose wishlist contains product-glasses.\"\n\n* **Document Updates and Cleanup**:\n  * \"For all 20 test users you just found, please remove product-glasses(inactive) from their wishlist.\"\n  * \"Update the document with ID order-987 in the orders collection to set the status to 'Shipped'.\"\n\n* **Security Rules Management**:\n  * \"new_rules.txt is a new Firestore Security Rule I'm working on for staging. Can you validate it for me?\"\n  * \"Show me the active Firestore security rules for this project.\"\n\n## Supported Tools\n\nThis extension provides a comprehensive set of tools:\n\n* `add_documents`: Use this tool to add documents to a Firestore collection path.\n* `get_documents`: Use this tool to get multiple documents from Firestore by their paths.\n* `list_collections`: Use this tool to list Firestore collections for a given parent path.\n* `delete_documents`: Use this tool to delete multiple documents from Firestore.\n* `query_collection`: Use this tool to query documents from a collection with filtering, ordering, and limit options.\n* `get_rules`: Use this tool to retrieve the active Firestore security rules for the current project.\n* `update_document`: Use this tool to update an existing document in Firestore by its path.\n* `validate_rules`: Use this tool to validate Firestore security rules syntax and errors.\n\n## Additional Extensions\n\nFind additional extensions to support your entire software development lifecycle at [github.com/gemini-cli-extensions](https://github.com/gemini-cli-extensions).\n\n## Troubleshooting\n\nUse `gemini --debug` to enable debugging.\n\nCommon issues:\n\n* \"failed to find default credentials: google: could not find default credentials.\": Ensure [Application Default Credentials](https://cloud.google.com/docs/authentication/gcloud) are available in your environment. See [Set up Application Default Credentials](https://cloud.google.com/docs/authentication/external/set-up-adc) for more information.\n* \"✖ Error during discovery for server: MCP error -32000: Connection closed\": The database connection has not been established. Ensure your configuration is set via environment variables.\n* \"✖ MCP ERROR: Error: spawn /Users/USER/.gemini/extensions/firestore-native/toolbox ENOENT\": The Toolbox binary did not download correctly. Ensure you are using Gemini CLI v0.6.0+.\n* \"cannot execute binary file\": The Toolbox binary did not download correctly. Ensure the correct binary for your OS/Architecture has been downloaded. See [Installing the server](https://googleapis.github.io/genai-toolbox/getting-started/introduction/#installing-the-server) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgemini-cli-extensions%2Ffirestore-native","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgemini-cli-extensions%2Ffirestore-native","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgemini-cli-extensions%2Ffirestore-native/lists"}