Skip to content

feat: new cli app#1902

Merged
caio-pizzol merged 1 commit intomainfrom
caio/sd-1714-superdoc-cli
Feb 1, 2026
Merged

feat: new cli app#1902
caio-pizzol merged 1 commit intomainfrom
caio/sd-1714-superdoc-cli

Conversation

@caio-pizzol
Copy link
Contributor

No description provided.

@linear
Copy link

linear bot commented Feb 1, 2026

SD-1714 SuperDoc CLI

@caio-pizzol caio-pizzol merged commit 0c6aeb0 into main Feb 1, 2026
4 of 5 checks passed
@caio-pizzol caio-pizzol deleted the caio/sd-1714-superdoc-cli branch February 1, 2026 21:13
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0b1bd48750

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +49 to +52
matches: matches.map((m) => ({
...m,
context: getMatchContext(fullText, m.from, m.to),
})),

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Derive context from text offsets, not PM positions

The search command’s matches come from editor.commands.search, which returns ProseMirror document positions (see super-editor/src/extensions/search/search.js, where from/to are derived from docRanges). Passing those positions into getMatchContext treats them as character offsets into state.doc.textContent, so any document with nodes/paragraphs will yield incorrect or empty context strings. Users will see misleading context even when matches are correct. Consider deriving context via doc.textBetween around the match ranges or translating positions to text offsets before slicing.

Useful? React with 👍 / 👎.

Comment on lines +79 to +81
for (const match of sortedMatches) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(doc.editor.chain() as any).setTextSelection({ from: match.from, to: match.to }).insertContent(replaceWith).run();

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Avoid replacing across multi-range matches

The search extension supports cross‑paragraph matches and returns multi‑range results; it exposes from/to covering the entire span plus ranges for the actual matched segments. Replacing by selecting { from: match.from, to: match.to } and inserting content will delete everything between those ranges (including paragraph breaks and unrelated content) when a match spans paragraphs, effectively collapsing document structure. This can corrupt documents for patterns that cross paragraph boundaries. Consider restricting replace to single-range matches or iterating over ranges instead.

Useful? React with 👍 / 👎.

@superdoc-bot
Copy link

superdoc-bot bot commented Feb 1, 2026

🎉 This PR is included in version 1.11.0-next.3 🎉

The release is available on:

Your semantic-release bot 📦🚀

@superdoc-bot
Copy link

superdoc-bot bot commented Feb 1, 2026

🎉 This PR is included in version 1.1.0-next.2 🎉

The release is available on:

Your semantic-release bot 📦🚀

@superdoc-bot
Copy link

superdoc-bot bot commented Feb 1, 2026

🎉 This PR is included in version 1.4.0-next.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

@superdoc-bot
Copy link

superdoc-bot bot commented Feb 2, 2026

🎉 This PR is included in version 0.1.0-next.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

superdoc-bot bot pushed a commit that referenced this pull request Feb 2, 2026
# [0.1.0](cli-v0.0.0...cli-v0.1.0) (2026-02-02)

### Bug Fixes

* cli package public ([7dad84d](7dad84d))
* cli skill uses latest ([b74d9ba](b74d9ba))
* **cli:** document -h flag in help text ([020c4a0](020c4a0))
* **cli:** document -h flag in help text ([68fa42f](68fa42f))
* **cli:** move bundled deps to devDependencies ([6a362ed](6a362ed))
* **cli:** remove bundled deps from package.json ([f90d4af](f90d4af))
* console log ([4b64109](4b64109))

### Features

