open-notebook/scripts
Luis Novo 1c5f1c673a
chore(release): automate container probes + document post-tag re-cut (#1198)
Retro improvements from the v1.14.0 release:

- release-image-test.sh gains a `probe` scenario (part of `all`) that
  runs the two container-level checks done by hand during v1.14.0:
  OPEN_NOTEBOOK_WORKER_MAX_TASKS reaching the in-image worker (#1141's
  supervisord `sh -c` expansion), and the worker surviving startup with
  HTTP_PROXY set while the user's NO_PROXY value is preserved (#1160,
  internal SurrealDB websocket not tunneled). Self-contained standalone
  containers with their own cleanup, so a probe failure can't leak into
  the fresh/upgrade scenarios.

- RELEASE_PROCESS.md documents two gotchas the release hit: never leave
  the version bump uncommitted on a branch (it leaked into an unrelated
  fix PR), and a post-tag fix requires a full re-cut (move tag + rebuild
  images), not just a tag nudge, or publication promotes the un-fixed
  artifact to v1-latest.

Verified: `release-image-test.sh probe lfnovo/open_notebook:1.14.0`
passes 4/4.
2026-07-21 07:04:19 -03:00
..
release-test chore(release): automate container probes + document post-tag re-cut (#1198) 2026-07-21 07:04:19 -03:00
check_md_links.py docs: restructure documentation around AGENTS.md, VISION.md and decision records (#1032) 2026-07-10 15:33:19 -03:00
docker-entrypoint.sh feat(sources): opt-in Docling + Crawl4AI runtimes installed at startup (#1122) (#1123) 2026-07-13 08:26:20 -03:00
export_docs.py Enhance export_docs.py with Table of Contents feature (#865) 2026-06-13 08:52:26 -03:00
README.md chore: export docs for custom gpt 2025-10-18 20:26:11 -03:00
wait-for-api.sh fix(docker): make wait-for-api.sh POSIX and enforce LF line endings (#586) (#598) 2026-04-19 15:49:11 -03:00

Scripts Documentation

export_docs.py

Consolidates markdown documentation files for use with ChatGPT or other platforms with file upload limits.

What It Does

  • Scans all subdirectories in the docs/ folder
  • For each subdirectory, combines all .md files (excluding index.md files)
  • Creates one consolidated markdown file per subdirectory
  • Saves all exported files to doc_exports/ in the project root

Usage

# Using Makefile (recommended)
make export-docs

# Or run directly with uv
uv run python scripts/export_docs.py

# Or run with standard Python
python scripts/export_docs.py

Output

The script creates doc_exports/ directory with consolidated files like:

  • getting-started.md - All getting-started documentation
  • user-guide.md - All user guide content
  • features.md - All feature documentation
  • development.md - All development documentation
  • etc.

Each exported file includes:

  • A main header with the folder name
  • Section headers for each source file
  • Source file attribution
  • The complete content from each markdown file
  • Visual separators between sections

Example Output Structure

# Getting Started

This document consolidates all content from the getting-started documentation folder.

---

## Installation

*Source: installation.md*

[Full content of installation.md]

---

## Quick Start

*Source: quick-start.md*

[Full content of quick-start.md]

---

Notes

  • The doc_exports/ directory is gitignored and safe to regenerate anytime
  • Index files (index.md) are automatically excluded
  • Files are sorted alphabetically for consistent output
  • The script handles subdirectories only (ignores files in the root docs/ folder)