Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughThis pull request restructures licensing documentation and build configuration. It removes legacy files (HISTORY.md and shepherd.js/README.md), updates licensing information across root and React package documentation, adds a dedicated licensing guide page, modifies build artifacts to copy generated license files, and adjusts project configurations. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Fix all issues with AI agents
In `@docs-src/src/content/docs/guides/license.mdx`:
- Around line 10-61: The "Commercial License" section incorrectly implies all
commercial use requires payment; update the copy so the opening claim
("Shepherd.js is free for open source and non-commercial use") and the
"Commercial License" heading clearly state that AGPL-3.0 does permit commercial
use if the user complies with AGPL obligations, and that a paid commercial
license is required only when a user cannot or will not meet those obligations
(e.g., cannot disclose source when distributing or providing the software over a
network). Edit the "AGPL-3.0 Requirements" and the bullet list under "Commercial
License" (referencing those exact headings) to: 1) add a clarifying sentence
that commercial deployment is allowed under AGPL if you satisfy its terms, and
2) change the "You must purchase a commercial license if" bullets to say "You
must purchase a commercial license if you cannot or will not comply with AGPL
obligations (examples: ...)". Ensure examples reference network distribution,
closed-source intent, and internal business tooling as scenarios that may
trigger the need for a commercial license.
- Around line 6-16: The wording uses inconsistent compound adjective forms;
update the phrase "dual-licensing model" to "dual licensing" or "dual‑licensed"
(e.g., change "Shepherd.js uses a **dual-licensing model**..." to "Shepherd.js
is dual‑licensed" or "Shepherd.js uses dual licensing") and change "Open Source
Projects" and instances like "open source" when used as a modifier to the
hyphenated form "open‑source projects" (e.g., in the "Who Can Use Shepherd.js
for Free?" section and the bullet "Your project is open source under an
AGPL-compatible license"), ensuring hyphenation is used for noun-modifying
phrases.
In `@README.md`:
- Line 18: Update the sentence describing Shepherd to hyphenate "open-source"
when used as an adjective; change the phrase "[Shepherd] ... is an open source,
fully featured, digital adoption platform..." to use "open-source" so the
sentence reads "[Shepherd] ... is an open-source, fully featured, digital
adoption platform..." to correct the grammar in the README description.
🧹 Nitpick comments (1)
shepherd.js/rollup.config.mjs (1)
156-165: Consider combining copy commands and adding error resilience.The two sequential
cpcommands could be combined into a single command for efficiency. Additionally, if either source file is missing, the build will fail without a clear error message.♻️ Optional: Combine commands
console.log('Copying README and LICENSE from root to shepherd.js'); - await execaCommand(`cp ../README.md ./README.md`, { - stdio: 'inherit' - }); - - await execaCommand(`cp ../LICENSE.md ./LICENSE.md`, { + await execaCommand(`cp ../README.md ../LICENSE.md .`, { stdio: 'inherit' });
| Shepherd.js uses a **dual-licensing model** to support both open source and commercial use. | ||
|
|
||
| ## Free Use - AGPL-3.0 | ||
|
|
||
| Shepherd.js is **free for open source and non-commercial use** under the AGPL-3.0 license. | ||
|
|
||
| ### Who Can Use Shepherd.js for Free? | ||
|
|
||
| ✅ **Open Source Projects** | ||
| - Your project is open source under an AGPL-compatible license | ||
| - Your complete source code is publicly available |
There was a problem hiding this comment.
Tighten compound adjectives for clearer phrasing.
Minor copy edit: use “dual licensing” (or “dual‑licensed”) and “open‑source projects” when modifying a noun.
✏️ Suggested copy edits
-Shepherd.js uses a **dual-licensing model** to support both open source and commercial use.
+Shepherd.js uses a **dual licensing model** to support both open-source and commercial use.
-✅ **Open Source Projects**
-- Your project is open source under an AGPL-compatible license
+✅ **Open-Source Projects**
+- Your project is open source under an AGPL-compatible license🧰 Tools
🪛 LanguageTool
[uncategorized] ~6-~6: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...dual-licensing model* to support both open source and commercial use. ## Free Use - AGPL...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~14-~14: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ... Who Can Use Shepherd.js for Free? ✅ Open Source Projects - Your project is open sourc...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
🤖 Prompt for AI Agents
In `@docs-src/src/content/docs/guides/license.mdx` around lines 6 - 16, The
wording uses inconsistent compound adjective forms; update the phrase
"dual-licensing model" to "dual licensing" or "dual‑licensed" (e.g., change
"Shepherd.js uses a **dual-licensing model**..." to "Shepherd.js is
dual‑licensed" or "Shepherd.js uses dual licensing") and change "Open Source
Projects" and instances like "open source" when used as a modifier to the
hyphenated form "open‑source projects" (e.g., in the "Who Can Use Shepherd.js
for Free?" section and the bullet "Your project is open source under an
AGPL-compatible license"), ensuring hyphenation is used for noun-modifying
phrases.
| Shepherd.js is **free for open source and non-commercial use** under the AGPL-3.0 license. | ||
|
|
||
| ### Who Can Use Shepherd.js for Free? | ||
|
|
||
| ✅ **Open Source Projects** | ||
| - Your project is open source under an AGPL-compatible license | ||
| - Your complete source code is publicly available | ||
|
|
||
| ✅ **Personal & Non-Commercial Use** | ||
| - Personal projects, portfolios, and hobby websites | ||
| - Educational purposes (students, teachers, coursework) | ||
| - Academic research projects | ||
|
|
||
| ✅ **Evaluation & Testing** | ||
| - Evaluating Shepherd.js for up to 30 days | ||
| - Development, testing, and staging environments during evaluation | ||
| - Proof-of-concept and demo projects | ||
|
|
||
| ### AGPL-3.0 Requirements | ||
|
|
||
| When using Shepherd.js under AGPL-3.0, you must: | ||
| - Make your complete source code available if you distribute or provide your software over a network | ||
| - License your code under AGPL-3.0 or a compatible license | ||
| - Comply with all AGPL-3.0 terms | ||
|
|
||
| [Read the full AGPL-3.0 license text](https://github.com/shipshapecode/shepherd/blob/main/LICENSE.md) | ||
|
|
||
| --- | ||
|
|
||
| ## Commercial License | ||
|
|
||
| You **must purchase a commercial license** if: | ||
|
|
||
| ❌ **Commercial Products & Services** | ||
| - You're building a commercial product, application, SaaS, or website that generates revenue | ||
| - Your company generates revenue (even if the specific project using Shepherd.js does not) | ||
| - You're using Shepherd.js in any customer-facing commercial application | ||
|
|
||
| ❌ **Closed-Source Use** | ||
| - You cannot or don't want to open-source your code under AGPL-3.0 | ||
| - You want to keep your source code proprietary | ||
| - You want to avoid AGPL's source code disclosure requirements | ||
|
|
||
| ❌ **White-Label, Resale, or OEM Use** | ||
| - You're embedding Shepherd.js in a product you sell or distribute | ||
| - You're offering Shepherd.js as part of a commercial service or hosting | ||
| - You're using Shepherd.js in a product sold to other businesses | ||
|
|
||
| ❌ **Internal Business Tools** | ||
| - You're using Shepherd.js for internal tools, dashboards, or admin panels in a revenue-generating company | ||
| - Even if the tool is not customer-facing, commercial licenses are required for for-profit companies | ||
|
|
There was a problem hiding this comment.
Clarify AGPL vs commercial requirements to avoid legal/usage confusion.
AGPL-3.0 allows commercial use as long as its obligations are met. The current wording implies all commercial use requires a paid license, which conflicts with standard AGPL terms and can mislead users. Recommend reframing: a commercial license is required only if the user can’t or won’t comply with AGPL obligations (e.g., source disclosure/network use).
✏️ Suggested wording adjustment
-Shepherd.js is **free for open source and non-commercial use** under the AGPL-3.0 license.
+Shepherd.js is **free to use under AGPL-3.0** as long as you comply with its obligations
+including source disclosure for network use.
-You **must purchase a commercial license** if:
+You **must purchase a commercial license** if you cannot or do not want to comply
+with AGPL-3.0 obligations, such as source disclosure.
-❌ **Commercial Products & Services**
-- You're building a commercial product, application, SaaS, or website that generates revenue
-- Your company generates revenue (even if the specific project using Shepherd.js does not)
-- You're using Shepherd.js in any customer-facing commercial application
+❌ **Commercial Use Without AGPL Compliance**
+- You want to keep your source code proprietary
+- You do not want to disclose source code for network use
+- You cannot license your modifications under AGPL-3.0 or a compatible license🧰 Tools
🪛 LanguageTool
[uncategorized] ~14-~14: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ... Who Can Use Shepherd.js for Free? ✅ Open Source Projects - Your project is open sourc...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[style] ~51-~51: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...keep your source code proprietary - You want to avoid AGPL's source code disclosure req...
(REP_WANT_TO_VB)
🤖 Prompt for AI Agents
In `@docs-src/src/content/docs/guides/license.mdx` around lines 10 - 61, The
"Commercial License" section incorrectly implies all commercial use requires
payment; update the copy so the opening claim ("Shepherd.js is free for open
source and non-commercial use") and the "Commercial License" heading clearly
state that AGPL-3.0 does permit commercial use if the user complies with AGPL
obligations, and that a paid commercial license is required only when a user
cannot or will not meet those obligations (e.g., cannot disclose source when
distributing or providing the software over a network). Edit the "AGPL-3.0
Requirements" and the bullet list under "Commercial License" (referencing those
exact headings) to: 1) add a clarifying sentence that commercial deployment is
allowed under AGPL if you satisfy its terms, and 2) change the "You must
purchase a commercial license if" bullets to say "You must purchase a commercial
license if you cannot or will not comply with AGPL obligations (examples: ...)".
Ensure examples reference network distribution, closed-source intent, and
internal business tooling as scenarios that may trigger the need for a
commercial license.
|
|
||
| [Shepherd](https://shepherdjs.dev/) is an open source, fully featured, digital adoption platform (DAP) and user on-boarding service. Use our | ||
| hosted SaaS or deploy to your own infrastructure to run on-premise. | ||
| [Shepherd](https://shepherdjs.dev/) is an open source, fully featured, digital adoption platform (DAP) and user on-boarding service. |
There was a problem hiding this comment.
Minor grammar: hyphenate "open-source" when used as an adjective.
When "open source" is used as a compound adjective before a noun, it should be hyphenated.
📝 Suggested fix
-[Shepherd](https://shepherdjs.dev/) is an open source, fully featured, digital adoption platform (DAP) and user on-boarding service.
+[Shepherd](https://shepherdjs.dev/) is an open-source, fully featured, digital adoption platform (DAP) and user on-boarding service.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| [Shepherd](https://shepherdjs.dev/) is an open source, fully featured, digital adoption platform (DAP) and user on-boarding service. | |
| [Shepherd](https://shepherdjs.dev/) is an open-source, fully featured, digital adoption platform (DAP) and user on-boarding service. |
🧰 Tools
🪛 LanguageTool
[grammar] ~18-~18: Use a hyphen to join words.
Context: ...erd](https://shepherdjs.dev/) is an open source, fully featured, digital adoption...
(QB_NEW_EN_HYPHEN)
🤖 Prompt for AI Agents
In `@README.md` at line 18, Update the sentence describing Shepherd to hyphenate
"open-source" when used as an adjective; change the phrase "[Shepherd] ... is an
open source, fully featured, digital adoption platform..." to use "open-source"
so the sentence reads "[Shepherd] ... is an open-source, fully featured, digital
adoption platform..." to correct the grammar in the README description.
Summary by CodeRabbit
Documentation
Chores
✏️ Tip: You can customize this high-level summary in your review settings.