* **cli:** add claude code skill ([#1903](#1903)) ([e55ce56](e55ce56))
* new cli app ([#1902](#1902)) ([0c6aeb0](0c6aeb0))
@superdoc-bot
Copy link

superdoc-bot bot commented Feb 2, 2026

🎉 This PR is included in version 0.1.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

superdoc-bot bot pushed a commit that referenced this pull request Feb 3, 2026
# [1.1.0](template-builder-v1.0.0...template-builder-v1.1.0) (2026-02-03)

### Bug Fixes

* cli package public ([7dad84d](7dad84d))
* cli skill uses latest ([b74d9ba](b74d9ba))
* **cli:** document -h flag in help text ([020c4a0](020c4a0))
* **cli:** document -h flag in help text ([68fa42f](68fa42f))
* **cli:** move bundled deps to devDependencies ([6a362ed](6a362ed))
* **cli:** remove bundled deps from package.json ([f90d4af](f90d4af))
* console log ([4b64109](4b64109))
* paragraph autospacing calculation (SD-1653) ([#1877](#1877)) ([b7dec3c](b7dec3c))

### Features

* add esign package to monorepo ([#1895](#1895)) ([532e2b5](532e2b5))
* **cli:** add claude code skill ([#1903](#1903)) ([e55ce56](e55ce56))
* new cli app ([#1902](#1902)) ([0c6aeb0](0c6aeb0))
* **template-builder:** add cspNonce support ([#1911](#1911)) ([5b7b34e](5b7b34e))
@superdoc-bot
Copy link

superdoc-bot bot commented Feb 3, 2026

🎉 This PR is included in version 1.1.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

harbournick pushed a commit that referenced this pull request Feb 6, 2026
# [1.11.0](v1.10.0...v1.11.0) (2026-02-06)

### Bug Fixes

* cli package public ([7dad84d](7dad84d))
* cli skill uses latest ([b74d9ba](b74d9ba))
* **cli:** document -h flag in help text ([020c4a0](020c4a0))
* **cli:** document -h flag in help text ([68fa42f](68fa42f))
* **cli:** move bundled deps to devDependencies ([6a362ed](6a362ed))
* **cli:** remove bundled deps from package.json ([f90d4af](f90d4af))
* console log ([4b64109](4b64109))
* document dropdown resets ([#1883](#1883)) ([b552d2e](b552d2e))
* lock file ([1edf741](1edf741))
* make Ctrl-a select all content, and fix select all when there are tables in doc ([#1886](#1886)) ([c87c1ab](c87c1ab))
* package lock ([11f47fa](11f47fa))
* paragraph autospacing calculation (SD-1653) ([#1877](#1877)) ([b7dec3c](b7dec3c))
* run color overwrite in applyInlineRunProperties (SD-1585) ([#1885](#1885)) ([6051dd4](6051dd4))
* selection across pages with drag ([#1884](#1884)) ([bb44999](bb44999))
* **super-converter:** handle ECMA-376 percentage strings in table widths (SD-1633) ([#1844](#1844)) ([fb9fd52](fb9fd52))
* **super-converter:** return transparent instead of blue for shapes ([#1854](#1854)) ([6ac29d7](6ac29d7)), closes [#5b9bd5](https://github.com/superdoc-dev/superdoc/issues/5b9bd5)

### Features

* add esign package to monorepo ([#1895](#1895)) ([532e2b5](532e2b5))
* add template-builder package to monorepo ([#1888](#1888)) ([0aec624](0aec624))
* **cli:** add claude code skill ([#1903](#1903)) ([e55ce56](e55ce56))
* new cli app ([#1902](#1902)) ([0c6aeb0](0c6aeb0))
* **template-builder:** add cspNonce support ([#1911](#1911)) ([5b7b34e](5b7b34e))
* **vscode-ext:** sync from main ([47c50f7](47c50f7))
* **vscode-ext:** sync from main ([226bcf1](226bcf1))
* **vscode-ext:** sync from main ([eced1f3](eced1f3))
* **vscode-ext:** sync from main ([36b48a6](36b48a6))
* **vscode-ext:** sync from main ([cdc00df](cdc00df))
@harbournick
Copy link
Collaborator

🎉 This PR is included in superdoc v1.11.0

The release is available on GitHub release

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants