Commit fab0d31
Add API documentation with GitHub Pages deployment
This adds automated generation and deployment of versioned API
documentation using TypeDoc and GitHub Pages. Documentation will be
generated and published when a new release is created.
Changes
-------
1. **Documentation generation script** (see `scripts/generate-gh-pages.sh`)
Generates TypeDoc documentation for a specific version tag and
commits it to the gh-pages branch. The script uses git worktrees to
isolate the documentation generation process from the main workspace.
Documentation for each release is stored in a versioned directory
(e.g., `v1.2.3/`) on the gh-pages branch. The script:
- Parses semantic versions from tag names, ignoring arbitrary prefixes
(e.g., tags `1.2.3`, `v1.2.3`, and `release-1.2.3` all create `v1.2.3/`)
- Creates the gh-pages branch as an orphan branch if it doesn't exist
- Generates new doc pages while preserving existing versioned directories
- Generates `_data/versions.yml` with a list of all versions for
Jekyll templates to consume
- Determines the latest version via semantic version sorting
- For the latest version only, copies static Jekyll template files
from `.github/pages/` to the gh-pages root
2. **Jekyll template files** (see `.github/pages/` directory)
- `.github/pages/_config.yml` - Jekyll configuration
- `.github/pages/index.html` - Landing page that redirects to the
latest version based on generated `_data/versions.yml`
3. **GitHub Actions workflow** (see `.github/workflows/main.yml`)
Added a `publish-gh-pages` job that runs after the `publish` job on
release events. This ensures documentation is generated and
published only after the npm package is successfully published. The
job invokes the generation script with the release tag name and
pushes the updated gh-pages branch.
4. **CI validation** (see `package.json`)
Updated the `check` script to include TypeDoc validation with
`--emit none`. This ensures TypeDoc can successfully parse the
codebase (without generating output), catching documentation issues
early in CI.
5. **Documentation link** (see `README.md`)
Added a link to the published API documentation in the Documentation
section of the README.
TypeDoc Configuration
---------------------
TypeDoc is configured via `typedoc.json`:
- Uses the `src` directory as the entry point with the `expand` strategy
- Explicitly excludes test files, mocks, examples, and integration tests
Documentation URL
-----------------
Documentation will be available at:
https://modelcontextprotocol.github.io/typescript-sdk/
Versioned API documentation will be available at:
- https://modelcontextprotocol.github.io/typescript-sdk/ (redirects to latest)
- https://modelcontextprotocol.github.io/typescript-sdk/v1.2.3/ (specific versions)
Co-Authored-By: Claude <noreply@anthropic.com>1 parent b9538a2 commit fab0d31
File tree
9 files changed
+418
-1
lines changed- .github
- pages
- workflows
- scripts
9 files changed
+418
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1785 | 1785 | | |
1786 | 1786 | | |
1787 | 1787 | | |
| 1788 | + | |
1788 | 1789 | | |
1789 | 1790 | | |
1790 | 1791 | | |
| |||
0 commit comments