{"id":19522293,"url":"https://github.com/anycable/uptriever","last_synced_at":"2025-04-16T01:51:47.909Z","repository":{"id":250010826,"uuid":"833226790","full_name":"anycable/uptriever","owner":"anycable","description":"A CLI to upload documentation chunks to Trieve","archived":false,"fork":false,"pushed_at":"2025-01-03T20:27:07.000Z","size":20,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-15T19:07:51.820Z","etag":null,"topics":["documentation","trieveai"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/anycable.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","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":"2024-07-24T15:50:02.000Z","updated_at":"2025-02-03T00:44:19.000Z","dependencies_parsed_at":"2024-07-24T18:24:56.789Z","dependency_job_id":"324662d0-bdd2-497e-abbc-da6cc2e70cdb","html_url":"https://github.com/anycable/uptriever","commit_stats":null,"previous_names":["anycable/uptriever"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anycable%2Fuptriever","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anycable%2Fuptriever/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anycable%2Fuptriever/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anycable%2Fuptriever/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anycable","download_url":"https://codeload.github.com/anycable/uptriever/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249183064,"owners_count":21226140,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["documentation","trieveai"],"created_at":"2024-11-11T00:38:08.851Z","updated_at":"2025-04-16T01:51:47.889Z","avatar_url":"https://github.com/anycable.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Gem Version](https://badge.fury.io/rb/uptriever.svg)](https://rubygems.org/gems/uptriever)\n[![Build](https://github.com/palkan/uptriever/workflows/Build/badge.svg)](https://github.com/palkan/uptriever/actions)\n\n# Uptriever\n\nUptriever is a CLI to upload documentation source file (HTML, Markdown) to [Trieve][] for search indexing.\n\n## Installation\n\nInstall Uptreiver as a Ruby gem (Ruby 3.1+ is required):\n\n```sh\ngem install uptriever\n```\n\n## Usage\n\nCurrently, Uptriever requires an index configuration file (`.trieve.yml`) to be present in the documentation root folder containing the list of files to index and their metadata. A minimal example of indexing everything looks as follows:\n\n```yml\nhostname: https://myproject.example/docs\npages:\n  - \"**/*.md\"\n```\n\nThe `hostname` field is used to generate the `link` property for chunks (see [Trieve API](https://docs.trieve.ai/api-reference/chunk/create-or-upsert-chunk-or-chunks)).\n\nThe `pages` field contains the list of pages to index. It supports glob patterns.\n\nWith config in place, you can run the `uptriever` executable to perform the indexing:\n\n```sh\n$ uptriever -d ./docs --api-key=\u003cTrieve API key\u003e --dataset=\u003cTrieve dataset\u003e\n\nGroups: |===========================|\nChunks: |===========================|\n```\n\n## Full-featured example\n\nWhy do we need a configuration file? To leverage Trieve features such as groups, tags, and weights. Here is a real-life example:\n\n```yml\n# Ignore patterns for globs in pages\nignore:\n - \"**/*/Readme.md\"\nhostname: https://docs.anycable.io\n# Prepend file paths with this prefix.\n# Useful when you store documentation in multiple sources.\nurl_prefix: anycable-go/\n\n# Make sure the following chunk groups are created\ngroups:\n  - name: PRO version\n    tracking_id: pro\n  - name: Server\n    tracking_id: server\n  - name: Client\n    tracking_id: client\n  - name: Go package\n    tracking_id: package\n\n# Default metadata for pages (can be overriden)\ndefaults:\n  groups: [\"server\"]\n  tags: [\"docs\"]\n\npages:\n  # You can use a dictionary to define source paths\n  # along with metadata\n  - source: \"./apollo.md\"\n    groups: [\"pro\", \"server\"]\n  - source: \"./binary_formats.md\"\n    groups: [\"pro\", \"server\", \"client\"]\n  - \"./broadcasting.md\"\n  - \"./broker.md\"\n  - \"./health_checking.md\"\n  - \"./instrumentation.md\"\n  - source: \"./library.md\"\n    groups: [\"package\"]\n  - \"./pubsub.md\"\n  - source: \"./js/**/*.md\"\n    groups: [\"client\"]\n```\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at [https://github.com/palkan/uptriever](https://github.com/palkan/uptriever).\n\n## Credits\n\nThis gem is generated via [`newgem` template](https://github.com/palkan/newgem) by [@palkan](https://github.com/palkan).\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).\n\n[Trieve]: https://trieve.ai\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanycable%2Fuptriever","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanycable%2Fuptriever","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanycable%2Fuptriever/lists"}