{"id":13595014,"url":"https://github.com/TypeCellOS/TypeCell","last_synced_at":"2025-04-09T10:32:38.476Z","repository":{"id":66061181,"uuid":"358009475","full_name":"TypeCellOS/TypeCell","owner":"TypeCellOS","description":null,"archived":false,"fork":false,"pushed_at":"2024-05-22T08:39:26.000Z","size":43995,"stargazers_count":488,"open_issues_count":16,"forks_count":31,"subscribers_count":7,"default_branch":"staging","last_synced_at":"2025-04-04T22:02:30.588Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.typecell.org","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TypeCellOS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","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":"2021-04-14T18:47:35.000Z","updated_at":"2025-03-31T17:20:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"54c83bf1-96c8-467d-b4ac-d129a5a918e9","html_url":"https://github.com/TypeCellOS/TypeCell","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TypeCellOS%2FTypeCell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TypeCellOS%2FTypeCell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TypeCellOS%2FTypeCell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TypeCellOS%2FTypeCell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TypeCellOS","download_url":"https://codeload.github.com/TypeCellOS/TypeCell/tar.gz/refs/heads/staging","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248020593,"owners_count":21034459,"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":"2024-08-01T16:01:42.424Z","updated_at":"2025-04-09T10:32:33.467Z","avatar_url":"https://github.com/TypeCellOS.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.typecell.org\"\u003e\n    \u003cimg alt=\"TypeCell\" src=\"./packages/editor/src/assets/logo_with_text.svg?raw=true\" width=\"300\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\nWelcome to TypeCell, where Notion meets Jupyter Notebooks - all open source. TypeCell is a fresh take on what documents and software can look like. Together, we want to make it a lot easier to build software, and ultimately to understand, build and share knowledge.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://discord.gg/aDQxXezfNj\"\u003e\u003cimg alt=\"Discord\" src=\"https://img.shields.io/badge/Chat on discord%20-%237289DA.svg?\u0026style=for-the-badge\u0026logo=discord\u0026logoColor=white\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.typecell.org\"\u003e\n    \u003cimg alt=\"TypeCell demo\" src=\"./packages/editor/src/app/main/components/startscreen/assets/intro.gif?raw=true\" width=\"600\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n# Features\n\n- Open Source Notion-style workspaces and documents (powered by [BlockNote](https://www.blocknotejs.org))\n- [Local-First](https://www.inkandswitch.com/local-first/) architecture built using [Yjs](https://github.com/yjs/yjs), with support for live multi-user collaboration\n- Code Blocks for a live, as-you-type coding experience enabling [End-User Programming](https://www.inkandswitch.com/end-user-programming/)\n- Same, powerful editing experience as VS Code\n- Full TypeScript and React support! (no weird custom language constructs)\n- The Reactive Runtime makes sure code blocks automatically re-evaluate when their dependencies update ([learn more](https://www.typecell.org/docs/manual/3.%20Reactive%20variables.md))\n- Import NPM packages + types just by writing a regular `import` statement\n\n» [Create your free workspace to get started!](https://www.typecell.org/)\n\n# Documentation 📖\n\nRead the docs and complete the interactive tutorial to get familiar with TypeCell:\n\n» [Check out the docs and Live Coding Tutorial](https://www.typecell.org/docs/)\n\n# Feedback 🙋‍♂️🙋‍♀️\n\nWe'd love to hear your thoughts and see your experiments, so [come and say hi on Discord](https://discord.gg/TcJ9TRC3SV).\n\n# Contributing 🙌\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for more info and guidance on how to run the project (TLDR: just use `npm start`).\n\nTypeCell is organised as a monorepo containing several packages. Directory structure:\n\n```\ntypecell\n├── packages\n│   ├── editor        - The main React application\n│   ├── engine        - The live-code execution engine and Reactive Runtime\n│   ├── frame         - sandboxed iframe where end-user code evaluates\n│   ├── packager      - Tool to bundle TypeCell notebook apps (WIP)\n│   ├── parsers       - Helpers to convert to / from TypeCell documents\n│   ├── server        - HocusPocus + Supabase server for storing documents\n│   ├── shared        - TypeCell specific models shared across the codebase\n│   ├── shared-test   - Helper functions shared across the codebase for unit tests\n│   ├── util          - Generic helper functions\n│   └── y-penpal      - yjs transport for crossdomain / crossframe communication\n├── patches           - patch-package patches\n└── test-util         - Data for unit tests\n```\n\nThe codebase is automatically tested using Vitest and Playwright.\n\n# Credits ❤️\n\nWe build on top of some really great technologies:\n\n- [Monaco](https://github.com/microsoft/monaco-editor): the open source editor that also powers VS Code\n- [Yjs](https://github.com/yjs/yjs): CRDT for multi-user collaboration\n- [MobX](https://mobx.js.org/): for our Reactive Runtime\n- [ESM.sh](https://www.esm.sh/): for dynamic ESM imports from NPM\n- [Typescript](https://www.typescriptlang.org/): for our compiler and language toolkit\n\nTypeCell is proudly sponsored by the renowned [NLNet foundation](https://nlnet.nl/foundation/) who are on a mission to support an open internet, and protect the privacy and security of internet users. Check them out!\n\n\u003ca href=\"https://nlnet.nl\"\u003e\u003cimg src=\"https://nlnet.nl/image/logos/NGIAssure_tag.svg\" alt=\"NLNet\" width=\"100\"\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTypeCellOS%2FTypeCell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTypeCellOS%2FTypeCell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTypeCellOS%2FTypeCell/lists"}