TypeCellOS / TypeCell

https://www.typecell.org
GNU Affero General Public License v3.0
435 stars 28 forks source link

TypeCell

Welcome 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.

Discord

TypeCell demo

Features

ยป Create your free workspace to get started!

Documentation ๐Ÿ“–

Read the docs and complete the interactive tutorial to get familiar with TypeCell:

ยป Check out the docs and Live Coding Tutorial

Feedback ๐Ÿ™‹โ€โ™‚๏ธ๐Ÿ™‹โ€โ™€๏ธ

We'd love to hear your thoughts and see your experiments, so come and say hi on Discord.

Contributing ๐Ÿ™Œ

See CONTRIBUTING.md for more info and guidance on how to run the project (TLDR: just use npm start).

TypeCell is organised as a monorepo containing several packages. Directory structure:

typecell
โ”œโ”€โ”€ packages
โ”‚   โ”œโ”€โ”€ editor        - The main React application
โ”‚   โ”œโ”€โ”€ engine        - The live-code execution engine and Reactive Runtime
โ”‚   โ”œโ”€โ”€ frame         - sandboxed iframe where end-user code evaluates
โ”‚   โ”œโ”€โ”€ packager      - Tool to bundle TypeCell notebook apps (WIP)
โ”‚   โ”œโ”€โ”€ parsers       - Helpers to convert to / from TypeCell documents
โ”‚   โ”œโ”€โ”€ server        - HocusPocus + Supabase server for storing documents
โ”‚   โ”œโ”€โ”€ shared        - TypeCell specific models shared across the codebase
โ”‚   โ”œโ”€โ”€ shared-test   - Helper functions shared across the codebase for unit tests
โ”‚   โ”œโ”€โ”€ util          - Generic helper functions
โ”‚   โ””โ”€โ”€ y-penpal      - yjs transport for crossdomain / crossframe communication
โ”œโ”€โ”€ patches           - patch-package patches
โ””โ”€โ”€ test-util         - Data for unit tests

The codebase is automatically tested using Vitest and Playwright.

Credits โค๏ธ

We build on top of some really great technologies:

TypeCell is proudly sponsored by the renowned NLNet foundation who are on a mission to support an open internet, and protect the privacy and security of internet users. Check them out!

NLNet