{"id":18829596,"url":"https://github.com/freecodecamp/freecodecampos","last_synced_at":"2026-03-17T08:24:08.488Z","repository":{"id":37035277,"uuid":"446722561","full_name":"freeCodeCamp/freeCodeCampOS","owner":"freeCodeCamp","description":"Test repo for external freeCodeCamp courses","archived":false,"fork":false,"pushed_at":"2024-04-30T01:24:18.000Z","size":6230,"stargazers_count":56,"open_issues_count":16,"forks_count":15,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-05-01T11:46:20.904Z","etag":null,"topics":["course","curriculum","javascript","nodejs"],"latest_commit_sha":null,"homepage":"https://opensource.freecodecamp.org/freeCodeCampOS/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/freeCodeCamp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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},"funding":{"github":"freecodecamp","patreon":"freecodecamp","custom":["www.freecodecamp.org/donate"]}},"created_at":"2022-01-11T07:39:20.000Z","updated_at":"2024-05-03T15:30:42.540Z","dependencies_parsed_at":"2023-10-25T20:32:00.903Z","dependency_job_id":"7d20512e-d836-444e-b1bf-4735977a5b5f","html_url":"https://github.com/freeCodeCamp/freeCodeCampOS","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freeCodeCamp%2FfreeCodeCampOS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freeCodeCamp%2FfreeCodeCampOS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freeCodeCamp%2FfreeCodeCampOS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freeCodeCamp%2FfreeCodeCampOS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/freeCodeCamp","download_url":"https://codeload.github.com/freeCodeCamp/freeCodeCampOS/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230494921,"owners_count":18235046,"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":["course","curriculum","javascript","nodejs"],"created_at":"2024-11-08T01:45:32.211Z","updated_at":"2026-03-17T08:24:08.476Z","avatar_url":"https://github.com/freeCodeCamp.png","language":"JavaScript","readme":"# freeCodeCampOS\n\nOpen source platform for creating and hosting interactive coding curricula.\n\nSee the [documentation](https://opensource.freecodecamp.org/freeCodeCampOS/) for full details.\n\n## Architecture\n\nfreeCodeCampOS v4 is a Rust workspace with an embedded React frontend:\n\n```\nconfig/     # Shared types and configuration\nparser/     # Curriculum markdown parser (Comrak/GFM)\nrunner/     # Multi-language test execution engine\nserver/     # Axum HTTP + WebSocket server\nclient/     # React 19 + TypeScript frontend (Vite)\ncli/        # create-freecodecamp-os-app CLI\nexample/    # Example curriculum project\ndocs/       # mdBook documentation\n```\n\n## Quick Start\n\n**Prerequisites:** Rust 1.93.1+, Bun 1.3.10+, Node.js 20+\n\n```bash\n# Build everything\nbun run build\n\n# Run the server (from a course directory containing freecodecamp.conf.json)\n./target/release/freecodecamp-server\n```\n\nFor development:\n\n```bash\n# Terminal 1: Rust backend\ncargo run --bin server\n\n# Terminal 2: React client (hot reload)\nbun run dev:client\n```\n\n## Creating a Course\n\nUse the CLI to scaffold a new course:\n\n```bash\ncargo run --bin create-freecodecamp-os-app -- create\n```\n\nThen run the server from the course directory:\n\n```bash\ncd my-course/\n../target/release/server\n```\n\nEnd users install freeCodeCampOS via npm (`@freecodecamp/freecodecamp-os`), which provides the pre-built binary.\n\n## Upgrading from v3\n\nSee [MIGRATION.md](./MIGRATION.md) for the full migration guide.\n\n## Contributing\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md) and the [Contributing docs](./docs/src/contributing.md).\n\n## License\n\nBSD-3-Clause — see [LICENSE](./LICENSE).\n","funding_links":["https://github.com/sponsors/freecodecamp","https://patreon.com/freecodecamp","www.freecodecamp.org/donate"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreecodecamp%2Ffreecodecampos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffreecodecamp%2Ffreecodecampos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreecodecamp%2Ffreecodecampos/lists"}