Skip to content

Typescripts - #30

Open
khulnasoft-bot wants to merge 2 commits into
mainfrom
typescripts
Open

Typescripts#30
khulnasoft-bot wants to merge 2 commits into
mainfrom
typescripts

Conversation

@khulnasoft-bot

@khulnasoft-bot khulnasoft-bot commented Jan 21, 2025

Copy link
Copy Markdown
Collaborator

Notes for Reviewers

This PR fixes #

Signed commits

  • Yes, I signed my commits.

Summary by Sourcery

Update the repository URL in package.json files and documentation, and fix a typo in the codetypo.config.yaml file.

Enhancements:

  • Rename the create-dictionary script in package.json.

Documentation:

  • Update the repository URL in the README files and website documentation.

Chores:

  • Update the GitHub repository URL from khulnasoft/codetypo-cli to khulnasoft/codetypo.

Summary by CodeRabbit

Based on the comprehensive summary of changes, here are the release notes:

  • New Features

    • Added GitHub Actions workflows for automated testing, dependency management, and release processes
    • Introduced Docker support with configurable language dictionaries
    • Enhanced CLI with new commands: lint, trace, check, suggestions, and link
  • Documentation

    • Updated README files across multiple packages
    • Added comprehensive CLI usage guides and help documentation
    • Created security and contribution guidelines
  • Infrastructure

    • Consolidated repository structure from codetypo-cli to codetypo
    • Updated package configurations and dependency management
    • Implemented pre-commit hooks and code quality checks
  • Configuration

    • Added support for custom dictionaries and language locales
    • Introduced new configuration files for various tools and workflows

These release notes provide a high-level overview of the significant changes while maintaining confidentiality about internal implementation details.

@sourcery-ai

sourcery-ai Bot commented Jan 21, 2025

Copy link
Copy Markdown
Contributor

Reviewer's Guide by Sourcery

This pull request updates the repository URLs in package.json files, README files, and documentation to reflect the move of the codetypo-cli package to the main codetypo repository. It also updates the command used to create dictionaries and adds a new CLI package.

Flow diagram of CLI package installation process

