August 19th, 2024

Show HN: Srcbook – A TypeScript notebook for rapid prototyping

Srcbook is an open-source notebook application for TypeScript and JavaScript, featuring AI capabilities, local execution, and privacy-respecting behavioral analytics. Installation requires Node.js v20+ via npm.

Read original articleLink Icon
CuriosityEnthusiasmSkepticism
Show HN: Srcbook – A TypeScript notebook for rapid prototyping

Srcbook is an open-source notebook application designed for TypeScript and JavaScript, enabling users to create, run, and share reproducible programs and ideas. It incorporates AI features for idea exploration and offers a local execution environment with a web interface. The application is licensed under the Apache 2.0 license. Key features include the ability to export to valid markdown format, local execution powered by Node.js, and an interactive programming environment specifically for TypeScript. To get started, users need Node.js version 20 or higher, and installation can be done via npm. The application can be run using the command `srcbook start`, or alternatively with `npx`. Users can also import Srcbooks and access help commands. For maintenance, the application can be updated or uninstalled using npm commands. Srcbook collects behavioral analytics to enhance user experience but ensures that no personal or identifiable information is gathered, with an option to disable tracking in the settings. For further guidance, users are encouraged to consult the CONTRIBUTING.md file in the repository.

- Srcbook is an open-source notebook application for TypeScript and JavaScript.

- It features AI capabilities and a local execution environment.

- Installation requires Node.js v20+ and can be done via npm.

- The application collects behavioral analytics but respects user privacy.

- Users can disable tracking and find more instructions in the repository's documentation.

Related

Show HN: Synapse – TypeScript Toolchain for Cloud Apps

Show HN: Synapse – TypeScript Toolchain for Cloud Apps

Synapse is a full-stack TypeScript toolchain with resource-driven programming, cloud-agnostic libraries, and fine-grained permissions. It includes a TypeScript compiler, fast package manager, and testing framework for local or AWS deployment. Installation instructions vary by OS. Leveraging TypeScript, esbuild, Node.js, Terraform, and AWS SDK. Detailed documentation on GitHub covers Custom Resources, Environments, Packages, and Tests, with a Quick Start guide available.

Introducing Writebook

Introducing Writebook

Writebook simplifies web-based book publishing with easy creation of covers, title, picture, and text pages in HTML format. Users can self-host it, customize with Rails code, and publish books independently for free.

Announcing Supabase on JSR

Announcing Supabase on JSR

JSR simplifies JavaScript and TypeScript module publishing with TypeScript support, auto-generated docs, and security features. Supabase's library, supabase-js, offers diverse functionalities like database querying and authentication for JavaScript projects via JSR.

Skribilo: The Document Programming Framework

Skribilo: The Document Programming Framework

Skribilo is a free document production tool that converts structured documents into formats like HTML and LaTeX, supporting automation, multiple outputs, and Unicode, distributed under the GNU GPL.

Show HN: Nyro – Open-source AI assistant for your OS

Show HN: Nyro – Open-source AI assistant for your OS

Nyro is an open-source AI productivity tool for desktops, featuring seamless integration, screenshot capture, and organized workspaces. Installation requires cloning the repository and setting up Supabase. Contributions are welcome.

AI: What people are saying
The comments on the Srcbook article reflect a mix of excitement and curiosity about the application, along with some concerns and suggestions for improvement.
  • Users appreciate the local execution feature and the potential for TypeScript integration, expressing a desire for enhanced functionality like web cells and VSCode support.
  • Concerns about privacy and analytics are raised, with suggestions on how to disable telemetry features.
  • Some users compare Srcbook to existing tools like Observable and Jupyter, discussing its advantages and potential limitations.
  • There is interest in additional features, such as MDX/React component support and inline WebAssembly execution.
  • Overall, the community is enthusiastic about the project and eager to see its development and potential applications.
Link Icon 18 comments
By @fsiefken - 6 months
Nice, if you could run wasm inline, one could conceivably use it for rust debugging or typst like this: https://github.com/Myriad-Dreamin/typst.ts

Also see this jupyter notebook request https://github.com/typst/typst/issues/962

By @jwilber - 6 months
I think this really nails a missing sweet spot for frontend/node projects.

Observable is a great notebook env for dataviz, but the bespoke js + observability patterns can feel obtuse for non-dataviz stuff.

Likewise, the Jupyter js kernels feel second-class and require python dependencies.

Really looking forward to using this for documenting open-source and prototyping.

By @gabrielcsapo - 6 months
Really awesome to see this stuff continued to be worked on. I had a small project I worked on almost a decade ago https://github.com/gabrielcsapo/node-notebook, things have gotten so much better.
By @prophesi - 6 months
To those concerned about the analytics like myself, you should be able to turn it off by setting the default here to false. Otherwise you'd need to toggle it off in the settings, which gives ample time for telemetry to fire.

https://github.com/srcbookdev/srcbook/blob/ddda46a0b1249c3d7...

By @bilalq - 6 months
Love that this is local. I've messed around trying to get Node on Jupyter with custom kernels, but never got close to a working setup with TypeScript.

Two features would be huge:

1. Web cells for intermixing UI components alongside NodeJS cells. Would be cool if there was a bridge API to call code in the Node cells as well.

2. VSCode extension to render this all in there directly.

By @adamddev1 - 6 months
Does this include, or are there plans for MDX/React component support? That would be amazing and I would use it extensively.
By @xixixao - 6 months
How does it compare with Observable? https://observablehq.com/
By @mcintyre1994 - 6 months
This is a cool idea! I often end up just using replit to play with a library, something more like Livebook makes a lot of sense. I like that you're using markdown too, makes these files much more useful than Jupyter ones.
By @tcsenpai - 6 months
Very nice. I am trying using ollama with it, looks like something is off either on my server or in the way the program calls it: I get the CPU used instead of the GPU (while using ollama in other apps doesn't).

Anyway, impressive

By @gryzzly - 6 months
Very cool! I wish there was also a "browser" cell, so that the execution wouldn’t be happening in the node.
By @aabbcc1241 - 5 months
The examples are complete programs.

Can I let-declare an variable in one code block, and refer to it in another code block with static type hint?

By @mlejva - 6 months
This looks interesting. What are some of the coolest srcbooks you have seen so far?
By @jumploops - 6 months
I’ve always wanted a TypeScript-based Jupyter notebook, thanks for building this!
By @ashobeiri - 6 months
This is really cool, looking forward to trying it out. Love the name as well
By @h1fra - 6 months
Very nice, how do you run the code? is it securely sandboxed?
By @fkilaiwi - 6 months
this is awesome. how do you plan to monetize this?
By @bityard - 6 months
Jupyter can run JS kernels these days.
By @mbo - 6 months
I hate to be negative, but I'm not entirely sure why this is advantageous over just dumping a bunch of HTML files into a folder. Why can't the code live in <script type="module">'s with `display: block` tagged, using esm.sh for libraries? Why do we have to use Markdown that has to get transpiled over a format that can be natively consumed by the browser?