{"id":26660616,"url":"https://github.com/codevideo/.github","last_synced_at":"2026-02-05T15:33:22.848Z","repository":{"id":279247269,"uuid":"938176680","full_name":"codevideo/.github","owner":"codevideo","description":"CodeVideo's public README.","archived":false,"fork":false,"pushed_at":"2025-05-17T16:11:57.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-04T23:41:17.111Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"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/codevideo.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,"zenodo":null}},"created_at":"2025-02-24T14:42:43.000Z","updated_at":"2025-05-17T16:12:00.000Z","dependencies_parsed_at":"2025-02-24T16:21:00.649Z","dependency_job_id":"33ecacf5-cf02-4f4c-b944-101af521ea8a","html_url":"https://github.com/codevideo/.github","commit_stats":null,"previous_names":["codevideo/.github"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codevideo/.github","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codevideo%2F.github","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codevideo%2F.github/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codevideo%2F.github/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codevideo%2F.github/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codevideo","download_url":"https://codeload.github.com/codevideo/.github/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codevideo%2F.github/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29124802,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T14:05:12.718Z","status":"ssl_error","status_checked_at":"2026-02-05T14:03:53.078Z","response_time":65,"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":[],"created_at":"2025-03-25T12:18:48.241Z","updated_at":"2026-02-05T15:33:22.842Z","avatar_url":"https://github.com/codevideo.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# CodeVideo\n\n![CodeVideo Logo](https://codevideo.io/logo.png)\n\n## Educational Software Course and Content Creation, Reimagined\n\nCodeVideo is an event-sourced IDE state manager that enables software educators and content creators to create professional educational content at unprecedented speed.\n\nTo read about the theory behind the framework, check out our [white paper](https://github.com/princefishthrower/codevideo-white-paper)\n\nThe framework is broken down into small parts, each with their own single responsibility:\n\nCore Layer:\n\n`codevideo-types` [![GitHub stars](https://img.shields.io/github/stars/codevideo/codevideo-types)](https://github.com/codevideo/codevideo-types/stargazers)\n\nVirtual Layer (Sits on top of the core layer):\n\n`codevideo-virtual-ide` [![GitHub stars](https://img.shields.io/github/stars/codevideo/codevideo-virtual-ide)](https://github.com/codevideo/codevideo-virtual-ide/stargazers)\n\n`codevideo-virtual-file-explorer` [![GitHub stars](https://img.shields.io/github/stars/codevideo/codevideo-virtual-file-explorer)](https://github.com/codevideo/codevideo-virtual-file-explorer/stargazers)\n\n`codevideo-virtual-editor` [![GitHub stars](https://img.shields.io/github/stars/codevideo/codevideo-virtual-editor)](https://github.com/codevideo/codevideo-virtual-editor/stargazers)\n\n`codevideo-virtual-terminal` [![GitHub stars](https://img.shields.io/github/stars/codevideo/codevideo-virtual-terminal)](https://github.com/codevideo/codevideo-virtual-terminal/stargazers)\n\n`codevideo-virtual-mouse` [![GitHub stars](https://img.shields.io/github/stars/codevideo/codevideo-virtual-mouse)](https://github.com/codevideo/codevideo-virtual-mouse/stargazers)\n\nGUI Layer (Sits on top of the virtual layer):\n\n`codevideo-ide-react` [![GitHub stars](https://img.shields.io/github/stars/codevideo/codevideo-ide-react)](https://github.com/codevideo/codevideo-ide-react/stargazers)\n\nSaaS App Layer:\n\n`codevideo-frontend` [![GitHub stars](https://img.shields.io/github/stars/codevideo/codevideo-frontend)](https://github.com/codevideo/codevideo-frontend/stargazers)\n\n`codevideo-backend` [![GitHub stars](https://img.shields.io/github/stars/codevideo/codevideo-backend)](https://github.com/codevideo/codevideo-backend/stargazers)\n\n`codevideo-api` [![GitHub stars](https://img.shields.io/github/stars/codevideo/codevideo-api)](https://github.com/codevideo/codevideo-api/stargazers)\n\nGenerators:\n\n`codevideo-doc-gen` [![GitHub stars](https://img.shields.io/github/stars/codevideo/codevideo-virtual-ide)](https://github.com/codevideo/codevideo-doc-gen/stargazers)\n\n[![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\n## 🚀 What is CodeVideo?\n\nCodeVideo is a deterministic recording system that captures coding sessions as a series of discrete events. Rather than recording your screen as a video (with all the associated editing headaches), CodeVideo builds a timeline of interactions with your code editor, file system, and terminal.\n\n## 🔍 How It Works (Technically)\n\n1. **Action Definition**: Every action is defined using \n2. **Timeline Construction**: Events are organized into a deterministic timeline with edit capabilities.\n3. **Generators**: The actions can be rendered in various output formats:\n  - Video: each step is recorded as a video in parallel and stitched together\n  - Markdown: generated via `codevideo-doc-gen`\n  - HTML: generated using `marked`.\n  - PDF: Currently, just a PDF format of the HTML, generated in the browser\n\n## 🔌 IAction Interface\n\nThis simple two key-value JSON object forms the entire backbone of the CodeVideo framework:\n\n```json\n{\n  \"name\": \"editor-type\",\n  \"value\": \"console.log('hello, world!');\",\n}\n```\n\nThat's it! \n\nSee the `IAction` interface from the [CodeVideo types repository](https://github.com/codevideo/codevideo-types) for more information.\n\n## 📊 Performance Metrics\n\n- **Export Speeds**: \n  - 5-minute tutorial to video: ~30 seconds\n  - 5-minute tutorial to markdown: ~2 seconds\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🤝 Contributing\n\nWe welcome contributions from the community! Please check our [CONTRIBUTING.md](CONTRIBUTING.md) guide for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodevideo%2F.github","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodevideo%2F.github","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodevideo%2F.github/lists"}