{"id":16743838,"url":"https://github.com/mookjp/yakiire","last_synced_at":"2026-05-18T09:06:39.832Z","repository":{"id":147819371,"uuid":"194377504","full_name":"mookjp/yakiire","owner":"mookjp","description":"yakiire is a small CLI for Firestore","archived":false,"fork":false,"pushed_at":"2019-07-07T18:22:19.000Z","size":60,"stargazers_count":4,"open_issues_count":5,"forks_count":0,"subscribers_count":0,"default_branch":"develop","last_synced_at":"2025-12-19T20:44:03.461Z","etag":null,"topics":["cli","firebase","firestore","gcp","go","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mookjp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-29T07:27:53.000Z","updated_at":"2023-03-10T11:02:42.000Z","dependencies_parsed_at":"2023-05-27T14:45:27.505Z","dependency_job_id":null,"html_url":"https://github.com/mookjp/yakiire","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mookjp/yakiire","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mookjp%2Fyakiire","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mookjp%2Fyakiire/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mookjp%2Fyakiire/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mookjp%2Fyakiire/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mookjp","download_url":"https://codeload.github.com/mookjp/yakiire/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mookjp%2Fyakiire/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33172173,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T05:43:36.989Z","status":"ssl_error","status_checked_at":"2026-05-18T05:43:19.133Z","response_time":71,"last_error":"SSL_read: 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":["cli","firebase","firestore","gcp","go","golang"],"created_at":"2024-10-13T01:28:12.832Z","updated_at":"2026-05-18T09:06:39.812Z","avatar_url":"https://github.com/mookjp.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"🔥🔥🔥 yakiire 🔥🔥🔥\n================================================================================\n\n[![CircleCI](https://circleci.com/gh/mookjp/yakiire.svg?style=svg\u0026circle-token=07d36e051e436463f6dac42c402f664e4be4db3a)](https://circleci.com/gh/mookjp/yakiire)\n\n`yakiire` (yaki-ire; 焼入れ) is a CLI to manage and operate data on GCP [Firestore](https://firebase.google.com/docs/firestore).\n\n**THIS IS THE ALPHA VERSION !!**\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n## Contents\n\n- [Installation](#installation)\n- [Configuration](#configuration)\n- [Usage](#usage)\n  - [Get](#get)\n  - [Query](#query)\n- [TODOs](#todos)\n  - [Set](#set)\n- [For development](#for-development)\n  - [Run tests](#run-tests)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n## Installation\n\n```bash\ngo get github.com/mookjp/yakiire\n```\n\n## Configuration\n\n`yakiire` needs environment variables:\n\n| ENV | value | required |\n|-----|-------|----------|\n| YAKIIRE_FIRESTORE_PROJECT_ID | Firestore project ID | Yes |\n| YAKIIRE_GOOGLE_APPLICATION_CREDENTIALS | GCP's credential file path | No |\n\nIf `YAKIIRE_GOOGLE_APPLICATION_CREDENTIALS` was not set, `yakiire` uses `GOOGLE_APPLICATION_CREDENTIALS` to access to Firestore.\n\n\n## Usage\n\n### Get\n\n```bash\nyakiire get -c \u003ccollection name\u003e \u003cdocument ID\u003e\n```\n\ne.g.\n\n```bash\n$ yakiire get -c products 002VQIDE4D\n\n# it shows a doc in JSON format\n\n{\"Attributes\":{\"color\":\"red\",\"size\":\"100\"},\"CategoryIDs\":[\"1\",\"2\",\"3\"],\"ID\":\"002VQIDE4D\",\"Name\":\"Test Product\"}\n```\n\nIt is handy to use [jq](https://firebase.google.com/docs/firestore) to check the result from the command.\n\n```bash\n$ yakiire get -c products 002VQIDE4D | tail -n 1 | jq .\n\n{\n  \"Attributes\": {\n    \"color\": \"red\",\n    \"size\": \"100\"\n  },\n  \"CategoryIDs\": [\n    \"1\",\n    \"2\",\n    \"3\"\n  ],\n  \"ID\": \"002VQIDE4D\",\n  \"Name\": \"Test Product\"\n}\n```\n\n### Query\n\n```bash\nyakiire query --collection products \\\n    --where '{\"Path\": \"Attributes.size\", \"Op\": \"\u003e\", \"Value\": 0}' \\\n    --where '{\"Path\": \"Attributes.color\", \"Op\": \"==\", \"Value\": \"red\"}' \\\n    --limit 1\n```\n\ne.g.\n\n```bash\nyakiire query --collection products \\\n    --where '{\"Path\": \"Attributes.size\", \"Op\": \"\u003e\", \"Value\": 0}'\n\n# it shows docs in line-delimited JSON format\n\n{\"Attributes\":{\"color\":\"red\",\"size\":100},\"CategoryIDs\":[\"1\",\"2\",\"3\"],\"ID\":\"1\",\"Name\":\"Test Product\"}\n{\"Attributes\":{\"color\":\"red\",\"size\":200},\"CategoryIDs\":[\"1\",\"2\",\"3\"],\"ID\":\"2\",\"Name\":\"Another Test Product\"}\n\nyakiire query --collection products \\\n    --where '{\"Path\": \"Attributes.size\", \"Op\": \"\u003e\", \"Value\": 0}' \\\n    --limit 1\n\n# limit to 1 result\n# default number of limit is 20\n\n{\"Attributes\":{\"color\":\"red\",\"size\":100},\"CategoryIDs\":[\"1\",\"2\",\"3\"],\"ID\":\"1\",\"Name\":\"Test Product\"}\n\nyakiire query --collection products \\\n    --where '{\"Path\": \"Attributes.size\", \"Op\": \"\u003e\", \"Value\": 0}' \\\n    --where '{\"Path\": \"CategoryIDs\", \"Op\": \"array-contains\", \"Value\": \"1\"}' \\\n    --limit 1\n\n# multiple where conditions\n\n{\"Attributes\":{\"color\":\"red\",\"size\":100},\"CategoryIDs\":[\"1\",\"2\",\"3\"],\"ID\":\"1\",\"Name\":\"Test Product\"}\n```\n\n### Add\n\n```bash\nyakiire add -c \u003ccollection name\u003e \u003cjson string\u003e\n```\n\ne.g.\n\n```bash\nyakiire add --collection products '{\"Attributes\":{\"color\":\"red\",\"size\":\"100\"},\"CategoryIDs\":[\"1\",\"2\",\"3\"],\"ID\":\"002VQIDE4D\",\"Name\":\"Test Product\"}'\n\n# it shows the doc in JSON format if added successfully\n\n{\"Attributes\":{\"color\":\"red\",\"size\":\"100\"},\"CategoryIDs\":[\"1\",\"2\",\"3\"],\"ID\":\"002VQIDE4D\",\"Name\":\"Test Product\"}\n```\n\n### Delete\n\n```bash\nyakiire delete -c \u003ccollection name\u003e \u003cdocument ID\u003e\n```\n\ne.g.\n\n```bash\nyakiire delete --collection products 002VQIDE4D\n\n# No output is returned if the document is deleted or does not exist (default firestore behavior)\n```\n\n## TODOs\n\n### Set\n\n```bash\nyakiire set -c \u003ccollection name\u003e \u003cquery\u003e\n```\n\n\n## For development\n\n### Run tests\n\n```bash\nFIRESTORE_EMULATOR_HOST=localhost:8080 make test\n```\n\nTest needs running Firestore emulator and it can be run with `docker-compose`.\nin `Makefile`, `test` will start firestore emulator container before it starts tests.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmookjp%2Fyakiire","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmookjp%2Fyakiire","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmookjp%2Fyakiire/lists"}