{"id":23867201,"url":"https://github.com/panda4817/buddy-cli","last_synced_at":"2025-10-12T09:34:57.040Z","repository":{"id":187196436,"uuid":"676466899","full_name":"Panda4817/buddy-cli","owner":"Panda4817","description":"Spring Shell CLI","archived":false,"fork":false,"pushed_at":"2024-02-26T10:02:57.000Z","size":37,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-22T15:47:40.020Z","etag":null,"topics":["cli","dadjokes-api","generative-ai","graalvm","openai-api","spring-boot-3","spring-shell","stackoverflow-api","vertex-ai","xkcd-api"],"latest_commit_sha":null,"homepage":"","language":"Java","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/Panda4817.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":"2023-08-09T09:07:33.000Z","updated_at":"2024-02-19T18:32:21.000Z","dependencies_parsed_at":"2025-02-22T15:47:34.760Z","dependency_job_id":"7e3c9f57-859a-4f5b-b426-16a2a3cc8ad8","html_url":"https://github.com/Panda4817/buddy-cli","commit_stats":null,"previous_names":["panda4817/buddy-cli"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Panda4817/buddy-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Panda4817%2Fbuddy-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Panda4817%2Fbuddy-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Panda4817%2Fbuddy-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Panda4817%2Fbuddy-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Panda4817","download_url":"https://codeload.github.com/Panda4817/buddy-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Panda4817%2Fbuddy-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010940,"owners_count":26084837,"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","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"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":["cli","dadjokes-api","generative-ai","graalvm","openai-api","spring-boot-3","spring-shell","stackoverflow-api","vertex-ai","xkcd-api"],"created_at":"2025-01-03T10:16:52.767Z","updated_at":"2025-10-12T09:34:57.023Z","avatar_url":"https://github.com/Panda4817.png","language":"Java","readme":"# Buddy CLI\n\nHelpful terminal buddy with useful and fun commands, created using Spring Shell.\n\n## Tech Stack\n- Java 17\n- Spring Boot 3\n- Spring Shell\n- Maven\n- GraalVM\n\n## Pre-requisites\n\nThe CLI uses ChatGPT and Vertex AI. \n\nYou will need a ChatGPT API key and a Google Cloud project with Vertex AI enabled.\n\nYou will need to set these variables in the terminal:\n```\n$ export VERTEX_AI_PROJECT_ID=\u003cyour Google Cloud project ID\u003e\n$ export VERTEX_AI_LOCATION=\u003cyour Google Cloud Vertex AI location\u003e\n$ export CHATGPT_KEY=\u003cyour ChatGPT API key\u003e\n```\n\nYou will need to log in to your Google Cloud account using the `gcloud` CLI:\n```\n$ gcloud auth application-default login\n$ gcloud config set project \u003cyour Google Cloud project ID\u003e  \u0026\u0026 gcloud auth login \u003cyour account email\u003e\n```\n\n## Maven\n\nTo build jar and run tests:\n\n```\n$ mvn clean install\n```\n\nTo run with spring-boot:\n\n```\n$ mvn spring-boot:run\n```\n\nTo run with jar:\n\n```\n$ java -jar target/buddy-0.0.1.jar\n```\n\n\n## GraalVM Native Support\n\nThis project has been configured to let you generate either a lightweight container or a native executable.\nIt is also possible to run your tests in a native image.\n\n### Lightweight Container with Cloud Native Buildpacks\nIf you're already familiar with Spring Boot container images support, this is the easiest way to get started.\nDocker should be installed and configured on your machine prior to creating the image.\n\nTo create the image, run the following goal:\n\n```\n$ mvn spring-boot:build-image -Pnative\n```\n\nThen, you can run the app like any other container:\n\n```\n$ docker run --rm -p 8080:8080 buddy:0.0.1\n```\n\n### Executable with Native Build Tools\nUse this option if you want to explore more options such as running your tests in a native image.\nThe GraalVM `native-image` compiler should be installed and configured on your machine.\n\nNOTE: GraalVM 22.3+ is required.\n\nTo create the executable, run the following goal:\n\n```\n$ mvn native:compile -Pnative\n```\n\nThen, you can run the app as follows:\n```\n$ target/buddy\n```\n\nYou can also run your existing tests suite in a native image.\nThis is an efficient way to validate the compatibility of your application.\n\n***NOTE: Mockito is not supported yet***\n\nTo run your existing tests in a native image, run the following goal:\n\n```\n$ mvn test -PnativeTest\n```\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpanda4817%2Fbuddy-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpanda4817%2Fbuddy-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpanda4817%2Fbuddy-cli/lists"}