{"id":26660624,"url":"https://github.com/codevideo/codevideo-cli","last_synced_at":"2026-02-13T10:55:50.755Z","repository":{"id":283717986,"uuid":"952473288","full_name":"codevideo/codevideo-cli","owner":"codevideo","description":"The CLI tool for generating CodeVideos.","archived":false,"fork":false,"pushed_at":"2025-03-21T18:19:26.000Z","size":9063,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-21T19:28:47.570Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codevideo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-03-21T10:36:19.000Z","updated_at":"2025-03-21T18:18:42.000Z","dependencies_parsed_at":"2025-03-21T19:39:02.158Z","dependency_job_id":null,"html_url":"https://github.com/codevideo/codevideo-cli","commit_stats":null,"previous_names":["codevideo/codevideo-cli"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codevideo%2Fcodevideo-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codevideo%2Fcodevideo-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codevideo%2Fcodevideo-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codevideo%2Fcodevideo-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codevideo","download_url":"https://codeload.github.com/codevideo/codevideo-cli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245458712,"owners_count":20618697,"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":[],"created_at":"2025-03-25T12:18:49.056Z","updated_at":"2026-02-13T10:55:50.750Z","avatar_url":"https://github.com/codevideo.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# codevideo\n\nThe CLI tool for generating CodeVideos.\n\n## Installation\n\n```shell\ngit clone https://github.com/codevideo/codevideo\ncd codevideo\ncd puppeteer-runner\nnpm install\nnpx @puppeteer/browsers install chrome@latest\n```\n\nMake a note of what was installed in `puppeteer-runner/chrome` - you'll need to update the path in `puppeteer-runner/recordVideoV3.js` on line 73.\n\nThen build the Go binary:\n\n```shell\ncd ../..\ngo build -o codevideo\n```\n\nVery importantly, create a `.env` file with your Elevenlabs API key:\n\n```env\n# Copy from .env.example and fill in your values\nELEVENLABS_API_KEY=your-elevenlabs-api-key\n# ... other configuration options\n```\n\nYou should be ready to start using the CodeVideo CLI!\n\nIf you don't have an Elevenlabs account - we're working on a solution with htgo-tts and other providers.\n\n## Usage\n\nWith actions:\n\n```shell\n./codevideo -p \"$(cat data/actions.json)\"\n```\n\nNote: if you are using `zsh` and get the error `zsh: event not found: \\`, try deactivating history expansion with `set +o histexpand` and try the command again.\n\nIf all works well, you should see the following final output:\n\n```shell\nDetected project type: Actions\n/\u003e CodeVideo generation in progress...\n[==========================] 100% \n✅ CodeVideo successfully generated and saved to CodeVideo-2025-03-21-18-58-47.mp4\n```\n\nAs an alternative, paste your actions, lesson, or course JSON into `data/actions.json`, `data/lesson.json`, or `data/course.json` respectively - all types are accepted.\n\nWith actions:\n\n```shell\n./codevideo -p \"$(cat data/actions.json)\"\n```\n\nWith a lesson:\n\n```shell\n./codevideo -p \"$(cat data/lesson.json)\"\n```\n\nWith a course:\n\n```shell\n./codevideo -p \"$(cat data/course.json)\"\n```\n\n## Complex CLI Example - Actions, With Given Output Path, and Open when Done\n\n```shell\n./codevideo -p \"$(cat data/actions.json)\" -o codevideo-intro.mp4 --open\n```\n\n## Video Configuration Options\n\nYou can specify the orientation and resolution of the video with the `-r` or `--resolution` and `-o` or `--orientation` flags, respectively. The default resolution is `1080p` and the default orientation is `landscape`.\n\n## IDE Configuration Options\n\nAll React IDE props from the `CodeVideoIDE` can be passed in via the `-c` or `--config` to a config.json file. (See `data/config.json` for an example)\n\n```shell\n./codevideo -p \"$(cat data/actions.json)\" -c data/config.json\n```\n\n## Server usage:\n\nSimply pass the `-m serve` parameter to the command to start the server:\n\n```shell\n./codevideo -m serve\n```\n\nTo run in the background use `nohup` or similar:\n\n```shell\nnohup ./codevideo -m serve \u0026\n```\n\nThis will watch for manifest files in /tmp/v3/new and process them as they arrive. The server will output the video to the `output` folder.\n\n## Docker \n\nBuild the container\n\n```shell\ndocker build -t codevideo .\n```\n\nRun in server mode (default)\n\n```shell\ndocker run -p 8080:8080 -v $(pwd)/.env:/.env -v $(pwd)/output:/app/output codevideo\n```\n\n# Run with specific actions\n\n```shell\ndocker run -v $(pwd)/.env:/.env -v $(pwd)/output:/app/output codevideo -p \"[{\\\"name\\\":\\\"author-speak-before\\\",\\\"value\\\":\\\"Let's learn how to use the print function in Python!\\\"}]\"\n```\n\n## For Developers\n\nYou can update the Gatsby static site by replacing the `public` folder within `cli/staticserver`. We recommend you use the `example` site within the `example` folder of the [`@fullstackcraftllc/codevideo-ide-react`](https://github.com/codevideo/codevideo-ide-react) repository.\n\nEverything in the `public` folder is treated as an embedded Go resource and served by the server.\n\n## CodeVideo Studio\n\nBuild your actions JSON in the [CodeVideo Studio](https://studio.codevideo.io)!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodevideo%2Fcodevideo-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodevideo%2Fcodevideo-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodevideo%2Fcodevideo-cli/lists"}