graph TD
    A[Start Installation] --> B{Installation Method?}
    B -->|NPM| C[npm install -g git+https://github.com/khulnasoft/codetypo]
    B -->|Docker| D[docker pull ghcr.io/khulnasoft/codetypo]
    C --> E[CLI Available as 'codetypo-cli']
    D --> F[Run via Docker Container]
    E --> G[End]
    F --> G[End]

    style A fill:#f5f5f5,stroke:#333,stroke-width:2px
    style B fill:#e1f5fe,stroke:#333,stroke-width:2px
    style C fill:#e8f5e9,stroke:#333,stroke-width:2px
    style D fill:#e8f5e9,stroke:#333,stroke-width:2px
    style E fill:#f5f5f5,stroke:#333,stroke-width:2px
    style F fill:#f5f5f5,stroke:#333,stroke-width:2px
    style G fill:#f5f5f5,stroke:#333,stroke-width:2px
Loading

File-Level Changes

Change Details Files
Update repository URLs in package.json files
  • Changed the repository URL from https://github.com/khulnasoft/codetypo-cli.git to https://github.com/khulnasoft/codetypo.git.
  • Changed the bugs URL from https://github.com/khulnasoft/codetypo-cli/issues to https://github.com/khulnasoft/codetypo/issues.
  • Changed the homepage URL from https://github.com/khulnasoft/codetypo-cli#readme to https://github.com/khulnasoft/codetypo#readme.
test-packages/codetypo/test-codetypo-cli/package.json
test-packages/codetypo/test-codetypo-esm-reporter/package.json
Update documentation and README files to reflect the repository move
  • Updated the codetypo-cli link to point to the main codetypo repository.
  • Updated the example install command to use the main codetypo repository.
README.md
docs/_includes/generated-docs/README.md
website/src/pages/index.md
packages/codetypo/README.md
Update the command used to create dictionaries
  • Changed the create-dictionary script from node ./generator-cspell-dicts/run.js to node ./generator-codetypo-dicts/run.js.
package.json
Add a new CLI package
  • Added a new codetypo-cli package to the repository.
  • Added a README file for the new CLI package.
  • Added GitHub workflow files for the new CLI package.
  • Added a Dockerfile for the new CLI package.
  • Added a dependabot configuration file for the new CLI package.
  • Added a release-please configuration file for the new CLI package.
  • Added a codeql configuration file for the new CLI package.
  • Added a github app token action for the new CLI package.
  • Added a setup action for the new CLI package.
  • Added a cspell action for the new CLI package.
  • Added a security policy for the new CLI package.
  • Added a pre-commit hook for the new CLI package.
  • Added a funding file for the new CLI package.
  • Added a license file for the new CLI package.
  • Added a codetypo configuration file for the new CLI package.
  • Added an index.js file for the new CLI package.
  • Added a release-please configuration file for the new CLI package.
  • Added static help files for the new CLI package.
packages/cli/README.md
packages/cli/.github/workflows/update-cspell.yml
packages/cli/.github/workflows/update-dependencies.yml
packages/cli/docker/german/README.md
packages/cli/.github/workflows/publish-docker-image.yml
packages/cli/.github/workflows/test.yml
packages/cli/.github/actions/pr/action.yaml
packages/cli/.github/workflows/update-dependabot.yml
packages/cli/package.json
packages/cli/.github/dependabot.yml
packages/cli/.github/workflows/release-please.yml
packages/cli/.github/workflows/codeql-analysis.yml
packages/cli/.github/actions/github-app-token/action.yaml
packages/cli/.github/release.yml
packages/cli/.github/actions/setup/action.yaml
packages/cli/.github/workflows/cspell-action.yml
packages/cli/SECURITY.md
packages/cli/.pre-commit-hooks.yaml
packages/cli/.github/FUNDING.yml
packages/cli/Dockerfile
packages/cli/docker/german/Dockerfile
packages/cli/docker/german/codetypo.config.yaml
packages/cli/.editorconfig
packages/cli/.gitignore
packages/cli/.prettierignore
packages/cli/.release-please-manifest.json
packages/cli/LICENSE
packages/cli/codetypo.json
packages/cli/index.js
packages/cli/release-please-config.json
packages/cli/static/help-check.txt
packages/cli/static/help-link.txt
packages/cli/static/help-lint.txt
packages/cli/static/help-suggestions.txt
packages/cli/static/help-trace.txt
packages/cli/static/help.txt
Update the list of words in the configuration file
  • Replaced streetsidesoftware with khulnasoft in the list of words.
codetypo.config.yaml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time. You can also use
    this command to specify where the summary should be inserted.

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai

coderabbitai Bot commented Jan 21, 2025

Copy link
Copy Markdown

Walkthrough

This pull request represents a comprehensive restructuring of the CodeTypo CLI project, consolidating the codetypo-cli repository into the main codetypo repository. The changes include updating repository links, creating new configuration files, adding GitHub Actions workflows, introducing Docker support, and establishing comprehensive documentation for the CLI tool. The modifications span across multiple files and directories, focusing on improving project structure, automation, and user experience.

Changes

File/Directory Change Summary
README.md files Updated GitHub repository links from khulnasoft/codetypo-cli to khulnasoft/codetypo
codetypo.config.yaml Modified word list, added/removed specific words
package.json files Updated repository URLs, homepage, and bug tracking links
packages/cli/.github/ Added multiple GitHub Actions workflows for testing, releasing, dependency management, and Docker image publishing
packages/cli/docker/ Added Dockerfile and configurations for German language support
packages/cli/static/ Added comprehensive help documentation for various CLI commands

Sequence Diagram

sequenceDiagram
    participant User
    participant CLI as CodeTypo CLI
    participant Config as Configuration
    participant Dictionary as Dictionary Service
    
    User->>CLI: Execute command (lint/check/trace)
    CLI->>Config: Load configuration
    Config->>Dictionary: Retrieve dictionaries
    Dictionary-->>CLI: Return word lists
    CLI->>User: Display results/suggestions
Loading

Possibly related PRs

Suggested reviewers

  • NxPKG

Poem

🐰 A Rabbit's Ode to CodeTypo CLI 🔍

In repos of code, where typos hide,
A CLI emerges, taking pride
From scattered paths to unified might
Spelling errors now tremble with fright!

Hop, hop, hooray for clean code's delight! 🌟


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?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We have skipped reviewing this pull request. It seems to have been created by a bot (hey, khulnasoft-bot!). We assume it knows what it's doing!

@codiumai-pr-agent-free

codiumai-pr-agent-free Bot commented Jan 21, 2025

Copy link
Copy Markdown
Contributor

CI Feedback 🧐

(Feedback updated until commit b5fce51)

A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

Action: Analyze

Failed stage: Perform CodeQL Analysis [❌]

Failure summary:

The CodeQL analysis failed because there was a configuration conflict. The error message indicates
that "CodeQL analyses from advanced configurations cannot be processed when the default setup is
enabled". This means:

  • The repository has the default CodeQL setup enabled
  • At the same time, it's trying to use an advanced/custom CodeQL configuration
  • These two configurations are incompatible and cannot be used together

  • Relevant error logs:
    1:  ##[group]Operating System
    2:  Ubuntu
    ...
    
    262:  "extractor_options" : {
    263:  "logging" : {
    264:  "title" : "Options pertaining to logging.",
    265:  "description" : "Options pertaining to logging.",
    266:  "type" : "object",
    267:  "properties" : {
    268:  "verbosity" : {
    269:  "title" : "Python extractor logging verbosity level.",
    270:  "description" : "Controls the level of verbosity of the CodeQL Python extractor.\nThe supported levels are (in order of increasing verbosity):\n\n  - off\n  - errors\n  - warnings\n  - info or progress\n  - debug or progress+\n  - trace or progress++\n  - progress+++\n",
    271:  "type" : "string",
    272:  "pattern" : "^(off|errors|warnings|(info|progress)|(debug|progress\\+)|(trace|progress\\+\\+)|progress\\+\\+\\+)$"
    ...
    
    307:  },
    308:  "logging" : {
    309:  "title" : "Options pertaining to logging.",
    310:  "description" : "Options pertaining to logging.",
    311:  "type" : "object",
    312:  "properties" : {
    313:  "verbosity" : {
    314:  "title" : "Extractor logging verbosity level.",
    315:  "description" : "Controls the level of verbosity of the extractor. The supported levels are (in order of increasing verbosity):\n  - off\n  - errors\n  - warnings\n  - info or progress\n  - debug or progress+\n  - trace or progress++\n  - progress+++\n",
    316:  "type" : "string",
    317:  "pattern" : "^(off|errors|warnings|(info|progress)|(debug|progress\\+)|(trace|progress\\+\\+)|progress\\+\\+\\+)$"
    ...
    
    548:  "extractor_options" : {
    549:  "logging" : {
    550:  "title" : "Options pertaining to logging.",
    551:  "description" : "Options pertaining to logging.",
    552:  "type" : "object",
    553:  "properties" : {
    554:  "verbosity" : {
    555:  "title" : "Python extractor logging verbosity level.",
    556:  "description" : "Controls the level of verbosity of the CodeQL Python extractor.\nThe supported levels are (in order of increasing verbosity):\n\n  - off\n  - errors\n  - warnings\n  - info or progress\n  - debug or progress+\n  - trace or progress++\n  - progress+++\n",
    557:  "type" : "string",
    558:  "pattern" : "^(off|errors|warnings|(info|progress)|(debug|progress\\+)|(trace|progress\\+\\+)|progress\\+\\+\\+)$"
    ...
    
    593:  },
    594:  "logging" : {
    595:  "title" : "Options pertaining to logging.",
    596:  "description" : "Options pertaining to logging.",
    597:  "type" : "object",
    598:  "properties" : {
    599:  "verbosity" : {
    600:  "title" : "Extractor logging verbosity level.",
    601:  "description" : "Controls the level of verbosity of the extractor. The supported levels are (in order of increasing verbosity):\n  - off\n  - errors\n  - warnings\n  - info or progress\n  - debug or progress+\n  - trace or progress++\n  - progress+++\n",
    602:  "type" : "string",
    603:  "pattern" : "^(off|errors|warnings|(info|progress)|(debug|progress\\+)|(trace|progress\\+\\+)|progress\\+\\+\\+)$"
    ...
    
    839:  cleanup-level: brutal
    840:  add-snippets: false
    841:  skip-queries: false
    842:  checkout_path: /home/runner/work/codetypo/codetypo
    843:  upload-database: true
    844:  wait-for-processing: true
    845:  token: ***
    846:  matrix: null
    847:  expect-error: false
    ...
    
    1233:  [2025-01-21 16:59:57] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/DictionaryNegRef.html
    1234:  [2025-01-21 16:59:57] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/DictionaryDefinitionInline.html (22 ms)
    1235:  [2025-01-21 16:59:57] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/DictionaryPath.html
    1236:  [2025-01-21 16:59:57] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/DictionaryNegRef.html (12 ms)
    1237:  [2025-01-21 16:59:57] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/DictionaryRef.html
    1238:  [2025-01-21 16:59:57] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/DictionaryPath.html (14 ms)
    1239:  [2025-01-21 16:59:57] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/DictionaryReference.html
    1240:  [2025-01-21 16:59:57] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/DictionaryId.html (19 ms)
    1241:  [2025-01-21 16:59:57] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/ErrorEmitter.html
    1242:  [2025-01-21 16:59:57] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/DictionaryRef.html (13 ms)
    1243:  [2025-01-21 16:59:57] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/ErrorLike.html
    1244:  [2025-01-21 16:59:57] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/ErrorEmitter.html (12 ms)
    1245:  [2025-01-21 16:59:57] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/FSPathResolvable.html
    1246:  [2025-01-21 16:59:57] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/DictionaryReference.html (15 ms)
    1247:  [2025-01-21 16:59:57] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/Feature.html
    1248:  [2025-01-21 16:59:57] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/ErrorLike.html (17 ms)
    ...
    
    1299:  [2025-01-21 16:59:57] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/ReporterSettings.html
    1300:  [2025-01-21 16:59:57] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/RegExpPatternList.html (17 ms)
    1301:  [2025-01-21 16:59:57] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/ReplaceMap.html (16 ms)
    1302:  [2025-01-21 16:59:57] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/ResultEmitter.html
    1303:  [2025-01-21 16:59:57] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/ReplaceEntry.html (17 ms)
    1304:  [2025-01-21 16:59:57] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/SimpleGlob.html
    1305:  [2025-01-21 16:59:57] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/Source.html
    1306:  [2025-01-21 16:59:57] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/ReporterSettings.html (12 ms)
    1307:  [2025-01-21 16:59:57] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/SpellingErrorEmitter.html
    1308:  [2025-01-21 16:59:57] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/SimpleGlob.html (12 ms)
    1309:  [2025-01-21 16:59:57] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/SuggestionCostMapDef.html
    1310:  [2025-01-21 16:59:57] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/Source.html (16 ms)
    1311:  [2025-01-21 16:59:57] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/SuggestionCostsDefs.html
    1312:  [2025-01-21 16:59:57] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/ResultEmitter.html (20 ms)
    1313:  [2025-01-21 16:59:57] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/TrustLevel.html
    1314:  [2025-01-21 16:59:57] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/docs/types/codetypo-types/types/SpellingErrorEmitter.html (11 ms)
    ...
    
    1527:  [2025-01-21 17:00:07] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-service-bus/src/Dispatcher.ts
    1528:  [2025-01-21 17:00:07] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-service-bus/src/Dispatcher.ts (1 ms)
    1529:  [2025-01-21 17:00:07] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-service-bus/src/ServiceRequestFactory.ts
    1530:  [2025-01-21 17:00:08] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-service-bus/src/ServiceRequestFactory.ts (8 ms)
    1531:  [2025-01-21 17:00:08] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-service-bus/src/bus.ts
    1532:  [2025-01-21 17:00:08] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-service-bus/src/bus.ts (61 ms)
    1533:  [2025-01-21 17:00:08] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-service-bus/src/createRequestHandler.ts
    1534:  [2025-01-21 17:00:08] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-service-bus/src/createRequestHandler.ts (7 ms)
    1535:  [2025-01-21 17:00:08] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-service-bus/src/errors.ts
    1536:  [2025-01-21 17:00:08] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-service-bus/src/errors.ts (6 ms)
    ...
    
    1905:  [2025-01-21 17:00:18] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-glob/src/index.ts
    1906:  [2025-01-21 17:00:18] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-glob/src/index.ts (1 ms)
    1907:  [2025-01-21 17:00:18] [build-stdout] Opening project /home/runner/work/codetypo/codetypo/packages/codetypo-grammar/tsconfig.json
    1908:  [2025-01-21 17:00:18] [build-stdout] Done opening project /home/runner/work/codetypo/codetypo/packages/codetypo-grammar/tsconfig.json (1 ms)
    1909:  [2025-01-21 17:00:18] [build-stdout] Opening project /home/runner/work/codetypo/codetypo/packages/codetypo-io/tsconfig.json
    1910:  [2025-01-21 17:00:18] [build-stdout] Done opening project /home/runner/work/codetypo/codetypo/packages/codetypo-io/tsconfig.json (358 ms)
    1911:  [2025-01-21 17:00:18] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/handlers/node/file.ts
    1912:  [2025-01-21 17:00:18] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/handlers/node/file.ts (169 ms)
    1913:  [2025-01-21 17:00:18] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/node/file/FetchError.test.ts
    1914:  [2025-01-21 17:00:18] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/node/file/FetchError.test.ts (16 ms)
    1915:  [2025-01-21 17:00:18] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/node/file/FetchError.ts
    1916:  [2025-01-21 17:00:18] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/node/file/FetchError.ts (9 ms)
    ...
    
    1975:  [2025-01-21 17:00:19] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/common/stat.ts
    1976:  [2025-01-21 17:00:19] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/common/stat.ts (3 ms)
    1977:  [2025-01-21 17:00:19] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/common/transformers.test.ts
    1978:  [2025-01-21 17:00:19] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/common/transformers.test.ts (36 ms)
    1979:  [2025-01-21 17:00:19] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/common/transformers.ts
    1980:  [2025-01-21 17:00:19] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/common/transformers.ts (12 ms)
    1981:  [2025-01-21 17:00:19] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/common/urlOrReferenceToUrl.ts
    1982:  [2025-01-21 17:00:19] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/common/urlOrReferenceToUrl.ts (1 ms)
    1983:  [2025-01-21 17:00:19] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/errors/assert.test.ts
    1984:  [2025-01-21 17:00:19] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/errors/assert.test.ts (7 ms)
    1985:  [2025-01-21 17:00:19] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/errors/assert.ts
    1986:  [2025-01-21 17:00:19] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/errors/assert.ts (1 ms)
    1987:  [2025-01-21 17:00:19] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/errors/error.test.ts
    1988:  [2025-01-21 17:00:19] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/errors/error.test.ts (3 ms)
    1989:  [2025-01-21 17:00:19] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/errors/error.ts
    1990:  [2025-01-21 17:00:19] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/errors/error.ts (3 ms)
    1991:  [2025-01-21 17:00:19] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/errors/errors.test.ts
    1992:  [2025-01-21 17:00:19] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/errors/errors.test.ts (4 ms)
    1993:  [2025-01-21 17:00:19] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/errors/errors.ts
    1994:  [2025-01-21 17:00:19] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/errors/errors.ts (2 ms)
    1995:  [2025-01-21 17:00:19] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/errors/index.ts
    1996:  [2025-01-21 17:00:19] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-io/src/errors/index.ts (1 ms)
    ...
    
    2073:  [2025-01-21 17:00:21] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/configLoader/configToRawSettings.ts
    2074:  [2025-01-21 17:00:21] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/configLoader/configToRawSettings.ts (10 ms)
    2075:  [2025-01-21 17:00:21] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/configLoader/defaultConfigLoader.test.ts
    2076:  [2025-01-21 17:00:21] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/configLoader/defaultConfigLoader.test.ts (4 ms)
    2077:  [2025-01-21 17:00:21] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/configLoader/defaultConfigLoader.ts
    2078:  [2025-01-21 17:00:21] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/configLoader/defaultConfigLoader.ts (13 ms)
    2079:  [2025-01-21 17:00:21] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/configLoader/defaultSettings.ts
    2080:  [2025-01-21 17:00:21] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/configLoader/defaultSettings.ts (2 ms)
    2081:  [2025-01-21 17:00:21] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/configLoader/extractImportErrors.ts
    2082:  [2025-01-21 17:00:21] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/configLoader/extractImportErrors.ts (12 ms)
    ...
    
    2089:  [2025-01-21 17:00:21] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/configLoader/readSettings.ts
    2090:  [2025-01-21 17:00:21] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/configLoader/readSettings.ts (5 ms)
    2091:  [2025-01-21 17:00:21] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/configLoader/readSettingsFiles.ts
    2092:  [2025-01-21 17:00:21] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/configLoader/readSettingsFiles.ts (3 ms)
    2093:  [2025-01-21 17:00:21] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/configLoader/toGlobDef.ts
    2094:  [2025-01-21 17:00:21] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/configLoader/toGlobDef.ts (5 ms)
    2095:  [2025-01-21 17:00:21] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/configLoader/types.ts
    2096:  [2025-01-21 17:00:21] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/configLoader/types.ts (1 ms)
    2097:  [2025-01-21 17:00:21] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/ImportError.test.ts
    2098:  [2025-01-21 17:00:21] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/ImportError.test.ts (4 ms)
    2099:  [2025-01-21 17:00:21] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/ImportError.ts
    2100:  [2025-01-21 17:00:21] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/Settings/Controller/ImportError.ts (3 ms)
    ...
    
    2245:  [2025-01-21 17:00:23] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/SpellingDictionary/Dictionaries.ts
    2246:  [2025-01-21 17:00:23] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/SpellingDictionary/Dictionaries.ts (12 ms)
    2247:  [2025-01-21 17:00:23] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/SpellingDictionary/DictionaryLoader.test.ts
    2248:  [2025-01-21 17:00:23] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/SpellingDictionary/DictionaryLoader.test.ts (65 ms)
    2249:  [2025-01-21 17:00:23] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/SpellingDictionary/DictionaryLoader.ts
    2250:  [2025-01-21 17:00:23] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/SpellingDictionary/DictionaryLoader.ts (4 ms)
    2251:  [2025-01-21 17:00:23] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/SpellingDictionary/SpellingDictionary.ts
    2252:  [2025-01-21 17:00:23] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/SpellingDictionary/SpellingDictionary.ts (1 ms)
    2253:  [2025-01-21 17:00:23] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/SpellingDictionary/SpellingDictionaryError.ts
    2254:  [2025-01-21 17:00:23] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/SpellingDictionary/SpellingDictionaryError.ts (2 ms)
    ...
    
    2375:  [2025-01-21 17:00:25] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/util/TextRange.test.ts
    2376:  [2025-01-21 17:00:25] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/util/TextRange.test.ts (5 ms)
    2377:  [2025-01-21 17:00:25] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/util/TextRange.ts
    2378:  [2025-01-21 17:00:25] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/util/TextRange.ts (40 ms)
    2379:  [2025-01-21 17:00:25] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/util/Uri.test.ts
    2380:  [2025-01-21 17:00:25] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/util/Uri.test.ts (57 ms)
    2381:  [2025-01-21 17:00:25] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/util/Uri.ts
    2382:  [2025-01-21 17:00:25] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/util/Uri.ts (33 ms)
    2383:  [2025-01-21 17:00:25] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/util/errors.test.ts
    2384:  [2025-01-21 17:00:25] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/util/errors.test.ts (19 ms)
    2385:  [2025-01-21 17:00:25] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/util/errors.ts
    2386:  [2025-01-21 17:00:25] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/src/lib/util/errors.ts (21 ms)
    ...
    
    2829:  [2025-01-21 17:00:31] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-tools/src/test/TestHelper.ts
    2830:  [2025-01-21 17:00:31] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-tools/src/test/TestHelper.ts (18 ms)
    2831:  [2025-01-21 17:00:31] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-tools/src/test/console.ts
    2832:  [2025-01-21 17:00:31] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-tools/src/test/console.ts (5 ms)
    2833:  [2025-01-21 17:00:31] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-tools/src/test/escapeRegEx.ts
    2834:  [2025-01-21 17:00:31] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-tools/src/test/escapeRegEx.ts (1 ms)
    2835:  [2025-01-21 17:00:31] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-tools/src/test/normalizeOutput.ts
    2836:  [2025-01-21 17:00:31] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-tools/src/test/normalizeOutput.ts (6 ms)
    2837:  [2025-01-21 17:00:31] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-tools/src/util/errors.test.ts
    2838:  [2025-01-21 17:00:31] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-tools/src/util/errors.test.ts (3 ms)
    2839:  [2025-01-21 17:00:31] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-tools/src/util/errors.ts
    2840:  [2025-01-21 17:00:31] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-tools/src/util/errors.ts (1 ms)
    ...
    
    3389:  [2025-01-21 17:00:39] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo/src/app/util/async.ts
    3390:  [2025-01-21 17:00:39] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo/src/app/util/async.ts (1 ms)
    3391:  [2025-01-21 17:00:39] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo/src/app/util/canUseColor.test.ts
    3392:  [2025-01-21 17:00:39] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo/src/app/util/canUseColor.test.ts (5 ms)
    3393:  [2025-01-21 17:00:39] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo/src/app/util/canUseColor.ts
    3394:  [2025-01-21 17:00:39] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo/src/app/util/canUseColor.ts (1 ms)
    3395:  [2025-01-21 17:00:39] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo/src/app/util/constants.ts
    3396:  [2025-01-21 17:00:39] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo/src/app/util/constants.ts (1 ms)
    3397:  [2025-01-21 17:00:39] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo/src/app/util/errors.test.ts
    3398:  [2025-01-21 17:00:39] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo/src/app/util/errors.test.ts (18 ms)
    3399:  [2025-01-21 17:00:39] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo/src/app/util/errors.ts
    3400:  [2025-01-21 17:00:39] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo/src/app/util/errors.ts (6 ms)
    ...
    
    3617:  [2025-01-21 17:00:44] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/website/docusaurus.config.ts
    3618:  [2025-01-21 17:00:44] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/website/docusaurus.config.ts (19 ms)
    3619:  [2025-01-21 17:00:44] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/website/sidebars.ts
    3620:  [2025-01-21 17:00:44] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/website/sidebars.ts (1 ms)
    3621:  [2025-01-21 17:00:44] [build-stdout] Opening project /home/runner/work/codetypo/codetypo/tsconfig.json
    3622:  [2025-01-21 17:00:44] [build-stdout] Done opening project /home/runner/work/codetypo/codetypo/tsconfig.json (2 ms)
    3623:  [2025-01-21 17:00:44] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/samples/react/sample.tsx
    3624:  [2025-01-21 17:00:44] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/samples/react/sample.tsx (3 ms)
    3625:  [2025-01-21 17:00:44] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/with-errors/react/sample.tsx
    3626:  [2025-01-21 17:00:44] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/with-errors/react/sample.tsx (2 ms)
    ...
    
    3657:  [2025-01-21 17:00:44] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/dictionaries/sv/src/hunspell/index.d.ts
    3658:  [2025-01-21 17:00:44] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/dictionaries/sv/src/hunspell/index.d.ts (1 ms)
    3659:  [2025-01-21 17:00:44] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/dictionaries/uk_UA/src/hunspell/index.d.ts
    3660:  [2025-01-21 17:00:44] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/dictionaries/uk_UA/src/hunspell/index.d.ts (2 ms)
    3661:  [2025-01-21 17:00:44] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/import-support/sample.ts
    3662:  [2025-01-21 17:00:44] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/import-support/sample.ts (2 ms)
    3663:  [2025-01-21 17:00:44] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/samples/sample.ts
    3664:  [2025-01-21 17:00:44] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/samples/sample.ts (6 ms)
    3665:  [2025-01-21 17:00:44] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/with-errors/auto-fix.ts
    3666:  [2025-01-21 17:00:44] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/with-errors/auto-fix.ts (1 ms)
    3667:  [2025-01-21 17:00:44] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/with-errors/creepyData.ts
    3668:  [2025-01-21 17:00:44] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/with-errors/creepyData.ts (2 ms)
    3669:  [2025-01-21 17:00:44] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/with-errors/importAlias.ts
    3670:  [2025-01-21 17:00:44] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/with-errors/importAlias.ts (1 ms)
    3671:  [2025-01-21 17:00:44] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/with-errors/imports.ts
    3672:  [2025-01-21 17:00:44] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/with-errors/imports.ts (2 ms)
    3673:  [2025-01-21 17:00:44] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/with-errors/strings.ts
    3674:  [2025-01-21 17:00:44] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/with-errors/strings.ts (1 ms)
    ...
    
    3713:  [2025-01-21 17:00:45] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-json-reporter/src/utils/setToJSONReplacer.ts
    3714:  [2025-01-21 17:00:45] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-json-reporter/src/utils/setToJSONReplacer.ts (1 ms)
    3715:  [2025-01-21 17:00:45] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-json-reporter/src/utils/validateSettings.test.ts
    3716:  [2025-01-21 17:00:45] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-json-reporter/src/utils/validateSettings.test.ts (4 ms)
    3717:  [2025-01-21 17:00:45] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-json-reporter/src/utils/validateSettings.ts
    3718:  [2025-01-21 17:00:45] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-json-reporter/src/utils/validateSettings.ts (4 ms)
    3719:  [2025-01-21 17:00:45] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/fixtures/docValidator/sample-with-codetypo-directives.ts
    3720:  [2025-01-21 17:00:45] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/fixtures/docValidator/sample-with-codetypo-directives.ts (1 ms)
    3721:  [2025-01-21 17:00:45] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/fixtures/docValidator/sample-with-directives-errors.ts
    3722:  [2025-01-21 17:00:45] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/fixtures/docValidator/sample-with-directives-errors.ts (1 ms)
    3723:  [2025-01-21 17:00:45] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/fixtures/docValidator/sample-with-errors.ts
    3724:  [2025-01-21 17:00:45] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/fixtures/docValidator/sample-with-errors.ts (1 ms)
    3725:  [2025-01-21 17:00:45] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/fixtures/docValidator/sample-with-many-errors.ts
    3726:  [2025-01-21 17:00:45] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/fixtures/docValidator/sample-with-many-errors.ts (3 ms)
    ...
    
    3826:  [2025-01-21 17:00:45] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-config-lib/fixtures/js/module/package.json
    3827:  [2025-01-21 17:00:45] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-config-lib/fixtures/js/module/package.json (0 ms)
    3828:  [2025-01-21 17:00:45] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-config-lib/fixtures/package/with-value/package.json
    3829:  [2025-01-21 17:00:45] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-config-lib/fixtures/package/with-value/package.json (0 ms)
    3830:  [2025-01-21 17:00:45] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-config-lib/fixtures/package/without-value/package.json
    3831:  [2025-01-21 17:00:45] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-config-lib/fixtures/js/module/codetypo.python.mjs (7 ms)
    3832:  [2025-01-21 17:00:45] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/samples/react/sample.jsx
    3833:  [2025-01-21 17:00:45] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-config-lib/fixtures/package/without-value/package.json (2 ms)
    3834:  [2025-01-21 17:00:45] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/with-errors/react/sample.jsx
    3835:  [2025-01-21 17:00:45] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-config-lib/fixtures/js/module/codetypo.function.js (20 ms)
    3836:  [2025-01-21 17:00:45] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/fixtures/dictionaries/inline/codetypo.config.yaml
    3837:  [2025-01-21 17:00:45] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-config-lib/fixtures/js/module/codetypo.custom.js (25 ms)
    3838:  [2025-01-21 17:00:45] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/samples/react/sample.jsx (17 ms)
    3839:  [2025-01-21 17:00:45] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-lib/samples/patterns/test/fileType.js
    3840:  [2025-01-21 17:00:45] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/with-errors/react/sample.jsx (18 ms)
    ...
    
    4072:  [2025-01-21 17:00:47] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/simple/eslint.config.js
    4073:  [2025-01-21 17:00:47] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/simple/eslint.config.js (3 ms)
    4074:  [2025-01-21 17:00:47] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/simple/package.json
    4075:  [2025-01-21 17:00:47] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/simple/package.json (0 ms)
    4076:  [2025-01-21 17:00:47] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/samples/sampleESM.mjs (7 ms)
    4077:  [2025-01-21 17:00:47] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/simple/sampleESM.mjs
    4078:  [2025-01-21 17:00:47] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/simple/tsconfig.json
    4079:  [2025-01-21 17:00:47] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/simple/tsconfig.json (0 ms)
    4080:  [2025-01-21 17:00:47] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/with-errors/sampleESM.mjs
    4081:  [2025-01-21 17:00:47] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/simple/sampleESM.mjs (7 ms)
    4082:  [2025-01-21 17:00:47] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/with-errors/sampleTemplateString.mjs
    4083:  [2025-01-21 17:00:47] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/with-errors/sampleESM.mjs (9 ms)
    4084:  [2025-01-21 17:00:47] [build-stdout] Extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/yaml-support/eslint.config.mjs
    4085:  [2025-01-21 17:00:47] [build-stdout] Done extracting /home/runner/work/codetypo/codetypo/packages/codetypo-eslint-plugin/fixtures/with-errors/sampleTemplateString.mjs (6 ms)
    ...
    
    5816:  [78/90] Loaded /opt/hostedtoolcache/CodeQL/2.20.1/x64/codeql/qlpacks/codeql/javascript-queries/1.2.6/Security/CWE-094/CodeInjection.qlx.
    5817:  [79/90] Loaded /opt/hostedtoolcache/CodeQL/2.20.1/x64/codeql/qlpacks/codeql/javascript-queries/1.2.6/Security/CWE-915/PrototypePollutingFunction.qlx.
    5818:  [80/90] Loaded /opt/hostedtoolcache/CodeQL/2.20.1/x64/codeql/qlpacks/codeql/javascript-queries/1.2.6/Security/CWE-730/RegExpInjection.qlx.
    5819:  [81/90] Loaded /opt/hostedtoolcache/CodeQL/2.20.1/x64/codeql/qlpacks/codeql/javascript-queries/1.2.6/Security/CWE-915/PrototypePollutingMergeCall.qlx.
    5820:  [82/90] Loaded /opt/hostedtoolcache/CodeQL/2.20.1/x64/codeql/qlpacks/codeql/javascript-queries/1.2.6/Security/CWE-915/PrototypePollutingAssignment.qlx.
    5821:  [83/90] Loaded /opt/hostedtoolcache/CodeQL/2.20.1/x64/codeql/qlpacks/codeql/javascript-queries/1.2.6/Security/CWE-693/InsecureHelmet.qlx.
    5822:  [84/90] Loaded /opt/hostedtoolcache/CodeQL/2.20.1/x64/codeql/qlpacks/codeql/javascript-queries/1.2.6/Security/CWE-916/InsufficientPasswordHash.qlx.
    5823:  [85/90] Loaded /opt/hostedtoolcache/CodeQL/2.20.1/x64/codeql/qlpacks/codeql/javascript-queries/1.2.6/RegExp/IdentityReplacement.qlx.
    5824:  [86/90] Loaded /opt/hostedtoolcache/CodeQL/2.20.1/x64/codeql/qlpacks/codeql/javascript-queries/1.2.6/Diagnostics/ExtractionErrors.qlx.
    ...
    
    5826:  [88/90] Loaded /opt/hostedtoolcache/CodeQL/2.20.1/x64/codeql/qlpacks/codeql/javascript-queries/1.2.6/Summary/LinesOfCode.qlx.
    5827:  [89/90] Loaded /opt/hostedtoolcache/CodeQL/2.20.1/x64/codeql/qlpacks/codeql/javascript-queries/1.2.6/Security/CWE-134/TaintedFormatString.qlx.
    5828:  [90/90] Loaded /opt/hostedtoolcache/CodeQL/2.20.1/x64/codeql/qlpacks/codeql/javascript-queries/1.2.6/Summary/LinesOfUserCode.qlx.
    5829:  Starting evaluation of codeql/javascript-queries/AngularJS/InsecureUrlWhitelist.ql.
    5830:  Starting evaluation of codeql/javascript-queries/AngularJS/DoubleCompilation.ql.
    5831:  Starting evaluation of codeql/javascript-queries/Diagnostics/ExtractedFiles.ql.
    5832:  Starting evaluation of codeql/javascript-queries/AngularJS/DisablingSce.ql.
    5833:  [1/90 eval 2.2s] Evaluation done; writing results to codeql/javascript-queries/Diagnostics/ExtractedFiles.bqrs.
    5834:  Starting evaluation of codeql/javascript-queries/Diagnostics/ExtractionErrors.ql.
    5835:  Starting evaluation of codeql/javascript-queries/Electron/AllowRunningInsecureContent.ql.
    5836:  Starting evaluation of codeql/javascript-queries/Electron/DisablingWebSecurity.ql.
    5837:  Starting evaluation of codeql/javascript-queries/Performance/PolynomialReDoS.ql.
    5838:  Starting evaluation of codeql/javascript-queries/Performance/ReDoS.ql.
    5839:  [2/90 eval 1.3s] Evaluation done; writing results to codeql/javascript-queries/Diagnostics/ExtractionErrors.bqrs.
    ...
    
    6177:  Interpreting /opt/hostedtoolcache/CodeQL/2.20.1/x64/codeql/qlpacks/codeql/javascript-queries/1.2.6/Security/CWE-916/InsufficientPasswordHash.ql...
    6178:  ... found results file at /home/runner/work/_temp/codeql_databases/javascript/results/codeql/javascript-queries/Security/CWE-916/InsufficientPasswordHash.bqrs.
    6179:  Interpreting /opt/hostedtoolcache/CodeQL/2.20.1/x64/codeql/qlpacks/codeql/javascript-queries/1.2.6/Security/CWE-134/TaintedFormatString.ql...
    6180:  ... found results file at /home/runner/work/_temp/codeql_databases/javascript/results/codeql/javascript-queries/Security/CWE-134/TaintedFormatString.bqrs.
    6181:  Interpreting /opt/hostedtoolcache/CodeQL/2.20.1/x64/codeql/qlpacks/codeql/javascript-queries/1.2.6/Security/CWE-693/InsecureHelmet.ql...
    6182:  ... found results file at /home/runner/work/_temp/codeql_databases/javascript/results/codeql/javascript-queries/Security/CWE-693/InsecureHelmet.bqrs.
    6183:  Interpreting /opt/hostedtoolcache/CodeQL/2.20.1/x64/codeql/qlpacks/codeql/javascript-queries/1.2.6/RegExp/IdentityReplacement.ql...
    6184:  ... found results file at /home/runner/work/_temp/codeql_databases/javascript/results/codeql/javascript-queries/RegExp/IdentityReplacement.bqrs.
    6185:  Interpreting /opt/hostedtoolcache/CodeQL/2.20.1/x64/codeql/qlpacks/codeql/javascript-queries/1.2.6/Diagnostics/ExtractionErrors.ql...
    6186:  ... found results file at /home/runner/work/_temp/codeql_databases/javascript/results/codeql/javascript-queries/Diagnostics/ExtractionErrors.bqrs.
    ...
    
    6271:  Interpreted pathproblem query "Regular expression injection" (js/regex-injection) at path /home/runner/work/_temp/codeql_databases/javascript/results/codeql/javascript-queries/Security/CWE-730/RegExpInjection.bqrs.
    6272:  Interpreted pathproblem query "Prototype-polluting function" (js/prototype-pollution-utility) at path /home/runner/work/_temp/codeql_databases/javascript/results/codeql/javascript-queries/Security/CWE-915/PrototypePollutingFunction.bqrs.
    6273:  Interpreted pathproblem query "Prototype-polluting assignment" (js/prototype-polluting-assignment) at path /home/runner/work/_temp/codeql_databases/javascript/results/codeql/javascript-queries/Security/CWE-915/PrototypePollutingAssignment.bqrs.
    6274:  Interpreted pathproblem query "Prototype-polluting merge call" (js/prototype-pollution) at path /home/runner/work/_temp/codeql_databases/javascript/results/codeql/javascript-queries/Security/CWE-915/PrototypePollutingMergeCall.bqrs.
    6275:  Interpreted pathproblem query "Use of password hash with insufficient computational effort" (js/insufficient-password-hash) at path /home/runner/work/_temp/codeql_databases/javascript/results/codeql/javascript-queries/Security/CWE-916/InsufficientPasswordHash.bqrs.
    6276:  Interpreted pathproblem query "Use of externally-controlled format string" (js/tainted-format-string) at path /home/runner/work/_temp/codeql_databases/javascript/results/codeql/javascript-queries/Security/CWE-134/TaintedFormatString.bqrs.
    6277:  Interpreted problem query "Insecure configuration of Helmet security middleware" (js/insecure-helmet-configuration) at path /home/runner/work/_temp/codeql_databases/javascript/results/codeql/javascript-queries/Security/CWE-693/InsecureHelmet.bqrs.
    6278:  Interpreted problem query "Replacement of a substring with itself" (js/identity-replacement) at path /home/runner/work/_temp/codeql_databases/javascript/results/codeql/javascript-queries/RegExp/IdentityReplacement.bqrs.
    6279:  Interpreted diagnostic query "Extraction errors" (js/diagnostics/extraction-errors) at path /home/runner/work/_temp/codeql_databases/javascript/results/codeql/javascript-queries/Diagnostics/ExtractionErrors.bqrs.
    ...
    
    6302:  Validating /home/runner/work/codetypo/results/javascript.sarif
    6303:  Combining SARIF files using the CodeQL CLI
    6304:  Adding fingerprints to SARIF file. See https://docs.github.com/en/enterprise-cloud@latest/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning#providing-data-to-track-code-scanning-alerts-across-runs for more information.
    6305:  Uploading results
    6306:  Successfully uploaded results
    6307:  ##[endgroup]
    6308:  ##[group]Waiting for processing to finish
    6309:  Analysis upload status is pending.
    6310:  Analysis upload status is failed.
    6311:  ##[endgroup]
    6312:  ##[error]Code Scanning could not process the submitted SARIF file:
    6313:  CodeQL analyses from advanced configurations cannot be processed when the default setup is enabled
    6314:  Post job cleanup.
    6315:  ##[group]Uploading combined SARIF debug artifact
    6316:  ##[endgroup]
    6317:  Post job cleanup.
    6318:  [command]/opt/hostedtoolcache/CodeQL/2.20.1/x64/codeql/codeql database export-diagnostics /home/runner/work/_temp/codeql_databases --db-cluster --format=sarif-latest --output=../codeql-failed-run.sarif --sarif-include-diagnostics -vvv
    ...
    
    6328:  Found diagnostics file /home/runner/work/_temp/codeql_databases/javascript/diagnostic/cli-diagnostics-add-20250121T170100.630Z.json.
    6329:  Looking for diagnostics in /home/runner/work/_temp/codeql_databases/javascript/diagnostic/extractors...
    6330:  Looking for diagnostics in /home/runner/work/_temp/codeql_databases/javascript/diagnostic/extractors/javascript...
    6331:  Looking for diagnostics in /home/runner/work/_temp/codeql_databases/javascript/diagnostic/tracer...
    6332:  Won't look for diagnostics in /home/runner/work/_temp/codeql_databases/diagnostic since this directory does not exist.
    6333:  Found 1 raw diagnostic messages.
    6334:  Processed diagnostic messages (removed 0 due to limits, created 0 summary diagnostics for status page).
    6335:  Interpreted diagnostic messages (93ms).
    6336:  Uploading failed SARIF file ../codeql-failed-run.sarif
    6337:  ##[group]Uploading results
    6338:  Processing sarif files: ["../codeql-failed-run.sarif"]
    6339:  Validating ../codeql-failed-run.sarif
    6340:  Combining SARIF files using the CodeQL CLI
    6341:  Adding fingerprints to SARIF file. See https://docs.github.com/en/enterprise-cloud@latest/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning#providing-data-to-track-code-scanning-alerts-across-runs for more information.
    6342:  CodeQL job status was configuration error.
    

    @github-actions github-actions Bot added the documentation Improvements or additions to documentation label Jan 21, 2025

    @coderabbitai coderabbitai Bot left a comment

    Copy link
    Copy Markdown

    Choose a reason for hiding this comment

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

    Actionable comments posted: 15

    🧹 Nitpick comments (30)
    packages/cli/docker/german/Dockerfile (1)

    1-8: Add LABEL metadata for maintainability.

    Consider adding LABEL metadata to provide maintainer information and other relevant details about the image.

    FROM ghcr.io/khulnasoft/codetypo:8.4.1
    
    +LABEL maintainer="CodeTypo Team"
    +LABEL description="CodeTypo CLI with German language support"
    +LABEL version="1.0"
    
    WORKDIR /app
    ENV HOME=/home
    packages/cli/.github/workflows/cspell-action.yml (1)

    1-8: Add concurrency control to optimize workflow runs.

    Consider adding concurrency configuration to cancel outdated workflow runs and optimize GitHub Actions usage.

    name: codetypo-action
    on:
      pull_request:
      push:
        branches:
          - main
      workflow_dispatch:
    
    +concurrency:
    +  group: ${{ github.workflow }}-${{ github.ref }}
    +  cancel-in-progress: true
    packages/cli/.pre-commit-hooks.yaml (1)

    5-9: Consider adding version pinning for the hook.

    To ensure consistent behavior across different environments, consider adding a version specification for the hook.

    - id: codetypo
      name: codetypo
      description: This hook runs CodeTypo spellchecker
      entry: codetypo-cli
    + rev: v1.0.0  # Add specific version
      language: node
    packages/cli/.github/actions/setup/action.yaml (2)

    4-7: Consider adding Node version constraints

    While the default of "18.x" is good, consider adding validation for minimum/maximum supported Node versions to prevent issues with incompatible versions.

       node-version:
         required: false
         description: The version of Node to use.
    +    pattern: "^1[68-9]\.x$|^20\.x$"  # Supports Node 16-20
         default: "18.x"

    17-19: Add error handling for npm version check

    The npm version check could fail silently. Consider adding error handling.

       - name: NPM Version
    -    run: npm -v;
    +    run: npm -v || exit 1;
         shell: bash
    packages/cli/.github/workflows/codeql-analysis.yml (1)

    23-26: Consider increasing fetch-depth for comprehensive analysis

    While 20 commits might be sufficient in most cases, CodeQL benefits from deeper history for better analysis. Consider increasing the fetch depth.

       with:
    -    fetch-depth: 20
    +    fetch-depth: 0  # Fetch full history for better analysis
    packages/cli/static/help-check.txt (2)

    6-7: Fix formatting inconsistency

    There's an extra space after "use." and missing comma after "By default".

    -  Configuration file to use.  By default codetypo
    +  Configuration file to use. By default, codetypo
    🧰 Tools
    🪛 LanguageTool

    [uncategorized] ~6-~6: Did you mean: “By default,”?
    Context: ...typo.json> Configuration file to use. By default codetypo ...

    (BY_DEFAULT_COMMA)


    1-15: Add usage examples section

    The help text would benefit from including common usage examples to help users get started quickly.

    Add an "Examples:" section at the end:

    Examples:
      $ codetypo check README.md
      $ codetypo check --no-color src/**/*.md
      $ codetypo check --config custom-config.json docs/
    
    🧰 Tools
    🪛 LanguageTool

    [uncategorized] ~6-~6: Did you mean: “By default,”?
    Context: ...typo.json> Configuration file to use. By default codetypo ...

    (BY_DEFAULT_COMMA)

    packages/cli/.github/actions/github-app-token/action.yaml (1)

    10-12: Add input validation for private key

    Consider adding pattern validation for the private key format to prevent invalid inputs.

       app_private_key:
         description: Application Private Key used to sign the PR
         required: true
    +    pattern: "^-----BEGIN RSA PRIVATE KEY-----[\\s\\S]*-----END RSA PRIVATE KEY-----$"
    packages/cli/.github/workflows/release-please.yml (1)

    14-54: Add workflow timeouts and concurrency controls

    Consider adding timeout limits and concurrency controls to prevent long-running or conflicting workflow runs.

    Add at the workflow level:

    concurrency:
      group: ${{ github.workflow }}-${{ github.ref }}
      cancel-in-progress: true
    
    jobs:
      release-please:
        timeout-minutes: 15
        # ... rest of the job config
    
      publish:
        timeout-minutes: 15
        # ... rest of the job config
    
      publish-docker:
        timeout-minutes: 30
        # ... rest of the job config
    packages/cli/static/help-trace.txt (1)

    6-7: Minor grammatical improvement needed

    Add a comma after "By default" for better readability.

    -  -c, --config <codetypo.json>  Configuration file to use.  By default codetypo
    +  -c, --config <codetypo.json>  Configuration file to use.  By default, codetypo
    🧰 Tools
    🪛 LanguageTool

    [uncategorized] ~6-~6: Did you mean: “By default,”?
    Context: ...typo.json> Configuration file to use. By default codetypo ...

    (BY_DEFAULT_COMMA)

    packages/cli/.github/workflows/update-dependabot.yml (2)

    14-15: Consider adding more granular permissions

    The workflow currently only has contents: read permission. For creating PRs via the GitHub App token, consider explicitly declaring required permissions.

     permissions:
       contents: read
    +  pull-requests: write

    47-48: Consider adding prettier configuration file

    The workflow uses prettier to format dependabot.yml but doesn't specify a configuration. Consider adding a .prettierrc file to ensure consistent formatting across the project.

    packages/cli/.github/workflows/test.yml (2)

    32-34: Add caching for npm dependencies

    Consider adding caching for npm dependencies to improve workflow execution time.

    +      - name: Cache dependencies
    +        uses: actions/cache@v3
    +        with:
    +          path: ~/.npm
    +          key: npm-${{ runner.os }}-${{ matrix.node-version }}-${{ hashFiles('**/package-lock.json') }}
    +          restore-keys: |
    +            npm-${{ runner.os }}-${{ matrix.node-version }}-
           - run: npm -v
           - run: npm ci --omit=dev
           - run: npm test

    71-72: Consider adding Docker layer caching

    To improve Docker build times in CI, consider using Docker layer caching.

    +      - name: Set up Docker Buildx
    +        uses: docker/setup-buildx-action@v3
    +
    +      - name: Build and cache Docker image
    +        uses: docker/build-push-action@v5
    +        with:
    +          context: .
    +          push: false
    +          load: true
    +          tags: codetypo:latest
    +          cache-from: type=gha
    +          cache-to: type=gha,mode=max
    -      - run: docker build -t codetypo .
           - run: docker run -v $(pwd):/workdir codetypo
    packages/cli/.github/dependabot.yml (1)

    8-32: Consider consolidating duplicate configurations

    The configurations for main and codetypo4 branches are identical except for the target branch. Consider using GitHub's branch protection rules instead of duplicate configurations.

    packages/cli/package.json (2)

    15-19: Consolidate version management scripts.

    Multiple version management scripts with similar functionality could be consolidated into a single script with arguments.

    Consider this alternative approach:

    -    "version-prerelease": "npx version-release -p",
    -    "version-release-minor": "npx standard-version -r minor",
    -    "version-release-patch": "npx standard-version -r patch",
    -    "version-release": "npx standard-version",
    +    "version": "node scripts/version.js"

    Create a new scripts/version.js file that handles all version types through command-line arguments.

    🧰 Tools
    🪛 GitHub Actions: Website - Build and Test

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: codeTypo-cli

    [error] Invalid package.json file structure detected. The file appears to be malformed or contains invalid JSON syntax.

    🪛 GitHub Actions: Lint Docs

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: Test - Build Docs

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: Website - Lint

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: Lint

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Ensure all property names in the JSON file are enclosed in double quotes.

    🪛 GitHub Actions: 🧪 Test

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Ensure all property names in the JSON file are enclosed in double quotes.


    54-55: Pin prettier version for consistency.

    The caret (^) in the prettier version allows for minor version updates which could lead to inconsistent formatting across different environments.

    -    "prettier": "^3.4.2"
    +    "prettier": "3.4.2"
    🧰 Tools
    🪛 GitHub Actions: Website - Build and Test

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: codeTypo-cli

    [error] Invalid package.json file structure detected. The file appears to be malformed or contains invalid JSON syntax.

    🪛 GitHub Actions: Lint Docs

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: Test - Build Docs

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: Website - Lint

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: Lint

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Ensure all property names in the JSON file are enclosed in double quotes.

    🪛 GitHub Actions: 🧪 Test

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Ensure all property names in the JSON file are enclosed in double quotes.

    packages/cli/static/help-suggestions.txt (2)

    6-8: Fix formatting in configuration file description.

    The description contains a double space after the period which is inconsistent with the rest of the documentation.

    -  Configuration file to use.  By default
    +  Configuration file to use. By default
    🧰 Tools
    🪛 LanguageTool

    [uncategorized] ~6-~6: Did you mean: “By default,”?
    Context: ... Configuration file to use. By default ...

    (BY_DEFAULT_COMMA)


    20-22: Improve clarity of --num-suggestions description.

    The description for --num-suggestions could be more descriptive about what kind of suggestions are being limited.

    -  --num-suggestions <number>            Number of suggestions (default: 8)
    +  --num-suggestions <number>            Maximum number of spelling suggestions to return (default: 8)
    packages/cli/docker/german/README.md (1)

    42-57: Add language identifier to code block.

    The code block showing the trace command output is missing a language identifier.

    -```
    +```text
     Word    F Dictionary           Dictionary Location
     ...
    🧰 Tools
    🪛 Markdownlint (0.37.0)

    42-42: null
    Fenced code blocks should have a language specified

    (MD040, fenced-code-language)

    packages/cli/.github/workflows/update-cspell.yml (2)

    19-19: Document the cron schedule.

    Add a comment to explain why the cron job runs at 7:00 UTC daily.

    Apply this diff:

    -    - cron: "0 7 * * *"
    +    # Run daily at 7:00 UTC to catch updates early in the workday
    +    - cron: "0 7 * * *"

    129-139: Add PR labels for better visibility.

    Add labels to the PR to indicate the type of change (fix/feat) and that it's an automated update.

    Apply this diff:

       with:
         commit-message: "${{ env.PR_TYPE }}: ${{ steps.commit_message.outputs.value }}"
         branch: ${{ env.NEW_BRANCH }}
         base: ${{ env.REF_BRANCH }}
         title: "${{ env.PR_TYPE }}: ${{ steps.commit_message.outputs.value }}"
         body: ${{ steps.body.outputs.body }}
    +    labels: |
    +      ${{ env.PR_TYPE }}
    +      automated-pr
    +      dependencies
         app_id: ${{ secrets.AUTOMATION_APP_ID }}
         app_private_key: ${{ secrets.AUTOMATION_PRIVATE_KEY }}
    packages/cli/README.md (3)

    7-9: Add language specifiers to code blocks.

    Add language specifiers to fenced code blocks for better syntax highlighting.

    Apply these changes:

    • Line 7: Add shell to the code block
    • Line 74: Add shell to the code block
    • Line 94: Add text to the code block
    • Line 126: Add text to the code block
    • Line 242: Add text to the code block
    • Line 279: Add text to the code block
    • Line 305: Add text to the code block
    • Line 349: Add text to the code block

    Also applies to: 74-76, 94-96, 126-126, 242-242, 279-279, 305-305, 349-349

    🧰 Tools
    🪛 Markdownlint (0.37.0)

    7-7: null
    Fenced code blocks should have a language specified

    (MD040, fenced-code-language)


    88-88: Fix duplicate heading.

    The "Usage" heading appears twice in the document. Consider renaming the second instance to be more specific.

    Apply this diff:

    -## Usage
    +## Command Reference
    🧰 Tools
    🪛 Markdownlint (0.37.0)

    88-88: null
    Multiple headings with the same content

    (MD024, no-duplicate-heading)


    372-372: Fix grammar in versioning note.

    The phrase "independently from" should be "independently of" for correct grammar.

    Apply this diff:

    -`minor` and `patch` versioning goes up independently from `codetypo`.
    +`minor` and `patch` versioning goes up independently of `codetypo`.
    🧰 Tools
    🪛 LanguageTool

    [grammar] ~372-~372: The usual collocation for “independently” is “of”, not “from”. Did you mean “independently of”?
    Context: ... minor and patch versioning goes up independently from codetypo. Where possible, the minor...

    (INDEPENDENTLY_FROM_OF)

    docs/_includes/generated-docs/README.md (1)

    54-56: Improve grammar in the example installation instruction.

    The sentence structure needs improvement.

    Apply this change:

    -Example install: `npm install -g git+https://github.com/khulnasoft/codetypo`.
    +Example installation command: `npm install -g git+https://github.com/khulnasoft/codetypo`
    🧰 Tools
    🪛 LanguageTool

    [grammar] ~56-~56: There seems to be a noun/verb agreement error. Did you mean “installs” or “installed”?
    Context: ...etypodirectly from GitHub. Example install:npm install -g git+https://github.com...

    (SINGULAR_NOUN_VERB_AGREEMENT)

    packages/cli/SECURITY.md (1)

    13-17: Improve clarity in vulnerability reporting instructions.

    The current structure presents two reporting methods without clear prioritization, which might confuse users about which method to use first.

    Apply this change to clarify the reporting hierarchy:

    -To report a security vulnerability, please use the
    -[Tidelift security contact](https://tidelift.com/security).
    -Tidelift will coordinate the fix and disclosure.
    -
    -or send an email to [security@khulnasoft.com](mailto:security@khulnasoft.com)
    +To report a security vulnerability, please:
    +
    +1. Use the [Tidelift security contact](https://tidelift.com/security) (preferred method)
    +   Tidelift will coordinate the fix and disclosure.
    +
    +2. Alternatively, send an email to [security@khulnasoft.com](mailto:security@khulnasoft.com)
    🧰 Tools
    🪛 LanguageTool

    [style] ~17-~17: Consider using “email”.
    Context: ... coordinate the fix and disclosure. or send an email to [security@khulnasoft.com](mailto:securi...

    (SEND_AN_EMAIL)

    packages/cli/static/help-lint.txt (1)

    23-24: Improve formatting consistency in configuration description.

    The text needs consistent punctuation and spacing.

    Apply this change:

    -  -c, --config <codetypo.json>   Configuration file to use.  By default codetypo
    -                               looks for codetypo.json in the current directory.
    +  -c, --config <codetypo.json>   Configuration file to use. By default, codetypo
    +                               looks for codetypo.json in the current directory
    🧰 Tools
    🪛 LanguageTool

    [uncategorized] ~23-~23: Did you mean: “By default,”?
    Context: ...ypo.json> Configuration file to use. By default codetypo ...

    (BY_DEFAULT_COMMA)

    README.md (1)

    58-58: Consider adding a version tag to the installation command.

    While the updated repository link is correct, consider adding a version tag for stability:

    -npm install -g git+https://github.com/khulnasoft/codetypo
    +npm install -g git+https://github.com/khulnasoft/codetypo#v8.0.0

    This ensures users install a stable, tested version rather than the latest potentially unstable commit.

    🧰 Tools
    🪛 LanguageTool

    [grammar] ~58-~58: There seems to be a noun/verb agreement error. Did you mean “installs” or “installed”?
    Context: ...etypodirectly from GitHub. Example install:npm install -g git+https://github.com...

    (SINGULAR_NOUN_VERB_AGREEMENT)

    📜 Review details

    Configuration used: CodeRabbit UI
    Review profile: CHILL
    Plan: Pro

    📥 Commits

    Reviewing files that changed from the base of the PR and between 1591d5d and b5fce51.

    ⛔ Files ignored due to path filters (4)
    • .DS_Store is excluded by !**/.DS_Store
    • docs/.DS_Store is excluded by !**/.DS_Store
    • packages/.DS_Store is excluded by !**/.DS_Store
    • test-packages/.DS_Store is excluded by !**/.DS_Store
    📒 Files selected for processing (44)
    • README.md (1 hunks)
    • codetypo.config.yaml (1 hunks)
    • docs/_includes/generated-docs/README.md (1 hunks)
    • package.json (1 hunks)
    • packages/cli/.editorconfig (1 hunks)
    • packages/cli/.github/FUNDING.yml (1 hunks)
    • packages/cli/.github/actions/github-app-token/action.yaml (1 hunks)
    • packages/cli/.github/actions/pr/action.yaml (1 hunks)
    • packages/cli/.github/actions/setup/action.yaml (1 hunks)
    • packages/cli/.github/dependabot.yml (1 hunks)
    • packages/cli/.github/release.yml (1 hunks)
    • packages/cli/.github/workflows/codeql-analysis.yml (1 hunks)
    • packages/cli/.github/workflows/cspell-action.yml (1 hunks)
    • packages/cli/.github/workflows/publish-docker-image.yml (1 hunks)
    • packages/cli/.github/workflows/release-please.yml (1 hunks)
    • packages/cli/.github/workflows/test.yml (1 hunks)
    • packages/cli/.github/workflows/update-cspell.yml (1 hunks)
    • packages/cli/.github/workflows/update-dependabot.yml (1 hunks)
    • packages/cli/.github/workflows/update-dependencies.yml (1 hunks)
    • packages/cli/.gitignore (1 hunks)
    • packages/cli/.pre-commit-hooks.yaml (1 hunks)
    • packages/cli/.prettierignore (1 hunks)
    • packages/cli/.release-please-manifest.json (1 hunks)
    • packages/cli/Dockerfile (1 hunks)
    • packages/cli/LICENSE (1 hunks)
    • packages/cli/README.md (1 hunks)
    • packages/cli/SECURITY.md (1 hunks)
    • packages/cli/codetypo.json (1 hunks)
    • packages/cli/docker/german/Dockerfile (1 hunks)
    • packages/cli/docker/german/README.md (1 hunks)
    • packages/cli/docker/german/codetypo.config.yaml (1 hunks)
    • packages/cli/index.js (1 hunks)
    • packages/cli/package.json (1 hunks)
    • packages/cli/release-please-config.json (1 hunks)
    • packages/cli/static/help-check.txt (1 hunks)
    • packages/cli/static/help-link.txt (1 hunks)
    • packages/cli/static/help-lint.txt (1 hunks)
    • packages/cli/static/help-suggestions.txt (1 hunks)
    • packages/cli/static/help-trace.txt (1 hunks)
    • packages/cli/static/help.txt (1 hunks)
    • packages/codetypo/README.md (1 hunks)
    • test-packages/codetypo/test-codetypo-cli/package.json (1 hunks)
    • test-packages/codetypo/test-codetypo-esm-reporter/package.json (1 hunks)
    • website/src/pages/index.md (1 hunks)
    ✅ Files skipped from review due to trivial changes (13)
    • packages/cli/.prettierignore
    • packages/cli/LICENSE
    • packages/cli/index.js
    • packages/cli/.release-please-manifest.json
    • packages/cli/.github/release.yml
    • packages/cli/.github/FUNDING.yml
    • packages/cli/.editorconfig
    • packages/cli/codetypo.json
    • packages/cli/.gitignore
    • packages/codetypo/README.md
    • test-packages/codetypo/test-codetypo-cli/package.json
    • packages/cli/release-please-config.json
    • test-packages/codetypo/test-codetypo-esm-reporter/package.json
    🧰 Additional context used
    🪛 LanguageTool
    packages/cli/static/help-check.txt

    [uncategorized] ~6-~6: Did you mean: “By default,”?
    Context: ...typo.json> Configuration file to use. By default codetypo ...

    (BY_DEFAULT_COMMA)

    packages/cli/static/help-trace.txt

    [uncategorized] ~6-~6: Did you mean: “By default,”?
    Context: ...typo.json> Configuration file to use. By default codetypo ...

    (BY_DEFAULT_COMMA)


    [uncategorized] ~21-~21: Although a hyphen is possible, it is not necessary in a compound modifier in which the first word is an adverb that ends in ‘ly’.
    Context: ... Show all dictionaries. --only-found Show only dictionaries t...

    (HYPHENATED_LY_ADVERB_ADJECTIVE)


    [uncategorized] ~23-~23: Possible missing comma found.
    Context: ... Force color. --no-color Turn off color. --no...

    (AI_HYDRA_LEO_MISSING_COMMA)

    packages/cli/static/help-suggestions.txt

    [uncategorized] ~6-~6: Did you mean: “By default,”?
    Context: ... Configuration file to use. By default ...

    (BY_DEFAULT_COMMA)


    [duplication] ~24-~24: Possible typo: you repeated a word.
    Context: ... Use stdin for input. --repl REPL interface for looking up ...

    (ENGLISH_WORD_REPEAT_RULE)

    docs/_includes/generated-docs/README.md

    [grammar] ~56-~56: There seems to be a noun/verb agreement error. Did you mean “installs” or “installed”?
    Context: ...etypodirectly from GitHub. Example install:npm install -g git+https://github.com...

    (SINGULAR_NOUN_VERB_AGREEMENT)

    packages/cli/README.md

    [uncategorized] ~90-~90: Loose punctuation mark.
    Context: .../README.md) ## Usage codetypo --help: <!--- @@Inject: static/help.txt ---> ...

    (UNLIKELY_OPENING_PUNCTUATION)


    [uncategorized] ~122-~122: Loose punctuation mark.
    Context: ...default command. codetypo lint --help: <!--- @@Inject: static/help-lint.txt -...

    (UNLIKELY_OPENING_PUNCTUATION)


    [uncategorized] ~238-~238: Loose punctuation mark.
    Context: ...---> ### Trace codetypo trace --help: <!--- @@Inject: static/help-trace.txt ...

    (UNLIKELY_OPENING_PUNCTUATION)


    [uncategorized] ~275-~275: Loose punctuation mark.
    Context: ...---> ### Check codetypo check --help: <!--- @@Inject: static/help-check.txt ...

    (UNLIKELY_OPENING_PUNCTUATION)


    [uncategorized] ~301-~301: Loose punctuation mark.
    Context: ...ggestions codetypo suggestions --help: <!--- @@Inject: static/help-suggestion...

    (UNLIKELY_OPENING_PUNCTUATION)


    [uncategorized] ~345-~345: Loose punctuation mark.
    Context: ...t ---> ### Link codetypo link --help: <!--- @@Inject: static/help-link.txt -...

    (UNLIKELY_OPENING_PUNCTUATION)


    [grammar] ~372-~372: The usual collocation for “independently” is “of”, not “from”. Did you mean “independently of”?
    Context: ... minor and patch versioning goes up independently from codetypo. Where possible, the minor...

    (INDEPENDENTLY_FROM_OF)

    website/src/pages/index.md

    [grammar] ~63-~63: There seems to be a noun/verb agreement error. Did you mean “installs” or “installed”?
    Context: ...etypodirectly from GitHub. Example install:npm install -g git+https://github.com...

    (SINGULAR_NOUN_VERB_AGREEMENT)

    README.md

    [grammar] ~58-~58: There seems to be a noun/verb agreement error. Did you mean “installs” or “installed”?
    Context: ...etypodirectly from GitHub. Example install:npm install -g git+https://github.com...

    (SINGULAR_NOUN_VERB_AGREEMENT)

    packages/cli/SECURITY.md

    [style] ~17-~17: Consider using “email”.
    Context: ... coordinate the fix and disclosure. or send an email to [security@khulnasoft.com](mailto:securi...

    (SEND_AN_EMAIL)

    packages/cli/static/help-link.txt

    [uncategorized] ~10-~10: “any” seems less likely than “and” (in addition to, following this).
    Context: ...d|a <dictionaries...> Add dictionaries any other settings to the codetypo ...

    (AI_HYDRA_LEO_CP_ANY_AND)

    packages/cli/static/help-lint.txt

    [grammar] ~18-~18: You can use the subjunctive mood in this context.
    Context: ...//docs/doc.md Check stdin as if it was "./docs/doc.md" Check spelling Option...

    (SUBJUNCTIVE_MOOD)


    [uncategorized] ~23-~23: Did you mean: “By default,”?
    Context: ...ypo.json> Configuration file to use. By default codetypo ...

    (BY_DEFAULT_COMMA)


    [grammar] ~31-~31: The negated form ‘not’ seems to be incomplete.
    Context: ...y Only output the words not found in the ...

    (DT_NN_NOT_VB)


    [uncategorized] ~33-~33: Possible missing comma found.
    Context: ... dictionaries. -u, --unique Only output the first i...

    (AI_HYDRA_LEO_MISSING_COMMA)


    [duplication] ~46-~46: Possible typo: you repeated a word.
    Context: ...off summary message in console. -s, --silent Silent mode, suppress error messages. --no-e...

    (ENGLISH_WORD_REPEAT_RULE)


    [uncategorized] ~69-~69: Possible missing comma found.
    Context: ... .gitignore files. --no-gitignore Do NOT use .gitignore fil...

    (AI_HYDRA_LEO_MISSING_COMMA)


    [uncategorized] ~73-~73: Possible missing comma found.
    Context: ... Force color. --no-color Turn off color. --n...

    (AI_HYDRA_LEO_MISSING_COMMA)

    packages/cli/static/help.txt

    [duplication] ~17-~17: Possible typo: you repeated a word.
    Context: ......] Spelling Suggestions for words. link Link dictionaries and other settings to ...

    (ENGLISH_WORD_REPEAT_RULE)

    🪛 GitHub Actions: Website - Build and Test
    package.json

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    packages/cli/package.json

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: codeTypo-cli
    package.json

    [error] Invalid package.json file structure detected. The file appears to be malformed or contains invalid JSON syntax.

    packages/cli/package.json

    [error] Invalid package.json file structure detected. The file appears to be malformed or contains invalid JSON syntax.

    🪛 GitHub Actions: Lint Docs
    package.json

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    packages/cli/package.json

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: Test - Build Docs
    package.json

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    packages/cli/package.json

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: Website - Lint
    package.json

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    packages/cli/package.json

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: Lint
    package.json

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Ensure all property names in the JSON file are enclosed in double quotes.

    packages/cli/package.json

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Ensure all property names in the JSON file are enclosed in double quotes.

    🪛 GitHub Actions: 🧪 Test
    package.json

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Ensure all property names in the JSON file are enclosed in double quotes.

    packages/cli/package.json

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Ensure all property names in the JSON file are enclosed in double quotes.

    🪛 Markdownlint (0.37.0)
    packages/cli/docker/german/README.md

    42-42: null
    Fenced code blocks should have a language specified

    (MD040, fenced-code-language)

    packages/cli/README.md

    88-88: null
    Multiple headings with the same content

    (MD024, no-duplicate-heading)


    7-7: null
    Fenced code blocks should have a language specified

    (MD040, fenced-code-language)


    74-74: null
    Fenced code blocks should have a language specified

    (MD040, fenced-code-language)


    94-94: null
    Fenced code blocks should have a language specified

    (MD040, fenced-code-language)


    126-126: null
    Fenced code blocks should have a language specified

    (MD040, fenced-code-language)


    242-242: null
    Fenced code blocks should have a language specified

    (MD040, fenced-code-language)


    279-279: null
    Fenced code blocks should have a language specified

    (MD040, fenced-code-language)


    305-305: null
    Fenced code blocks should have a language specified

    (MD040, fenced-code-language)


    349-349: null
    Fenced code blocks should have a language specified

    (MD040, fenced-code-language)

    🔇 Additional comments (14)
    packages/cli/docker/german/codetypo.config.yaml (1)

    1-3: LGTM! Configuration looks good.

    The YAML configuration is valid and properly structured. The language codes follow ISO standards, and the addition of 'workdir' to recognized words aligns with the Docker configurations.

    packages/cli/.github/actions/github-app-token/action.yaml (1)

    20-20: LGTM! Good security practice

    Using a specific commit hash for the external action is a good security practice to prevent supply chain attacks.

    packages/cli/static/help-trace.txt (1)

    1-26: LGTM! Well-structured help documentation.

    The help documentation is comprehensive and follows standard CLI conventions. The command options are well-organized with clear descriptions.

    🧰 Tools
    🪛 LanguageTool

    [uncategorized] ~6-~6: Did you mean: “By default,”?
    Context: ...typo.json> Configuration file to use. By default codetypo ...

    (BY_DEFAULT_COMMA)


    [uncategorized] ~21-~21: Although a hyphen is possible, it is not necessary in a compound modifier in which the first word is an adverb that ends in ‘ly’.
    Context: ... Show all dictionaries. --only-found Show only dictionaries t...

    (HYPHENATED_LY_ADVERB_ADJECTIVE)


    [uncategorized] ~23-~23: Possible missing comma found.
    Context: ... Force color. --no-color Turn off color. --no...

    (AI_HYDRA_LEO_MISSING_COMMA)

    codetypo.config.yaml (1)

    49-49: LGTM! Word list update aligns with repository changes.

    The addition of "khulnasoft" to the word list is consistent with the repository consolidation changes.

    packages/cli/package.json (1)

    27-27: Enhance test coverage.

    The test script "test": "node ./index.js ." appears to be a minimal smoke test. Consider adding comprehensive test coverage including unit tests, integration tests, and end-to-end tests.

    Would you like me to help set up a more comprehensive test suite with Jest or another testing framework of your choice?

    🧰 Tools
    🪛 GitHub Actions: Website - Build and Test

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: codeTypo-cli

    [error] Invalid package.json file structure detected. The file appears to be malformed or contains invalid JSON syntax.

    🪛 GitHub Actions: Lint Docs

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: Test - Build Docs

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: Website - Lint

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: Lint

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Ensure all property names in the JSON file are enclosed in double quotes.

    🪛 GitHub Actions: 🧪 Test

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Ensure all property names in the JSON file are enclosed in double quotes.

    packages/cli/.github/actions/pr/action.yaml (1)

    60-60: Pin action to specific commit hash.

    Good practice! The action is correctly pinned to a specific commit hash rather than using a floating tag.

    packages/cli/docker/german/README.md (1)

    15-15: Pin package version for reproducible builds.

    The German dictionary package is pinned to a specific version which is good for reproducible builds.

    packages/cli/.github/workflows/update-dependencies.yml (1)

    23-23: Good security practice: Owner check.

    The job correctly checks the repository owner before running, preventing unauthorized execution.

    packages/cli/.github/workflows/publish-docker-image.yml (2)

    1-4: LGTM! Following GitHub's security best practices.

    The workflow follows the recommended practice of pinning actions to specific commit SHAs for security.


    45-49: LGTM! Secure container registry authentication.

    The workflow correctly uses Docker's login-action with GitHub's token for secure authentication.

    package.json (1)

    25-25: LGTM! Script path updated correctly.

    The script path has been updated to use the new generator location.

    🧰 Tools
    🪛 GitHub Actions: Website - Build and Test

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: codeTypo-cli

    [error] Invalid package.json file structure detected. The file appears to be malformed or contains invalid JSON syntax.

    🪛 GitHub Actions: Lint Docs

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: Test - Build Docs

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: Website - Lint

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: Lint

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Ensure all property names in the JSON file are enclosed in double quotes.

    🪛 GitHub Actions: 🧪 Test

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Ensure all property names in the JSON file are enclosed in double quotes.

    packages/cli/static/help.txt (1)

    1-19: LGTM! Well-structured command documentation.

    The help text provides clear and comprehensive documentation of the available commands and options.

    🧰 Tools
    🪛 LanguageTool

    [duplication] ~17-~17: Possible typo: you repeated a word.
    Context: ......] Spelling Suggestions for words. link Link dictionaries and other settings to ...

    (ENGLISH_WORD_REPEAT_RULE)

    packages/cli/static/help-lint.txt (1)

    103-106: LGTM! Clear reference links.

    The reference links are properly formatted and point to the correct resources.

    README.md (1)

    56-56: LGTM! Repository link updated correctly.

    The link update aligns with the repository consolidation effort.

    Let's verify the consistency of this link update across documentation:

    ✅ Verification successful

    Repository links are consistently updated across all documentation

    All references to the codetypo-cli repository have been correctly updated to point to https://github.com/khulnasoft/codetypo in:

    • README.md
    • website/src/pages/index.md
    • docs/_includes/generated-docs/README.md
    🏁 Scripts executed

    The following scripts were executed for the analysis:

    Script:

    #!/bin/bash
    # Search for any remaining references to the old repository
    rg -i "codetypo-cli" --type md
    

    Length of output: 1574


    Script:

    #!/bin/bash
    # Check the exact URLs in documentation files
    rg -A 1 "codetypo-cli.*https" --type md
    

    Length of output: 600

    Comment on lines +5 to +6
    RUN npm install @codetypo/dict-de-de@3.2.0
    RUN codetypo-cli link add @codetypo/dict-de-de

    Copy link
    Copy Markdown

    Choose a reason for hiding this comment

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

    💡 Codebase verification

    Update German dictionary package to latest version

    The German dictionary package @codetypo/dict-de-de should be updated from version 3.2.0 to 4.0.3, which is the latest version available in the repository.

    🔗 Analysis chain

    Verify the German dictionary package version.

    The German dictionary package is pinned to version 3.2.0. Let's verify if this is the latest stable version and check for any security advisories.

    🏁 Scripts executed

    The following scripts were executed for the analysis:

    Script:

    #!/bin/bash
    # Check npm registry for latest version and security advisories
    npm view @codetypo/dict-de-de versions --json
    npm audit @codetypo/dict-de-de@3.2.0
    

    Length of output: 1146


    Script:

    #!/bin/bash
    # Search for package.json files
    fd package.json
    
    # Look for any documentation about package sources
    fd -e md -e txt | xargs rg -l "codetypo|dict-de-de"
    
    # Check package.json contents for registry or repository information
    fd package.json -x cat {}
    

    Length of output: 68628


    Script:

    #!/bin/bash
    # Check the German dictionary's package.json
    cat dictionaries/de_DE/package.json
    

    Length of output: 1902

    Comment thread packages/cli/Dockerfile
    ENV HOME=/home
    COPY package-lock.json package.json index.js ./
    RUN npm ci --omit=dev
    RUN npm install --location=global

    Copy link
    Copy Markdown

    Choose a reason for hiding this comment

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

    ⚠️ Potential issue

    Verify global installation approach.

    The global installation command lacks a specific package reference. This might lead to unexpected behavior.

    -RUN npm install --location=global
    +RUN npm install --location=global codetypo-cli@latest
    📝 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.

    Suggested change
    RUN npm install --location=global
    RUN npm install --location=global codetypo-cli@latest

    Comment thread packages/cli/Dockerfile
    Comment on lines +1 to +7
    FROM node:18-alpine

    WORKDIR /app
    ENV HOME=/home
    COPY package-lock.json package.json index.js ./
    RUN npm ci --omit=dev
    RUN npm install --location=global

    Copy link
    Copy Markdown

    Choose a reason for hiding this comment

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

    🛠️ Refactor suggestion

    Consider security and optimization improvements.

    A few suggestions to enhance the Dockerfile:

    1. Use non-root user for better security
    2. Add .dockerignore to exclude unnecessary files
    3. Consider multi-stage build to reduce final image size
    FROM node:18-alpine
    
    +# Add .dockerignore file to exclude node_modules, .git, etc.
    +
    +# Create non-root user
    +RUN addgroup -S codetypo && adduser -S codetypo -G codetypo
    WORKDIR /app
    ENV HOME=/home
    COPY package-lock.json package.json index.js ./
    +# Set correct ownership
    +RUN chown -R codetypo:codetypo /app
    +USER codetypo
    RUN npm ci --omit=dev
    -RUN npm install --location=global
    +RUN npm install --location=global --unsafe-perm
    📝 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.

    Suggested change
    FROM node:18-alpine
    WORKDIR /app
    ENV HOME=/home
    COPY package-lock.json package.json index.js ./
    RUN npm ci --omit=dev
    RUN npm install --location=global
    FROM node:18-alpine
    # Add .dockerignore file to exclude node_modules, .git, etc.
    # Create non-root user
    RUN addgroup -S codetypo && adduser -S codetypo -G codetypo
    WORKDIR /app
    ENV HOME=/home
    COPY package-lock.json package.json index.js ./
    # Set correct ownership
    RUN chown -R codetypo:codetypo /app
    USER codetypo
    RUN npm ci --omit=dev
    RUN npm install --location=global --unsafe-perm

    Comment on lines +13 to +14
    - uses: actions/checkout@v4
    - uses: khulnasoft/codetypo-action@v6

    Copy link
    Copy Markdown

    Choose a reason for hiding this comment

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

    🛠️ Refactor suggestion

    Pin the action versions to SHA for security.

    Using version tags for actions can be a security risk. Consider pinning to specific commit SHAs.

    -      - uses: actions/checkout@v4
    -      - uses: khulnasoft/codetypo-action@v6
    +      - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
    +      - uses: khulnasoft/codetypo-action@5c2a8e2c7c0d32d51425b72d5224c0eb8326d664 # v6
    📝 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.

    Suggested change
    - uses: actions/checkout@v4
    - uses: khulnasoft/codetypo-action@v6
    - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
    - uses: khulnasoft/codetypo-action@5c2a8e2c7c0d32d51425b72d5224c0eb8326d664 # v6

    Comment on lines +28 to +31
    - name: Initialize CodeQL
    uses: github/codeql-action/init@v3
    with:
    languages: "javascript"

    Copy link
    Copy Markdown

    Choose a reason for hiding this comment

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

    🛠️ Refactor suggestion

    Consider adding TypeScript language support

    Since this is a TypeScript-related PR (based on the PR title "Typescripts"), consider adding TypeScript to the languages analyzed.

       with:
    -    languages: "javascript"
    +    languages: "javascript,typescript"
    📝 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.

    Suggested change
    - name: Initialize CodeQL
    uses: github/codeql-action/init@v3
    with:
    languages: "javascript"
    - name: Initialize CodeQL
    uses: github/codeql-action/init@v3
    with:
    languages: "javascript,typescript"

    Comment on lines +41 to +42
    export CODETYPO_VERSION=$(jq -r ".dependencies.codetypo | sub(\"[_^]\"; \"\")" package.json)
    echo CODETYPO_VERSION=$CODETYPO_VERSION >> $GITHUB_ENV

    Copy link
    Copy Markdown

    Choose a reason for hiding this comment

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

    🛠️ Refactor suggestion

    Add version validation.

    The version extraction from package.json should include validation to ensure the version exists and follows semantic versioning.

    Apply this diff to add version validation:

    -export CODETYPO_VERSION=$(jq -r ".dependencies.codetypo | sub(\"[_^]\"; \"\")" package.json)
    -echo CODETYPO_VERSION=$CODETYPO_VERSION >> $GITHUB_ENV
    +VERSION=$(jq -r ".dependencies.codetypo | sub(\"[_^]\"; \"\")" package.json)
    +if [[ ! $VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ ]]; then
    +  echo "Error: Invalid version format: $VERSION"
    +  exit 1
    +fi
    +echo CODETYPO_VERSION=$VERSION >> $GITHUB_ENV
    📝 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.

    Suggested change
    export CODETYPO_VERSION=$(jq -r ".dependencies.codetypo | sub(\"[_^]\"; \"\")" package.json)
    echo CODETYPO_VERSION=$CODETYPO_VERSION >> $GITHUB_ENV
    VERSION=$(jq -r ".dependencies.codetypo | sub(\"[_^]\"; \"\")" package.json)
    if [[ ! $VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$ ]]; then
    echo "Error: Invalid version format: $VERSION"
    exit 1
    fi
    echo CODETYPO_VERSION=$VERSION >> $GITHUB_ENV

    Comment on lines +61 to +62
    echo CODETYPO_MINOR_OLD=$(echo '"${{ env.CODETYPO_VERSION_OLD }}"' | jq 'sub("\\.[0-9]+$";"")') >> $GITHUB_ENV
    echo CODETYPO_MINOR_NEW=$(echo '"${{ env.CODETYPO_VERSION }}"' | jq 'sub("\\.[0-9]+$";"")') >> $GITHUB_ENV

    Copy link
    Copy Markdown

    Choose a reason for hiding this comment

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

    🛠️ Refactor suggestion

    Add version change validation.

    The version comparison should validate that the new version is greater than the old version.

    Apply this diff:

    -echo CODETYPO_MINOR_OLD=$(echo '"${{ env.CODETYPO_VERSION_OLD }}"' | jq 'sub("\\.[0-9]+$";"")') >> $GITHUB_ENV
    -echo CODETYPO_MINOR_NEW=$(echo '"${{ env.CODETYPO_VERSION }}"' | jq 'sub("\\.[0-9]+$";"")') >> $GITHUB_ENV
    +# Extract and validate versions
    +OLD_VER=${{ env.CODETYPO_VERSION_OLD }}
    +NEW_VER=${{ env.CODETYPO_VERSION }}
    +if ! dpkg --compare-versions "$NEW_VER" gt "$OLD_VER"; then
    +  echo "Error: New version ($NEW_VER) is not greater than old version ($OLD_VER)"
    +  exit 1
    +fi
    +echo CODETYPO_MINOR_OLD=$(echo "\"$OLD_VER\"" | jq 'sub("\\.[0-9]+$";"")') >> $GITHUB_ENV
    +echo CODETYPO_MINOR_NEW=$(echo "\"$NEW_VER\"" | jq 'sub("\\.[0-9]+$";"")') >> $GITHUB_ENV
    📝 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.

    Suggested change
    echo CODETYPO_MINOR_OLD=$(echo '"${{ env.CODETYPO_VERSION_OLD }}"' | jq 'sub("\\.[0-9]+$";"")') >> $GITHUB_ENV
    echo CODETYPO_MINOR_NEW=$(echo '"${{ env.CODETYPO_VERSION }}"' | jq 'sub("\\.[0-9]+$";"")') >> $GITHUB_ENV
    # Extract and validate versions
    OLD_VER=${{ env.CODETYPO_VERSION_OLD }}
    NEW_VER=${{ env.CODETYPO_VERSION }}
    if ! dpkg --compare-versions "$NEW_VER" gt "$OLD_VER"; then
    echo "Error: New version ($NEW_VER) is not greater than old version ($OLD_VER)"
    exit 1
    fi
    echo CODETYPO_MINOR_OLD=$(echo "\"$OLD_VER\"" | jq 'sub("\\.[0-9]+$";"")') >> $GITHUB_ENV
    echo CODETYPO_MINOR_NEW=$(echo "\"$NEW_VER\"" | jq 'sub("\\.[0-9]+$";"")') >> $GITHUB_ENV

    Comment on lines +61 to +63
    - [codetypo-cli](https://github.com/khulnasoft/codetypo) -- `codetypo-cli` is useful for including `codetypo` directly from GitHub.

    Example install: `npm install -g git+https://github.com/khulnasoft/codetypo-cli`.
    Example install: `npm install -g git+https://github.com/khulnasoft/codetypo`.

    Copy link
    Copy Markdown

    Choose a reason for hiding this comment

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

    💡 Codebase verification

    Documentation needs updates for the installation command

    The current installation command has issues:

    • It uses a git URL instead of the published npm package name
    • The binary name in the documentation (codetypo) doesn't match the actual binary name (codetypo-cli)

    The correct installation command should be:

    npm install -g codetypo-cli
    
    🔗 Analysis chain

    Verify the installation command works with the new repository structure.

    The installation command has been updated to point to the new repository location. Let's verify that the command works correctly.

    Run the following script to verify the installation command:

    🏁 Scripts executed

    The following scripts were executed for the analysis:

    Script:

    #!/bin/bash
    # Description: Verify that the package can be installed from the new repository location.
    
    # Test: Check if package.json exists in the expected location
    if ! fd -t f "package.json" packages/cli/; then
      echo "Error: package.json not found in packages/cli/"
      exit 1
    fi
    
    # Test: Check if the package has the correct name and bin entries
    jq -e '.name == "codetypo-cli" and .bin and .bin.codetypo' packages/cli/package.json > /dev/null
    

    Length of output: 149


    Script:

    #!/bin/bash
    # Display relevant package.json fields and verify binary
    echo "=== Package.json contents ==="
    jq '{name, version, bin, repository, main}' packages/cli/package.json
    
    echo -e "\n=== Binary file check ==="
    # Get binary path from package.json and check if it exists
    BINARY_PATH=$(jq -r '.bin.codetypo' packages/cli/package.json)
    if [ -n "$BINARY_PATH" ]; then
      echo "Binary path from package.json: $BINARY_PATH"
      # Check if the file exists relative to package.json location
      if [ -f "packages/cli/$BINARY_PATH" ]; then
        echo "Binary file exists"
      else
        echo "Binary file not found"
      fi
    else
      echo "Binary path not defined in package.json"
    fi
    

    Length of output: 708


    Script:

    #!/bin/bash
    # Check if the binary file exists and has correct permissions
    echo "=== Binary file check ==="
    if [ -f "packages/cli/index.js" ]; then
      echo "Binary file exists"
      ls -l packages/cli/index.js
    else
      echo "Binary file not found"
    fi
    
    # Show the actual package name for npm install
    echo -e "\n=== Package name from package.json ==="
    jq -r '.name' packages/cli/package.json
    

    Length of output: 387

    🧰 Tools
    🪛 LanguageTool

    [grammar] ~63-~63: There seems to be a noun/verb agreement error. Did you mean “installs” or “installed”?
    Context: ...etypodirectly from GitHub. Example install:npm install -g git+https://github.com...

    (SINGULAR_NOUN_VERB_AGREEMENT)

    Comment thread package.json
    "create-dictionary": "node ./generator-codetypo-dicts/run.js",
    "#update-dictionaries": "# Update dictionaries will run the update-dictionary script in each dictionary package.",
    "update-dictionaries": "pnpm -r run --stream --workspace-concurrency 2 update-dictionary",
    "update:contributors": "update-contributors $(gh auth token)",,

    Copy link
    Copy Markdown

    Choose a reason for hiding this comment

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

    ⚠️ Potential issue

    Fix JSON syntax error causing pipeline failures.

    There is an extra comma after "update:contributors" script that is causing JSON syntax errors and pipeline failures.

    Apply this diff to fix the syntax error:

    -    "update:contributors": "update-contributors $(gh auth token)",,
    +    "update:contributors": "update-contributors $(gh auth token)",
    📝 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.

    Suggested change
    "update:contributors": "update-contributors $(gh auth token)",,
    "update:contributors": "update-contributors $(gh auth token)",
    🧰 Tools
    🪛 Biome (1.9.4)

    [error] 28-28: Expected a property but instead found ','.

    Expected a property here.

    (parse)

    🪛 GitHub Actions: Website - Build and Test

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: codeTypo-cli

    [error] Invalid package.json file structure detected. The file appears to be malformed or contains invalid JSON syntax.

    🪛 GitHub Actions: Lint Docs

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: Test - Build Docs

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: Website - Lint

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Property names in JSON must be enclosed in double quotes.

    🪛 GitHub Actions: Lint

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Ensure all property names in the JSON file are enclosed in double quotes.

    🪛 GitHub Actions: 🧪 Test

    [error] JSON syntax error: Expected double-quoted property name at position 1612. Ensure all property names in the JSON file are enclosed in double quotes.

    Comment on lines +10 to +11
    add|a <dictionaries...> Add dictionaries any other settings to the codetypo
    global config.

    Copy link
    Copy Markdown

    Choose a reason for hiding this comment

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

    ⚠️ Potential issue

    Fix grammatical error in command description.

    The description has a missing conjunction.

    Apply this change:

    -  add|a <dictionaries...>  Add dictionaries any other settings to the codetypo
    +  add|a <dictionaries...>  Add dictionaries and other settings to the codetypo
    📝 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.

    Suggested change
    add|a <dictionaries...> Add dictionaries any other settings to the codetypo
    global config.
    add|a <dictionaries...> Add dictionaries and other settings to the codetypo
    global config.
    🧰 Tools
    🪛 LanguageTool

    [uncategorized] ~10-~10: “any” seems less likely than “and” (in addition to, following this).
    Context: ...d|a <dictionaries...> Add dictionaries any other settings to the codetypo ...

    (AI_HYDRA_LEO_CP_ANY_AND)

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

    Labels

    documentation Improvements or additions to documentation

    Projects

    None yet

    Development

    Successfully merging this pull request may close these issues.

    1 participant