Srcbook banner

npm version Apache 2.0 license

Examples · Discord · Youtube · Hub

## Maintainers Note Srcbook is not under active development. ## Srcbook Srcbook is a TypeScript notebook that runs locally on your machine. Srcbook is open-source (apache2) and runs locally on your machine. You'll need to bring your own API key for AI usage (we strongly recommend Anthropic with `claude-3-5-sonnet-latest`). ## Features - Create, run, and share TypeScript notebooks - Export to valid markdown format (.src.md) - AI features for exploring and iterating on ideas - Diagraming with [mermaid](https://mermaid.js.org) for rich annotations - Local execution with a web interface - Powered by Node.js Example Srcbook ## FAQ See [FAQ](https://github.com/srcbookdev/srcbook/blob/main/FAQ.md). ## Getting Started Srcbook runs locally on your machine as a CLI application with a web interface. ### Requirements - Node 18+, we recommend using [nvm](https://github.com/nvm-sh/nvm) to manage local node versions - [corepack](https://nodejs.org/api/corepack.html) to manage package manager versions ### Installing We recommend using npx to always run the latest version from npm ```bash # Using npm npx srcbook@latest start # Using your pm equivalent pnpm dlx srcbook@latest start ``` > You can instead use a global install with ` i -g srcbook` > and then directly call srcbook with `srcbook start` ### Using Docker You can also run Srcbook using Docker: ```bash # Build the Docker image docker build -t srcbook . # Run the container # The -p flag maps port 2150 from the container to your host machine # First -v flag mounts your local .srcbook directory to persist data # Second -v flag shares your npm cache for better performance docker run -p 2150:2150 -v ~/.srcbook:/root/.srcbook -v ~/.npm:/root/.npm srcbook ``` Make sure to set up your API key after starting the container. You can do this through the web interface at `http://localhost:2150`. ### Current Commands ```bash $ srcbook -h Usage: srcbook [options] [command] Srcbook is a interactive programming environment for TypeScript Options: -V, --version output the version number -h, --help display help for command Commands: start [options] Start the Srcbook server import [options] Import a notebook help [command] display help for command ``` ### Uninstalling You can remove srcbook by first removing the package, and then cleaning it's local directory on disk: ```bash rm -rf ~/.srcbook # if you configured a global install npm uninstall -g srcbook ``` > if you used another pm you will need to use it's specific uninstall command ## Analytics and tracking In order to improve Srcbook, we collect some behavioral analytics. We don't collect any Personal Identifiable Information (PII), our goals are simply to improve the application. The code is open source so you don't have to trust us, you can verify! You can find more information in our [privacy policy](https://github.com/srcbookdev/srcbook/blob/main/PRIVACY-POLICY.md). If you want to disable tracking, you can run Srcbook with `SRCBOOK_DISABLE_ANALYTICS=true` set in the environment. ## Contributing For development instructions, see [CONTRIBUTING.md](https://github.com/srcbookdev/srcbook/blob/main/CONTRIBUTING.md).