-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update contributing.md to include additional steps #208
Conversation
WalkthroughThe pull request introduces updates to the project's contribution documentation and dependency management. The Changes
Possibly related PRs
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
book/src/contributing.md (1)
20-24
: Add language specifier to the code blockThe fenced code block should specify a language for better syntax highlighting and clarity.
-``` +```bash (cd components && just install-deps)<details> <summary>🧰 Tools</summary> <details> <summary>🪛 LanguageTool</summary> [grammar] ~20-~20: This phrase is duplicated. You should probably use “install dependencies” only once. Context: ...Install [`cargo-binstall`][binstall] to install dependencies 5. Install dependencies: ``` (cd components && just install-dep... (PHRASE_REPETITION) </details> <details> <summary>🪛 Markdownlint (0.37.0)</summary> 22-22: null Fenced code blocks should have a language specified (MD040, fenced-code-language) </details> </details> </blockquote></details> </blockquote></details> <details> <summary>📜 Review details</summary> **Configuration used: CodeRabbit UI** **Review profile: CHILL** **Plan: Pro** <details> <summary>📥 Commits</summary> Reviewing files that changed from the base of the PR and between 70dacff6dc1e61e094e6f30b90c1e5f09b60c8bb and 7abbe7ec8bbc8e4b1ed4ce0dc3b5cfd3b89e6955. </details> <details> <summary>📒 Files selected for processing (2)</summary> * `book/src/contributing.md` (2 hunks) * `components/justfile` (2 hunks) </details> <details> <summary>🧰 Additional context used</summary> <details> <summary>🪛 LanguageTool</summary> <details> <summary>book/src/contributing.md</summary> [grammar] ~20-~20: This phrase is duplicated. You should probably use “install dependencies” only once. Context: ...Install [`cargo-binstall`][binstall] to install dependencies 5. Install dependencies: ``` (cd components && just install-dep... (PHRASE_REPETITION) </details> </details> <details> <summary>🪛 Markdownlint (0.37.0)</summary> <details> <summary>book/src/contributing.md</summary> 22-22: null Fenced code blocks should have a language specified (MD040, fenced-code-language) </details> </details> </details> <details> <summary>🔇 Additional comments (4)</summary> <details> <summary>book/src/contributing.md (2)</summary> `65-65`: **LGTM!** The added links for cargo-binstall and nextest are properly formatted and point to the correct documentation. Also applies to: 67-67 --- `29-33`: **Verify the command change from 'just build' to 'just watch'** The build command has been updated. Let's verify this change is consistent with the justfile implementation. <details> <summary>✅ Verification successful</summary> **The `just watch` command exists and is correctly documented** The verification shows that the `watch` command exists in the root `justfile` and runs `bacon`, which is consistent with the documentation update. The change from `just build` to `just watch` is valid as it provides a better development experience with continuous building and checking. - Root `justfile` implements `watch: bacon` - The documentation correctly references this command - The change improves the development workflow by using `bacon` for continuous building/checking instead of a one-time build </details> <details> <summary>🏁 Scripts executed</summary> The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Verify the existence and implementation of the 'watch' command rg "watch:" components/justfile
Length of output: 31
Script:
#!/bin/bash # Let's search for the justfile in the repository root and other common locations fd justfile # Also search for any mentions of 'watch' or 'build' commands in justfiles rg -A 3 "^(watch|build):" $(fd justfile)Length of output: 808
components/justfile (2)
2-2
: LGTM!
Adding a version variable for wit-bindgen-cli is a good practice for maintaining consistency across the project.
19-19
: Verify wit-bindgen-cli version compatibility
The version has been pinned to 0.34.0. Let's verify this version's compatibility with other dependencies.
✅ Verification successful
Version 0.34.0 of wit-bindgen-cli appears compatible with the codebase
The verification shows that:
- The WIT interface files are using standard WIT syntax compatible with wit-bindgen-cli 0.34.0
- The justfile shows a consistent toolchain setup where wit-bindgen-cli is used alongside other WebAssembly tools:
- cargo-component for component model support
- wasm-tools for component operations
- wac-cli for WebAssembly components
- No version conflicts or compatibility issues are evident in the build process
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check for version constraints or compatibility issues
rg -A 3 "wit-bindgen|cargo-component" package.json components/*/package.json 2>/dev/null
rg "wit-bindgen" components/*/Cargo.toml 2>/dev/null
Length of output: 123
Script:
#!/bin/bash
# Let's check for wit-bindgen dependencies and version references in Cargo.toml files
fd Cargo.toml --exec rg -l "wit-bindgen" {} 2>/dev/null
# Check for any wit-bindgen related configuration or version specifications
fd "wit|component" --type f --exec rg -l "wit-bindgen|cargo-component" {} 2>/dev/null
# Look for any wit interface definitions that might indicate compatibility requirements
fd ".wit$" 2>/dev/null
# Check for any documentation about version requirements
rg -i "wit-bindgen.*version|component.*version" README.md docs/ 2>/dev/null
Length of output: 302
Script:
#!/bin/bash
# Let's examine the content of the WIT files to understand the interface requirements
cat components/cpp/prophet-wasmstan/wit/prophet-wasmstan.wit
cat crates/augurs-prophet/prophet-wasmstan.wit
# Check the justfile for any other related version configurations
cat components/justfile
# Look for any cargo component configurations
fd "Cargo.toml|justfile" --exec rg -A 3 "cargo-component" {} 2>/dev/null
Length of output: 16853
I ran into some additional necessary dependencies to install before I could run the project. In addition, pin wit-bindgen-cli to a specific version to avoid unnecessary diffs in generated files.
7abbe7e
to
b89567b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (2)
book/src/contributing.md (2)
20-24
: Make the bash command more copy-paste friendlyThe command is correct, but could be more user-friendly. Consider using the explicit form without parentheses.
-```bash -(cd components && just install-deps) -``` +```bash +cd components +just install-deps +cd .. +```🧰 Tools
🪛 LanguageTool
[grammar] ~20-~20: This phrase is duplicated. You should probably use “install dependencies” only once.
Context: ...Install [cargo-binstall
][binstall] to install dependencies 5. Install dependencies: ```bash (cd components && just install...(PHRASE_REPETITION)
25-33
: Enhance clarity of build and test instructionsConsider adding brief explanations:
- What the WASM component is and why it needs to be built
- Why bacon is preferred over regular
cargo watch
- The benefits of using nextest over standard cargo test
Example additions:
6. Build the WASM component: +> This builds the core WebAssembly component needed for augurs to function ```bash just build-component
- Start building and checking the project using [bacon]:
+> bacon provides faster incremental builds and better error reportingjust watch
- Run tests using [nextest]:
+> nextest offers parallel test execution and better test reportingjust test
</blockquote></details> </blockquote></details> <details> <summary>📜 Review details</summary> **Configuration used: CodeRabbit UI** **Review profile: CHILL** **Plan: Pro** <details> <summary>📥 Commits</summary> Reviewing files that changed from the base of the PR and between 7abbe7ec8bbc8e4b1ed4ce0dc3b5cfd3b89e6955 and b89567b7a53e2edbfe014dcfebfec7788e92c32f. </details> <details> <summary>📒 Files selected for processing (2)</summary> * `book/src/contributing.md` (2 hunks) * `components/justfile` (2 hunks) </details> <details> <summary>🚧 Files skipped from review as they are similar to previous changes (1)</summary> * components/justfile </details> <details> <summary>🧰 Additional context used</summary> <details> <summary>🪛 LanguageTool</summary> <details> <summary>book/src/contributing.md</summary> [grammar] ~20-~20: This phrase is duplicated. You should probably use “install dependencies” only once. Context: ...Install [`cargo-binstall`][binstall] to install dependencies 5. Install dependencies: ```bash (cd components && just install... (PHRASE_REPETITION) </details> </details> </details> <details> <summary>🔇 Additional comments (2)</summary> <details> <summary>book/src/contributing.md (2)</summary> `65-67`: **LGTM!** The reference links are well-organized and point to the correct documentation. --- `20-24`: **Verify wit-bindgen-cli version in install-deps** The PR mentions pinning wit-bindgen-cli version, but we should verify if this is handled in the install-deps command. <details> <summary>✅ Verification successful</summary> **✓ wit-bindgen-cli version is properly pinned** The `install-deps` command in `components/justfile` correctly pins the wit-bindgen-cli version to 0.34.0 using the `WIT_BINDGEN_VERSION` variable. </details> <details> <summary>🏁 Scripts executed</summary> The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Check if wit-bindgen-cli version is specified in justfile rg -A 5 "install-deps:" components/justfile
Length of output: 283
Script:
#!/bin/bash # Check if WIT_BINDGEN_VERSION is defined in justfile rg "set WIT_BINDGEN_VERSION" components/justfileLength of output: 50
Script:
#!/bin/bash # Look for WIT_BINDGEN_VERSION definition in justfile using different patterns rg -i "wit.?bindgen.?version" components/justfileLength of output: 143
🧰 Tools
🪛 LanguageTool
[grammar] ~20-~20: This phrase is duplicated. You should probably use “install dependencies” only once.
Context: ...Install [cargo-binstall
][binstall] to install dependencies 5. Install dependencies: ```bash (cd components && just install...(PHRASE_REPETITION)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! This was on my list after chatting with Gerry earlier...
I ran into some additional necessary dependencies to install before I could run the project. In addition, pin wit-bindgen-cli to a specific version to avoid unnecessary diffs in generated files.
Summary by CodeRabbit
Documentation
contributing.md
file to enhance clarity and improve the contribution process, including new steps for development setup and updated commands for building and testing.New Features
WIT_BINDGEN_VERSION
for flexible dependency management in the installation process.