docs: update README files to reference evm-monorepo#1471
docs: update README files to reference evm-monorepo#1471andreivladbrg wants to merge 5 commits intomainfrom
Conversation
WalkthroughMultiple package READMEs and CLAUDE docs were updated to reference the consolidated sablier-labs/evm-monorepo (package-specific tags) and to replace per-package Forge install steps with explicit remappings.txt entries. Codecov badge and link targets were changed to the monorepo. Package manifests and publish scripts were modified to include/copy/remove SECURITY.md. New bob documentation and README additions were added. Miscellaneous tooling/config changes include adding bob/package.json to .syncpackrc.json, expanding .solhintignore to ignore nested node_modules, and renaming a justfile recipe. 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
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.
🧹 Nitpick comments (4)
flow/README.md (1)
51-51: Wrap the Forge install command to stay within 120 characters.This line exceeds the markdown line-length limit.
Proposed fix
- forge install sablier-labs/evm-monorepo@flow-v3.0.0 OpenZeppelin/openzeppelin-contracts@v5.3.0 PaulRBerg/prb-math@v4.1.0 + forge install \ + sablier-labs/evm-monorepo@flow-v3.0.0 \ + OpenZeppelin/openzeppelin-contracts@v5.3.0 \ + PaulRBerg/prb-math@v4.1.0As per coding guidelines "**/*.{sol,md,json,js,ts,yml,yaml}: Maintain line length of 120 characters maximum".
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@flow/README.md` at line 51, The long forge install command in README.md exceeds the 120-character limit; split the command string "forge install sablier-labs/evm-monorepo@flow-v3.0.0 OpenZeppelin/openzeppelin-contracts@v5.3.0 PaulRBerg/prb-math@v4.1.0" across multiple lines (for example using shell line-continuation backslashes or separate list lines inside the Markdown code block) so no line exceeds 120 characters while preserving the exact package tokens and versions.lockup/README.md (2)
34-34: Split this command across multiple lines to satisfy markdown line-length rules.The current line is longer than 120 characters.
As per coding guidelines "**/*.{sol,md,json,js,ts,yml,yaml}: Maintain line length of 120 characters maximum".
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@lockup/README.md` at line 34, The long forge install command in README.md exceeds the 120-char line limit; split the command across multiple lines inside the same code block so each line is under 120 chars (e.g., put the base command `forge install` on the first line and place each package argument like `sablier-labs/evm-monorepo@lockup-v4.0.0`, `OpenZeppelin/openzeppelin-contracts@v5.3.0`, `PaulRBerg/prb-math@v4.1.0`, `smartcontractkit/chainlink` on their own subsequent lines), ensuring the markdown formatting remains valid and the visual output is unchanged.
34-34: Pin the Chainlink dependency to a tag/commit for reproducible installs.
smartcontractkit/chainlinkis unpinned, so this command can drift as upstream changes.Proposed fix
- forge install sablier-labs/evm-monorepo@lockup-v4.0.0 OpenZeppelin/openzeppelin-contracts@v5.3.0 PaulRBerg/prb-math@v4.1.0 smartcontractkit/chainlink + forge install \ + sablier-labs/evm-monorepo@lockup-v4.0.0 \ + OpenZeppelin/openzeppelin-contracts@v5.3.0 \ + PaulRBerg/prb-math@v4.1.0 \ + smartcontractkit/chainlink@<pinned-tag-or-commit>🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@lockup/README.md` at line 34, Update the forge install command so the Chainlink dependency is pinned to a specific tag or commit instead of the floating "smartcontractkit/chainlink"; modify the existing "forge install ..." line to replace smartcontractkit/chainlink with smartcontractkit/chainlink@<tag-or-commit> (or a concrete version like `@vX.Y.Z`) to ensure reproducible installs, and update any accompanying README text to mention the chosen tag/commit.airdrops/README.md (1)
50-50: Wrap the Forge command to keep markdown lines ≤120 chars.This line exceeds the max line length and should be split for readability/compliance.
Proposed fix
- forge install sablier-labs/evm-monorepo@airdrops-v3.0.0 OpenZeppelin/openzeppelin-contracts@v5.3.0 PaulRBerg/prb-math@v4.1.0 + forge install \ + sablier-labs/evm-monorepo@airdrops-v3.0.0 \ + OpenZeppelin/openzeppelin-contracts@v5.3.0 \ + PaulRBerg/prb-math@v4.1.0As per coding guidelines "**/*.{sol,md,json,js,ts,yml,yaml}: Maintain line length of 120 characters maximum".
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@airdrops/README.md` at line 50, The long single-line forge install command (forge install sablier-labs/evm-monorepo@airdrops-v3.0.0 OpenZeppelin/openzeppelin-contracts@v5.3.0 PaulRBerg/prb-math@v4.1.0) exceeds the 120-char limit; split it into multiple wrapped lines inside the README code block so no line >120 chars (for example, place each package or group of packages on its own line and use a backslash line-continuation or separate lines within the fenced code block) to satisfy the line-length guideline while preserving the same command tokens.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@airdrops/README.md`:
- Line 50: The long single-line forge install command (forge install
sablier-labs/evm-monorepo@airdrops-v3.0.0
OpenZeppelin/openzeppelin-contracts@v5.3.0 PaulRBerg/prb-math@v4.1.0) exceeds
the 120-char limit; split it into multiple wrapped lines inside the README code
block so no line >120 chars (for example, place each package or group of
packages on its own line and use a backslash line-continuation or separate lines
within the fenced code block) to satisfy the line-length guideline while
preserving the same command tokens.
In `@flow/README.md`:
- Line 51: The long forge install command in README.md exceeds the 120-character
limit; split the command string "forge install
sablier-labs/evm-monorepo@flow-v3.0.0 OpenZeppelin/openzeppelin-contracts@v5.3.0
PaulRBerg/prb-math@v4.1.0" across multiple lines (for example using shell
line-continuation backslashes or separate list lines inside the Markdown code
block) so no line exceeds 120 characters while preserving the exact package
tokens and versions.
In `@lockup/README.md`:
- Line 34: The long forge install command in README.md exceeds the 120-char line
limit; split the command across multiple lines inside the same code block so
each line is under 120 chars (e.g., put the base command `forge install` on the
first line and place each package argument like
`sablier-labs/evm-monorepo@lockup-v4.0.0`,
`OpenZeppelin/openzeppelin-contracts@v5.3.0`, `PaulRBerg/prb-math@v4.1.0`,
`smartcontractkit/chainlink` on their own subsequent lines), ensuring the
markdown formatting remains valid and the visual output is unchanged.
- Line 34: Update the forge install command so the Chainlink dependency is
pinned to a specific tag or commit instead of the floating
"smartcontractkit/chainlink"; modify the existing "forge install ..." line to
replace smartcontractkit/chainlink with
smartcontractkit/chainlink@<tag-or-commit> (or a concrete version like `@vX.Y.Z`)
to ensure reproducible installs, and update any accompanying README text to
mention the chosen tag/commit.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 7ec7482a-a157-42ed-a5b0-2089216d0077
📒 Files selected for processing (4)
airdrops/README.mdflow/README.mdlockup/README.mdutils/README.md
smol-ninja
left a comment
There was a problem hiding this comment.
bob's README is incomplete, should we update it as well, or is ok for now, since we don't have a package yet?
I have updated it in my review commit. Also, Lets publish a package as well. It will be required by the docs.
forge install sablier-labs/evm-monorepo@main
Why do we need this command? Isn't forge install sablier-labs/evm-monorepo@airdrops-v3.0.0 sufficient?
|
|
||
| ```shell | ||
| forge install --no-commit sablier-labs/evm-utils | ||
| forge install sablier-labs/evm-monorepo@utils-v2.0.0 |
There was a problem hiding this comment.
Why is there no OpenZeppelin/openzeppelin-contracts@v5.3.0 smartcontractkit/chainlink here?
| Install the monorepo and its dependencies using Forge: | ||
|
|
||
| ```shell | ||
| forge install sablier-labs/evm-monorepo@bob-v1.0.0 OpenZeppelin/openzeppelin-contracts@v5.3.0 PaulRBerg/prb-math@v4.1.0 smartcontractkit/chainlink |
There was a problem hiding this comment.
Can you plz confirm if this is correct? I just copied it from the pattern used in other files.
| echo "✓ Copied license files from monorepo root" | ||
|
|
||
| # Copy security files from monorepo root to current package directory | ||
| cp "$MONOREPO_ROOT/SECURITY.md" . |
There was a problem hiding this comment.
Added this as I think its important for npm packages.
There was a problem hiding this comment.
is it not possible to have in ../SECURITY.md in package.json#files field?
There was a problem hiding this comment.
No that wont work. npm publishing requires all files to be available in the same directory.
| [group("all")] | ||
| clean-modules-all: | ||
| just for-each clean-modules | ||
| rm -rf */node_modules |
There was a problem hiding this comment.
Changed this because just for-each clean-modules never works for me.
There was a problem hiding this comment.
Actionable comments posted: 7
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@bob/README.md`:
- Line 1: Update the README header line to correct the brand capitalization from
"Github Actions" to "GitHub Actions" and reflow the badges so the line length
stays <= 120 characters (for example, split the badges across multiple lines or
place badges each on its own line) ensuring the header text "# Sablier Bob"
remains intact; edit the top-line string in README.md accordingly.
- Line 30: The README's forge install command references a non-existent tag
"bob-v1.0.0"; update the installation line (the forge install command string) to
use a valid ref such as "@main" temporarily or remove the explicit tag so users
can install successfully, and add a TODO comment in the README to swap back to
"bob-v1.0.0" once that tag is published.
- Line 80: Update the GitHub Actions badge URL in the README by replacing the
workflow filename "ci-flow.yml" with "ci-bob.yml" in the badge reference (the
[gha-badge] URL); locate the badge line containing
"actions/workflows/ci-flow.yml/badge.svg" and change it to
"actions/workflows/ci-bob.yml/badge.svg" so the Bob package README points to the
correct workflow.
In `@flow/README.md`:
- Line 51: The long install command string "forge install
sablier-labs/evm-monorepo@flow-v3.0.0 OpenZeppelin/openzeppelin-contracts@v5.3.0
PaulRBerg/prb-math@v4.1.0" exceeds 120 chars; split it into multiple shorter
lines so each line is ≤120 characters (either by breaking the single command
with backslashes for line continuation or by placing each package on its own
line inside the markdown code block) to comply with the 120-char limit while
preserving the exact package specifiers.
- Line 51: The README references a non-existent tag '@flow-v3.0.0' in the forge
install command which will fail until that tag is published; update the command
in flow/README.md to use '@main' (the branch the author tested) or add a clear
note next to the install line stating that '@flow-v3.0.0' will only be available
after the PR is merged so users know to use '@main' until the tag exists.
In `@SECURITY.md`:
- Line 43: The line in SECURITY.md ("By default, the Lido adapter relies on the
Curve stETH/ETH pool for converting stETH back to ETH. This has important
implications:") exceeds the 120-character per-line limit; split this sentence
into two or more shorter sentences or insert a line break such that no resulting
line is longer than 120 characters, keeping the content and wording intact
(e.g., break after "ETH" and start a new sentence with "This has important
implications:") and ensure the file conforms to the `**/*.md` 120-char rule.
In `@utils/CLAUDE.md`:
- Around line 44-46: The test tree in utils/CLAUDE.md is missing two
directories; update the listing that currently shows integration/, invariant/,
and fork/ to include the missing entries for mocks/ and utils/ and their brief
descriptions and (if available) file counts so the block matches the actual test
layout—adjust the lines where the tree is printed (the existing entries:
integration/, invariant/, fork/) to add new lines for mocks/ ("# Mock
contracts") and utils/ ("# Test utilities") with matching formatting and counts.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: b3f69e1d-53b1-4a2b-8ef0-ae397b0fe29e
📒 Files selected for processing (26)
.solhintignore.syncpackrc.jsonCLAUDE.mdCONTRIBUTING.mdREADME.mdSECURITY.mdairdrops/CLAUDE.mdairdrops/README.mdairdrops/package.jsonbob/CLAUDE.mdbob/README.mdbob/SECURITY.mdbob/package.jsonflow/CLAUDE.mdflow/README.mdflow/package.jsonjustfilelockup/CLAUDE.mdlockup/README.mdlockup/package.jsonpackage.jsonscripts/bash/publish-postpack.shscripts/bash/publish-prepack.shutils/CLAUDE.mdutils/README.mdutils/package.json
💤 Files with no reviewable changes (1)
- bob/SECURITY.md
✅ Files skipped from review due to trivial changes (20)
- README.md
- lockup/package.json
- scripts/bash/publish-postpack.sh
- CONTRIBUTING.md
- .solhintignore
- utils/package.json
- .syncpackrc.json
- flow/package.json
- airdrops/package.json
- bob/CLAUDE.md
- bob/package.json
- package.json
- scripts/bash/publish-prepack.sh
- CLAUDE.md
- flow/CLAUDE.md
- lockup/CLAUDE.md
- utils/README.md
- justfile
- lockup/README.md
- airdrops/README.md
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (1)
bob/README.md (1)
1-1:⚠️ Potential issue | 🟡 MinorSplit the README title badges across lines to satisfy the max line length.
Line 1 still exceeds the 120-character limit.
✂️ Proposed fix
-# Sablier Bob [![GitHub Actions][gha-badge]][gha] [![Coverage][codecov-badge]][codecov] [![Foundry][foundry-badge]][foundry] [![Discord][discord-badge]][discord] [![Twitter][twitter-badge]][twitter] +# Sablier Bob + +[![GitHub Actions][gha-badge]][gha] [![Coverage][codecov-badge]][codecov] [![Foundry][foundry-badge]][foundry] +[![Discord][discord-badge]][discord] [![Twitter][twitter-badge]][twitter]As per coding guidelines, Maintain line length of 120 characters maximum for
**/*.md.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@bob/README.md` at line 1, The README title line with inline badges exceeds the 120-char limit; split the header and its badges across multiple lines so each line is ≤120 chars and markdown still renders. Edit the header line starting with "# Sablier Bob" to keep the title on its own line and move the badges (the sequence like [![GitHub Actions][gha-badge]]...[![Twitter][twitter-badge]]) onto one or more subsequent lines, breaking between badges as needed so no line exceeds 120 characters while preserving the badge markup.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@lockup/README.md`:
- Line 1: Wrap any markdown lines in README.md that exceed 120 characters
(notably the header/badge line starting with "# Sablier Lockup" and the long
paragraphs at the positions indicated in the review) to be
mdformat/prettier-compatible hard-wrapped under 120 chars; edit the long lines
so they break at natural word boundaries (preserve badges, links, and Markdown
semantics) and ensure no content or links are altered while keeping each line
≤120 characters.
---
Duplicate comments:
In `@bob/README.md`:
- Line 1: The README title line with inline badges exceeds the 120-char limit;
split the header and its badges across multiple lines so each line is ≤120 chars
and markdown still renders. Edit the header line starting with "# Sablier Bob"
to keep the title on its own line and move the badges (the sequence like
[![GitHub Actions][gha-badge]]...[![Twitter][twitter-badge]]) onto one or more
subsequent lines, breaking between badges as needed so no line exceeds 120
characters while preserving the badge markup.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 584b75ac-c423-44fc-8457-9af80b20ab78
📒 Files selected for processing (8)
README.mdSECURITY.mdairdrops/README.mdbob/README.mdflow/README.mdlockup/README.mdutils/CLAUDE.mdutils/README.md
✅ Files skipped from review due to trivial changes (5)
- README.md
- flow/README.md
- utils/README.md
- utils/CLAUDE.md
- airdrops/README.md
notes:
forge install sablier-labs/evm-monorepo@main)closes #1459