feat: set up CI, linting, and documentation automation#44
Conversation
- Removed `Cargo.lock`, `*.md`, and `.gitignore` from the CI auto-fix hook patterns to streamline the file checks. - Retained essential patterns for Rust source files and configuration files. Tested the updated hook; it functions correctly without errors. Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
- Added new commands for building, serving, cleaning, and checking documentation using mdBook and rustdoc. - Updated CI auto-fix hook to reflect new command patterns for documentation checks and formatting. Tested the new documentation commands; all functions operate correctly without errors. Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
- Changed the package ecosystem from "devcontainers" to "cargo". - Updated the schedule for "github-actions" to daily. - Added a new package ecosystem "rust-toolchain" with a daily update schedule. Tested the dependabot configuration; updates are scheduled correctly without errors. Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
* feat: Update implementation plan and documentation for stringy-binary-analyzer - Reformatted the implementation plan in `tasks.md` for improved clarity and consistency, ensuring all tasks are clearly outlined with proper indentation. - Updated example usage in `macho.rs` to reflect correct module paths and commented out actual file reading for clarity. Tested the documentation changes; all formatting is correct and displays as expected. Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io> * chore: Add linter and spell checker configurations - Introduced `.mega-linter.yml` for comprehensive linter settings, minimizing false positives while ensuring code quality. - Added `cspell.config.yaml` for spell checking with custom dictionaries and ignore paths. - Updated `.prettierignore` to exclude Markdown files and generated directories. - Enhanced `.pre-commit-config.yaml` with additional hooks for linting and formatting. Tested all configurations; linter and spell checker operate as expected without errors. Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io> --------- Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
|
Caution Review failedThe pull request is closed. Summary by CodeRabbit
WalkthroughRepository-wide tooling and docs updates: Dependabot config shifts to GitHub Actions and Rust toolchain entries; CI/linting ecosystems added/standardized (MegaLinter, cspell, pre-commit, prettier ignore tweaks); Kiro CI hook aligned to just-based workflow; docs updated for renamed repo; justfile expanded with structured format/lint/docs/dist targets; a Rust doc example path adjusted. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Dev as Developer
participant Just as justfile
participant Tools as Linters/Formatters
participant CI as CI Integrations
Dev->>Just: just format
Just->>Tools: format:rust (rustfmt)
Just->>Tools: format:json-yaml (prettier)
Just->>Tools: format:md (md tooling)
Just->>Tools: format:just (just --fmt)
Dev->>Just: just lint
Just->>Tools: lint:rust (fmt-check, clippy)
Just->>Tools: lint:actions (actionlint)
Just->>Tools: lint:spell (cspell)
Just->>Tools: lint:docs (markdownlint, lychee)
Just->>Tools: lint:just (just --check)
Dev->>Just: just docs-build / docs-serve
Just->>Tools: mdBook pipelines
Dev->>Just: just dist-generate-ci
Just->>CI: generate cargo-dist workflow hints
Note over CI,Just: CI/QA configs supported by MegaLinter, pre-commit, cspell
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
Pre-merge checks and finishing touches and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro Disabled knowledge base sources:
📒 Files selected for processing (13)
🧪 Early access (Sonnet 4.5): enabledWe are currently testing the Sonnet 4.5 model, which is expected to improve code review quality. However, this model may lead to increased noise levels in the review comments. Please disable the early access features if the noise level causes any inconvenience. Note:
Comment |
- Consolidated formatting and linting commands in the justfile for improved clarity and efficiency. - Replaced individual format and lint recipes with aliases and streamlined main commands. - Ensured all formatting and linting operations remain functional. Tested the updated justfile; all commands execute correctly without errors. Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
…arget list in dist-workspace - Updated the output path reference in the GitHub Actions release workflow from `steps.cargo-cyclonedx.outputs.paths` to `steps.cargo-cyclonedx.output.paths` for consistency. - Simplified the target list in `dist-workspace.toml` by removing unnecessary line breaks for improved readability. Tested the workflow and configuration changes; all functions operate correctly without errors. Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
* fix: Update CI auto-fix hook patterns - Removed `Cargo.lock`, `*.md`, and `.gitignore` from the CI auto-fix hook patterns to streamline the file checks. - Retained essential patterns for Rust source files and configuration files. Tested the updated hook; it functions correctly without errors. Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io> * feat: Enhance documentation management in justfile - Added new commands for building, serving, cleaning, and checking documentation using mdBook and rustdoc. - Updated CI auto-fix hook to reflect new command patterns for documentation checks and formatting. Tested the new documentation commands; all functions operate correctly without errors. Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io> * chore: Update dependabot configuration for package management - Changed the package ecosystem from "devcontainers" to "cargo". - Updated the schedule for "github-actions" to daily. - Added a new package ecosystem "rust-toolchain" with a daily update schedule. Tested the dependabot configuration; updates are scheduled correctly without errors. Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io> * fix: megalinter issues (#43) * feat: Update implementation plan and documentation for stringy-binary-analyzer - Reformatted the implementation plan in `tasks.md` for improved clarity and consistency, ensuring all tasks are clearly outlined with proper indentation. - Updated example usage in `macho.rs` to reflect correct module paths and commented out actual file reading for clarity. Tested the documentation changes; all formatting is correct and displays as expected. Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io> * chore: Add linter and spell checker configurations - Introduced `.mega-linter.yml` for comprehensive linter settings, minimizing false positives while ensuring code quality. - Added `cspell.config.yaml` for spell checking with custom dictionaries and ignore paths. - Updated `.prettierignore` to exclude Markdown files and generated directories. - Enhanced `.pre-commit-config.yaml` with additional hooks for linting and formatting. Tested all configurations; linter and spell checker operate as expected without errors. Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io> --------- Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io> * refactor: Simplify justfile formatting and linting commands - Consolidated formatting and linting commands in the justfile for improved clarity and efficiency. - Replaced individual format and lint recipes with aliases and streamlined main commands. - Ensured all formatting and linting operations remain functional. Tested the updated justfile; all commands execute correctly without errors. Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io> * fix: Correct output path reference in release workflow and simplify target list in dist-workspace - Updated the output path reference in the GitHub Actions release workflow from `steps.cargo-cyclonedx.outputs.paths` to `steps.cargo-cyclonedx.output.paths` for consistency. - Simplified the target list in `dist-workspace.toml` by removing unnecessary line breaks for improved readability. Tested the workflow and configuration changes; all functions operate correctly without errors. Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io> --------- Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
This pull request introduces several improvements to project automation, documentation, and developer tooling. The main changes include enhanced CI and linting configurations, expanded and clarified project task specifications, and improved documentation consistency and accuracy. Additionally, new configuration files for spell checking and MegaLinter are added to maintain code and documentation quality.
Automation and CI improvements:
.github/dependabot.ymlto refine dependency update schedules and add support forrust-toolchainandgithub-actionsecosystems, with more frequent checks.release.ymlworkflow to correctly reference theoutputsproperty forcargo-cyclonedx..kiro/hooks/ci-auto-fix.kiro.hookto usejustcommands for formatting, linting, building, and auditing, aligning with project conventions..mega-linter.ymlfor comprehensive and customized linting, including directory and file exclusions, and tailored linter arguments..prettierignoreto exclude markdown and generated files from Prettier formatting.cspell.config.yamlfor project-specific spell checking, including ignored paths and custom dictionary entries.Project specification and planning:
.kiro/specs/stringy-binary-analyzer/tasks.mdwith detailed subtasks and requirements for all major features, including format detection, section classification, string extraction, classification, ranking, output formatting, CLI, memory mapping, testing, and pipeline orchestration. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]Documentation and naming consistency:
StringyMcStringFaceinstead of the previous lowercase variant, acrossREADME.md,docs/src/contributing.md,docs/src/installation.md, anddocs/src/troubleshooting.md. [1] [2] [3] [4] [5] [6]Developer tooling:
justfileto provide granular formatting commands for Rust, JSON/YAML, Markdown, and the Justfile itself.targetsarray indist-workspace.tomlfor better readability.