{"id":22050116,"url":"https://github.com/oconva/intento-starter-template","last_synced_at":"2026-04-15T05:31:41.602Z","repository":{"id":249916403,"uuid":"832944557","full_name":"oconva/intento-starter-template","owner":"oconva","description":"Pre-configured project to get started with Intento quickly.","archived":false,"fork":false,"pushed_at":"2024-12-17T05:20:06.000Z","size":292,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-26T18:45:35.450Z","etag":null,"topics":["ai","chat","conversational-ai","intent-classification","intent-recognition","intento","qvikchat"],"latest_commit_sha":null,"homepage":"https://intento.pkural.ca","language":"TypeScript","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/oconva.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null}},"created_at":"2024-07-24T03:49:40.000Z","updated_at":"2024-09-19T22:15:29.000Z","dependencies_parsed_at":"2025-06-26T18:47:26.979Z","dependency_job_id":null,"html_url":"https://github.com/oconva/intento-starter-template","commit_stats":null,"previous_names":["oconva/intento-starter-template"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/oconva/intento-starter-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oconva%2Fintento-starter-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oconva%2Fintento-starter-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oconva%2Fintento-starter-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oconva%2Fintento-starter-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oconva","download_url":"https://codeload.github.com/oconva/intento-starter-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oconva%2Fintento-starter-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31828530,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T18:05:02.291Z","status":"online","status_checked_at":"2026-04-15T02:00:06.175Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["ai","chat","conversational-ai","intent-classification","intent-recognition","intento","qvikchat"],"created_at":"2024-11-30T14:17:56.028Z","updated_at":"2026-04-15T05:31:41.575Z","avatar_url":"https://github.com/oconva.png","language":"TypeScript","readme":"## Intento Starter Template\n\nTo get up and running quickly with the [Intento](https://intento.pkural.ca) framework, you can use the Intento starter template. The starter template is a pre-configured project with all the necessary configurations and setup to get you started with Intento write quality and reliable code. It comes pre-configured with the following features:\n\n- **Intento**: Intento installed and configured to start serving intent recognition service endpoints.\n- **TypeScript**: TypeScript to allow you to write type-safe code efficiently.\n- **ESLint**: ESLint to enforce code quality and consistency.\n- **Prettier**: Prettier to format your code automatically and ensure consistent code style.\n- **Jest**: Jest to run your tests and ensure your code works as expected.\n- **GitHub Actions**: GitHub Actions to run your tests and lint your code automatically on every push.\n- **SWC**: For faster and more efficient TypeScript compilation.\n- **PNPM**: PNPM to manage your dependencies efficiently.\n\nTo learn more about Intento, check the [Intento](https://intento.pkural.ca) documentation.\n\nTo get started, follow the instructions below.\n\n### Setup\n\nSimply, clone the [Intento starter template](https://github.com/oconva/intento-starter-template) to get started.\n\n```bash\ngit clone https://github.com/oconva/intento-starter-template.git\n```\n\n### Setup Environment Variables\n\nBy default, Intento uses Google's Gemini API for text generation and embedding models. If you don't yet have a Google Gen AI API key, you can get one from [Gemini API - Get an API Key](https://ai.google.dev/gemini-api/docs/api-key).\n\nYou can also use OpenAI API instead of Gemini API. You'll have to provide your OpenAI API key as the `OPENAI_API_KEY` environment variable and configure your IRS endpoints to use the LLM model you want it to use.\n\nIntento was developed using QvikChat which is built on top of Firebase Genkit, which allows you to easily add any Genkit plugins to your Intento project. You can easily use any LLM model available through any Genkit plugin by simply configuring that plugin when setting up Genkit.\n\nTo learn more about configuring IRS endpoints to use a specific LLM model, check [here](https://intento.pkural.ca/irs-endpoints).\n\nIf using the default Gemini API models or OpenAI models, there should be a `.env` file at the root level of your project directory, and it should have a value for at least one of the following, depending on which API you want to use:\n\n```bash\nGOOGLE_GENAI_API_KEY=\nOPENAI_API_KEY=\n```\n\nAlternatively, you can copy the `.env.tmp` file or rename it to `.env` and fill in the values.\n\n### Install Dependencies\n\nYou can run the following commands to install the dependencies:\n\n```bash\nnpm install # or pnpm install\n```\n\n### Testing Predefined Endpoint\n\nIntento starter template comes pre-defined with an IRS endpoint based on test data related to an inventory management app. This endpoint is defined in the `src/index.ts` file.\n\nYou can test the pre-defined endpoint to see how the IRS endpoints work and to confirm Intento setup. You can do this either using a graphical interface or by running the server locally and testing the endpoints using the terminal.\n\n#### Test from Terminal\n\nYou can run the server locally to test the endpoints from their REST endpoints.\n\nBefore you can do this, you will need to first compile the TypeScript code.\n\nCompile the TypeScript code. You can modify `.swcrc` to change the SWC configurations and `package.json` to adjust the build command.\n\n```bash copy\nnpm run build\n```\n\nOr\n\n```bash copy\npnpm build\n```\n\nThen, start the server:\n\n```bash copy\nnpm run start\n```\n\nOr\n\n```bash copy\npnpm start\n```\n\nDepending on which endpoint you wish to test, and where and on which port your server starts, you should be able to access the IRS endpoints through the terminal using the `curl` command. The below given example sends the query to the `irs` endpoint:\n\n```bash copy\ncurl -X POST \"http://127.0.0.1:3400/irs\" -H \"Content-Type: application/json\" -H \"Authorization: a5zwhp0YlcRVkpnOXchIkL1lrmf0MPg24POM0kO6HcM=\" -d '{\"data\": { \"query\": \"add 4 litres milk?\", \"uid\": \"DI2UZuaTWjQPzVCRjzPW\" } }'\n```\n\n#### Test Using Genkit Developer UI\n\nYou can run the Genkit developer UI to test the endpoints. Testing the endpoints using a graphical interface is probably the easiest way to get started. You can know more about the Genkit Developer UI [here](https://firebase.google.com/docs/genkit/devtools#genkit_developer_ui).\n\nStart the Genkit developer UI:\n\n```bash copy\nnpx genkit start\n```\n\nOR, you can install the Genkit CLI globally:\n\n```bash copy\nnpm i -g genkit\n```\n\nThen start the Genkit developer UI:\n\n```bash copy\ngenkit start\n```\n\nYou should be able to see your defined IRS endpoints under the **Flows** section in the left sidebar. Simply click on the endpoint you want to test and enter the query you want to test with. Clicking the **Run** button will send the query to the endpoint and the response generation process will start.\n\nCheck the [testing endpoints](https://intento.pkural.ca/testing-endpoints) section to learn more about how you can test your IRS endpoints.\n\nTo learn more about the Intento starter template, check the [Intento Starter Template](https://github.com/oconva/intento-starter-template) repo.\n\n## Contributions\n\nContributions are welcome! Please refer to the [contribution guidelines](CONTRIBUTING.md) for more information.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Issues\n\nIf you encounter any issues or bugs while using the Intento Starter Template, please report them by following these steps:\n\n1. Check if the issue has already been reported by searching our issue tracker.\n2. If the issue hasn't been reported, create a new issue and provide a detailed description of the problem.\n3. Include steps to reproduce the issue and any relevant error messages or screenshots.\n\n[Open Issue](https://github.com/oconva/intento-starter-template/issues)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foconva%2Fintento-starter-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foconva%2Fintento-starter-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foconva%2Fintento-starter-template/lists"}