Skip to content

Conversation

@google-labs-jules
Copy link
Contributor

This change updates the spellcheck GitHub action to use a dynamic spell_check_this parameter and the correct repository owner, as requested by the user.

vinod0m and others added 8 commits August 20, 2025 17:17
…om environment values

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…ain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…ain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…ain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…ain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…ain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…ain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
This commit updates the spellcheck GitHub action to align with the configuration from `SoftwareDevLabs/SDLC_core`.

Key changes:
- Replaced the hardcoded `microsoft/terminal@main` with `${{ github.repository }}@${{ github.ref }}` to check the current repository.
- Updated the `if` and `with` conditions to use the correct repository owner (`SoftwareDevLabs`).
- Kept the `ssh_key` commented out as requested.
@vinod0m vinod0m requested review from Copilot and vinod0m and removed request for Copilot August 20, 2025 21:42

This comment was marked as outdated.

vinod0m and others added 5 commits August 20, 2025 23:43
…tain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@vinod0m vinod0m requested a review from Copilot August 20, 2025 21:45

This comment was marked as outdated.

@@ -1,56 +1,96 @@
# DeepAgent usage
# DeepAgent Usage

Check failure

Code scanning / check-spelling

Check File Path Error documentation

deepagent is not a recognized word. (check-file-path)
@@ -0,0 +1,71 @@
"""

Check failure

Code scanning / check-spelling

Check File Path Error

deepagent is not a recognized word. (check-file-path)
@github-actions

This comment has been minimized.

@vinod0m vinod0m requested a review from Copilot September 9, 2025 22:36

This comment was marked as outdated.

@vinod0m vinod0m marked this pull request as ready for review September 9, 2025 22:38
@vinod0m vinod0m marked this pull request as draft September 9, 2025 22:48
@vinod0m vinod0m requested a review from Copilot September 9, 2025 22:48
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This pull request aligns the spellcheck GitHub action configuration with the correct repository owner (SoftwareDevLabs/SDLC_core) and includes significant improvements to the deepagent module. The changes modernize the LangChain integration, add comprehensive configuration support, and expand the project's infrastructure with new workflows and development tools.

  • Updates spellcheck workflow to use dynamic repository parameters and correct owner
  • Modernizes deepagent.py to use current LangChain APIs with session-based memory
  • Adds comprehensive development infrastructure including workflows, Docker support, and documentation

Reviewed Changes

Copilot reviewed 128 out of 129 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
.github/workflows/spelling2.yml Updates spellcheck action to use dynamic repository parameters instead of hardcoded Microsoft/terminal references
src/agents/deepagent.py Major refactor to use modern LangChain APIs, adds YAML configuration support and session-based memory
test/unit/test_deepagent*.py Updates tests to work with new agent architecture and MockAgent interface
Multiple workflow files Adds new GitHub Actions workflows for documentation, security scanning, and development tools
Infrastructure files Adds Docker support, requirements files, and comprehensive project documentation

self.last_input = input_data
return f"dry-run-echo:{input_data}"

def invoke(self, input_dict: dict, config: dict):
Copy link

Copilot AI Sep 9, 2025

Choose a reason for hiding this comment

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

Duplicate method definition with different parameter names. The first definition will be overwritten by the second.

Copilot uses AI. Check for mistakes.
return f"dry-run-echo:{input_data}"

def invoke(self, input_dict: dict, config: dict):
def invoke(self, input: dict, config: dict):
Copy link

Copilot AI Sep 9, 2025

Choose a reason for hiding this comment

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

Duplicate method definition with different parameter names. The first definition will be overwritten by the second.

Copilot uses AI. Check for mistakes.

def main():
"""Main function to run the agent from the command line."""
parser = argparse.ArgumentParser()
Copy link

Copilot AI Sep 9, 2025

Choose a reason for hiding this comment

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

The argparse module is imported in the if __name__ == '__main__': block but used in the main() function before the import. Move the import to the top of the file.

Copilot uses AI. Check for mistakes.
dry_run_env = os.getenv("DRY_RUN", "false").lower() in ("1", "true", "yes")
dry_run = dry_run_env or bool(args.dry_run)
# Load environment variables from .env file
load_dotenv(os.path.join(os.path.dirname(__file__), ".env"))
Copy link

Copilot AI Sep 9, 2025

Choose a reason for hiding this comment

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

The load_dotenv function is imported in the if __name__ == '__main__': block but used in the main() function before the import. Move the import to the top of the file.

Copilot uses AI. Check for mistakes.
response = agent.run(prompt)

with open(args.output_file, 'w') as f:
f.write(response.get('output', ''))
Copy link

Copilot AI Sep 9, 2025

Choose a reason for hiding this comment

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

The code assumes response is a dictionary, but based on the agent's run method, it returns the result of agent.invoke() which may not always have an 'output' key. This could fail if the response structure is different.

Copilot uses AI. Check for mistakes.
@vinod0m vinod0m marked this pull request as ready for review September 9, 2025 22:49
@vinod0m vinod0m merged commit c7f051d into main Sep 9, 2025
12 of 28 checks passed
@vinod0m vinod0m deleted the align-spellcheck-action branch September 9, 2025 22:49
@github-actions
Copy link
Contributor

github-actions bot commented Sep 9, 2025

@check-spelling-bot Report

🔴 Please review

See the 📂 files view, the 📜action log, or 📝 job summary for details.

Unrecognized words (24549)

Truncated, please see the job summary, log, or artifact if available.

These words are not needed and should be removed

Truncated, please see the job summary, log, or artifact if available.

Some files were automatically ignored 🙈

These sample patterns would exclude them:

(?:^|/)RECORD$
(?:^|/)REQUESTED$
(?:^|/)sample\.json$
(?:^|/)zip-safe$
/handlers/[^/]+$
/integration/api/[^/]+$
/integration/llm/[^/]+$
/llm/platforms/[^/]+$
/pipelines/[^/]+$
/prompt_engineering/[^/]+$
/retrieval/[^/]+$
/skills/[^/]+$
/tools/openapi/[^/]+$
/unit/prompts/[^/]+$
/unit/utils/[^/]+$
/vision_audio/[^/]+$
^\.venv_ci\/lib\/python3\.12\/site\-packages\/numpy\.libs/
^\.venv_ci\/lib\/python3\.12\/site\-packages\/numpy\/lib\/tests\/data/
^\.venv_ci\/lib\/python3\.12\/site\-packages\/pbr\/tests\/testpackage\/data_files/
^\.venv_ci\/lib\/python3\.12\/site\-packages\/pbr\/tests\/testpackage\/pbr_testpackage\/package_data/
^\Q.venv_ci/lib/python3.12/site-packages/_pytest/_py/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/_pytest/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/aiohappyeyeballs/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/aiohttp-3.12.15.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/aiosignal-1.4.0.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/aiosignal/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/annotated_types/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/anyio-4.10.0.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/anyio/_backends/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/anyio/_core/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/anyio/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/anyio/streams/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/attr/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/attrs/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/bandit/blacklists/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/bandit/cli/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/bandit/formatters/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/bandit/plugins/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/cachetools-5.5.2.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/certifi-2025.8.3.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/certifi/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/charset_normalizer/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/dataclasses_json/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/frozenlist-1.7.0.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/google/auth/crypt/_helpers.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/google/protobuf/compiler/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/google/protobuf/pyext/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/google/protobuf/testdata/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/google/protobuf/util/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/greenlet/platform/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/httpcore/_backends/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/httpcore/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/httpx/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/httpx_sse-0.4.1.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/httpx_sse/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/idna/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/iniconfig/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/jsonpatch-1.33.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/jsonpointer-3.0.0.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/adapters/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/agents/agent_toolkits/clickup/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/agents/agent_toolkits/conversational_retrieval/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/agents/agent_toolkits/nla/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/agents/chat/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/agents/json_chat/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/agents/openai_functions_agent/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/agents/openai_functions_multi_agent/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/agents/openai_tools/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/agents/structured_chat/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/agents/tool_calling_agent/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/agents/xml/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/chains/api/openapi/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/chains/chat_vector_db/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/chains/graph_qa/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/chains/qa_generation/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/evaluation/exact_match/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/evaluation/parsing/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/evaluation/regex_match/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/retrievers/self_query/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/schema/callbacks/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/schema/callbacks/tracers/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/smith/evaluation/utils.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/tools/ainetwork/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/tools/bearly/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/tools/brave_search/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/tools/clickup/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/tools/e2b_data_analysis/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/tools/nasa/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/tools/openapi/utils/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/tools/reddit_search/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/tools/searx_search/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain/tools/youtube/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_community/agent_toolkits/amadeus/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_community/agent_toolkits/clickup/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_community/agent_toolkits/nla/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_community/agents/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_community/chains/openapi/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_community/chains/pebblo_retrieval/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_community/memory/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_community/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_community/query_constructors/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_community/tools/ainetwork/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_community/tools/bearly/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_community/tools/brave_search/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_community/tools/clickup/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_community/tools/e2b_data_analysis/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_community/tools/mojeek_search/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_community/tools/nasa/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_community/tools/openapi/utils/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_community/tools/riza/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_community/tools/searx_search/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_community/tools/youtube/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_core/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_google_genai/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_ollama/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/langchain_text_splitters/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/langsmith/_internal/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/langsmith/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/markdown_it/cli/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/markdown_it/common/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/marshmallow/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/multidict-6.6.4.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypy-1.17.1.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypy/dmypy/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypy/plugins/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypy/server/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypy/test/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypy/test/meta/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypy/typeshed/stdlib/compression/__init__.pyi\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypy/typeshed/stdlib/compression/_common/__init__.pyi\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypy/typeshed/stdlib/concurrent/__init__.pyi\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypy/typeshed/stdlib/distutils/command/bdist_packager.pyi\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypy/typeshed/stdlib/email/mime/__init__.pyi\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypy/typeshed/stdlib/lib2to3/__init__.pyi\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypy/typeshed/stdlib/lib2to3/fixes/__init__.pyi\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypy/typeshed/stdlib/pydoc_data/__init__.pyi\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypy/typeshed/stdlib/urllib/__init__.pyi\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypy/typeshed/stdlib/wsgiref/__init__.pyi\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypy/typeshed/stdlib/xml/etree/__init__.pyi\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypy/typeshed/stdlib/xmlrpc/__init__.pyi\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypyc/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypyc/analysis/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypyc/codegen/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypyc/ir/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypyc/irbuild/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypyc/lower/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypyc/primitives/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypyc/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypyc/test/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/mypyc/transform/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/_core/tests/data/astype_copy.pkl\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/_core/tests/data/recarray_from_file.fits\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/_pyinstaller/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/_pyinstaller/__init__.pyi\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/core/__init__.pyi\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/core/_dtype.pyi\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/core/_dtype_ctypes.pyi\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/fft/__init__.pyi\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/fft/tests/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/lib/tests/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/linalg/tests/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/ma/tests/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/matrixlib/tests/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/polynomial/tests/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/random/tests/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/random/tests/data/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/testing/_private/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/testing/_private/__init__.pyi\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/testing/tests/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/tests/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/numpy/typing/tests/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/ollama/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/orjson/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/packaging/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/pathspec/_meta.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pbr-7.0.0.dist-info/AUTHORS\E$
^\Q.venv_ci/lib/python3.12/site-packages/pbr-7.0.0.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/pbr/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pbr/_compat/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pbr/cmd/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pbr/tests/_compat/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pbr/tests/functional/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pbr/tests/testpackage/extra-file.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/pbr/tests/testpackage/git-extra-file.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/pbr/tests/testpackage/pbr_testpackage/extra.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pip/_internal/operations/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pip/_internal/operations/build/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pip/_internal/resolution/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pip/_internal/utils/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pip/_vendor/cachecontrol/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/pip/_vendor/certifi/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/pip/_vendor/dependency_groups/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/pip/_vendor/distro/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/pip/_vendor/idna/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/pip/_vendor/packaging/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/pip/_vendor/platformdirs/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/pip/_vendor/resolvelib/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/pip/_vendor/rich/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/pip/_vendor/truststore/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pkg_resources/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/pkg_resources/tests/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pkg_resources/tests/data/my-test-package-source/setup.cfg\E$
^\Q.venv_ci/lib/python3.12/site-packages/pkg_resources/tests/data/my-test-package_unpacked-egg/my_test_package-1.0-py3.7.egg/EGG-INFO/dependency_links.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/pkg_resources/tests/data/my-test-package_unpacked-egg/my_test_package-1.0-py3.7.egg/EGG-INFO/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/pkg_resources/tests/data/my-test-package_zipped-egg/my_test_package-1.0-py3.7.egg\E$
^\Q.venv_ci/lib/python3.12/site-packages/pluggy/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/propcache-0.3.2.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/pyasn1-0.6.1.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/pydantic/_internal/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pydantic/deprecated/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pydantic/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/pydantic/v1/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/pydantic_core/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/pydantic_settings/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/pyflakes/scripts/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pyflakes/test/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pygments/lexers/_cocoa_builtins.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pygments/lexers/_csound_builtins.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pygments/lexers/_lasso_builtins.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pygments/lexers/_scilab_builtins.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pygments/lexers/_stata_builtins.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pygments/lexers/_vim_builtins.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pygments/lexers/apdlexer.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pygments/lexers/freefem.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pygments/lexers/mosel.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/pytest/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/requests_toolbelt/auth/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/requests_toolbelt/cookies/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/requests_toolbelt/downloadutils/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/requests_toolbelt/utils/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/rich/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/ruff/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_distutils/tests/compat/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_distutils/tests/test_versionpredicate.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/autocommand-2.2.2.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/compat/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/compat/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/inflect/compat/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/inflect/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/jaraco.collections-5.1.0.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/jaraco.context-5.3.0.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/jaraco.functools-4.0.1.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/jaraco/collections/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/jaraco/functools/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/layouts.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/Lorem ipsum.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/packaging/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/typeguard/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/_vendor/zipp/compat/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/compat/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/tests/compat/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/tests/config/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/setuptools/tests/integration/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/sniffio-1.3.1.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/sniffio/_tests/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/sniffio/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/sqlalchemy-2.0.43.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/sqlalchemy/dialects/postgresql/pg_catalog.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/sqlalchemy/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/stevedore-5.4.1.dist-info/AUTHORS\E$
^\Q.venv_ci/lib/python3.12/site-packages/stevedore/example/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/stevedore/example2/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/stevedore/tests/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/stevedore/tests/extension_unimportable.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/tenacity/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/typing_inspection/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/typing_inspection/py.typed\E$
^\Q.venv_ci/lib/python3.12/site-packages/urllib3/contrib/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/wheel/vendored/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/wheel/vendored/packaging/__init__.py\E$
^\Q.venv_ci/lib/python3.12/site-packages/zstandard-0.24.0.dist-info/top_level.txt\E$
^\Q.venv_ci/lib/python3.12/site-packages/zstandard/py.typed\E$
^config/logging_config\.yaml$
^config/prompt_templates\.yaml$
^examples/basic_completion\.py$
^examples/chain_prompts\.py$
^examples/chat_session\.py$
^setup\.py$
^src/agents/executor\.py$
^src/agents/planner\.py$
^src/fallback/router\.py$
^src/guardrails/pii\.py$
^src/llm/schemas\.py$
^src/llm/utils\.py$
^src/memory/
^src/utils/
^test/e2e/test_full_workflow\.py$
^test/test_results/mypy_after_fix\.txt$
^test/test_results/mypy_strict\.txt$
^test/unit/llm/__init__\.py$

You should consider excluding directory paths (e.g. (?:^|/)vendor/), filenames (e.g. (?:^|/)yarn\.lock$), or file extensions (e.g. \.gz$)

You should consider adding them to:

.github/actions/spelling/excludes.txt

File matching is via Perl regular expressions.

To check these files, more of their words need to be in the dictionary than not. You can use patterns.txt to exclude portions, add items to the dictionary (e.g. by adding them to allow.txt), or fix typos.

Script unavailable

Truncated, please see the job summary, log, or artifact if available.

OR

To have the bot accept them for you, comment in the PR quoting the following line:
@check-spelling-bot apply updates.

Forbidden patterns 🙅 (42)

In order to address this, you could change the content to not match the forbidden patterns (comments before forbidden patterns may help explain why they're forbidden), add patterns for acceptable instances, or adjust the forbidden patterns themselves.

These forbidden patterns matched content:

Should be ; otherwise or . Otherwise

https://study.com/learn/lesson/otherwise-in-a-sentence.html

, [Oo]therwise\b

Should be a

\san (?=(?:[b-df-gj-np-rtv-xz]|h(?!our|sl|tml|ttp)|s(?!sh|vg))[a-z])

Should be self-signed

\bself signed\b

Complete sentences shouldn't be in the middle of another sentence as a parenthetical.

(?<!\.)(?<!\betc)\.\),

Should be cannot (or can't)

See https://www.grammarly.com/blog/cannot-or-can-not/

Don't use can not when you mean cannot. The only time you're likely to see can not written as separate words is when the word can happens to precede some other phrase that happens to start with not.
Can't is a contraction of cannot, and it's best suited for informal writing.
In formal writing and where contractions are frowned upon, use cannot.
It is possible to write can not, but you generally find it only as part of some other construction, such as not only . . . but also.

  • if you encounter such a case, add a pattern for that case to patterns.txt.
\b[Cc]an not\b(?! only\b)

In English, duplicated words are generally mistakes

There are a few exceptions (e.g. "that that").
If the highlighted doubled word pair is in:

  • code, write a pattern to mask it.
  • prose, have someone read the English before you dismiss this error.
\s([A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})\s\g{-1}\s

Should be case-(in)sensitive

\bcase (?:in|)sensitive\b

Should probably be Otherwise,

(?<=\. )Otherwise\s

Should be macOS or Mac OS X or ...

\bMacOS\b

Should be fall back

(?<!\ba )(?<!\bthe )\bfallback(?= to(?! ask))\b

Should be preexisting

[Pp]re[- ]existing

Should be an

(?<!\b[Ii] )\bam\b

Should be (coarse|fine)-grained

\b(?:coarse|fine) grained\b

Do not use (click) here links

For more information, see:

(?i)(?:>|\[)(?:(?:click |)here|link|(?:read |)more)(?:</|\]\()

Should be GitHub

(?<![&*.]|// |\b(?:from|import|type) )\bGithub\b(?![{()])

Should only be one of a, an, or the

\b(?:(?:an?|the)\s+){2,}\b

Should be JavaScript

\bJavascript\b

Should be for its (possessive) or because it is

\bfor it(?:'s| is)\b

Should be for, for, to or to

\b(?:for to|to for)\b

Should be set up (setup is a noun / set up is a verb)

\b[Ss]etup(?= (?:an?|the)\b)

Should be nonexistent

\b[Nn]o[nt][- ]existent\b

Should be its

\bit's(?= (?:child|only purpose|own(?:er|)|parent|sibling)\b)

Should be workaround

(?:(?:[Aa]|[Tt]he|ugly)\swork[- ]around\b|\swork[- ]around\s+for)

Should be TensorFlow

\bTensorflow\b

Should be without (unless out is a modifier of the next word)

\bwith out\b(?!-)

Should be work around

\b[Ww]orkaround(?= an?\b)

Should be equals to is equal to

\bequals to\b

Should be in-depth if used as an adjective (but in depth when used as an adverb)

\bin depth\s(?!rather\b)\w{6,}

Should be prepopulate

[Pp]re[- ]populate

Should be more than or more, then

\bmore then\b

Should be preemptively

[Pp]re[- ]emptively

Should be reentrant

[Rr]e[- ]entrant

Complete sentences in parentheticals should not have a space before the period.

\s\.\)(?!.*\}\})

Should probably be ABCDEFGHIJKLMNOPQRSTUVWXYZ

(?i)(?!ABCDEFGHIJKLMNOPQRSTUVWXYZ)ABC[A-Z]{21}YZ

Should be GitLab

(?<![&*.]|// |\b(?:from|import|type) )\bGitlab\b(?![{()])

Should be log in

\blogin to the

Should be one of

(?<!-)\bon of\b

Should be rather than

\brather then\b

Should be Red Hat

\bRed[Hh]at\b

Should be regardless, ... or regardless of (whether)

\b[Rr]egardless if you\b

Should be socioeconomic

https://dictionary.cambridge.org/us/dictionary/english/socioeconomic

socio-economic

Should be neither/nor (plus rewording the beginning)

This is probably a double negative...

\bnot\b[^.?!"/(]*\bneither\b[^.?!"/(]*\bnor\b
Pattern suggestions ✂️ (28)

You could add these patterns to .github/actions/spelling/patterns/f5ebc569baebbdb4a16ca2e57157ff548242691f.txt:

# Automatically suggested patterns

# hit-count: 14082 file-count: 1740
# python
\b(?i)py(?!gments|gmy|lon|ramid|ro|th)(?=[a-z]{2,})

# hit-count: 364 file-count: 317
# imports
^import\s+(?:(?:static|type)\s+|)(?:[\w.]|\{\s*\w*?(?:,\s*(?:\w*|\*))+\s*\})+

# hit-count: 355 file-count: 47
# machine learning (?)
\b(?i)ml(?=[a-z]{2,})

# hit-count: 31 file-count: 2
# numerator
\bnumer\b(?=.*denom)

# hit-count: 28 file-count: 4
# URL escaped characters
%[0-9A-F][A-F](?=[A-Za-z])

# hit-count: 27 file-count: 9
# Lorem
# Update Lorem based on your content (requires `ge` and `w` from https://github.com/jsoref/spelling; and `review` from https://github.com/check-spelling/check-spelling/wiki/Looking-for-items-locally )
# grep '^[^#].*lorem' .github/actions/spelling/patterns.txt|perl -pne 's/.*i..\?://;s/\).*//' |tr '|' "\n"|sort -f |xargs -n1 ge|perl -pne 's/^[^:]*://'|sort -u|w|sed -e 's/ .*//'|w|review -
# Warning, while `(?i)` is very neat and fancy, if you have some binary files that aren't proper unicode, you might run into:
# ... Operation "substitution (s///)" returns its argument for non-Unicode code point 0x1C19AE (the code point will vary).
# ... You could manually change `(?i)X...` to use `[Xx]...`
# ... or you could add the files to your `excludes` file (a version after 0.0.19 should identify the file path)
(?:(?:\w|\s|[,.])*\b(?i)(?:amet|consectetur|cursus|dolor|eros|ipsum|lacus|libero|ligula|lorem|magna|neque|nulla|suscipit|tempus)\b(?:\w|\s|[,.])*)

# hit-count: 23 file-count: 5
# perl qr regex
(?<!\$)\bqr(?:\{.*?\}|<.*?>|\(.*?\)|([|!/@#,;']).*?\g{-1})

# hit-count: 19 file-count: 5
# lower URL escaped characters
%[0-9a-f][a-f](?=[a-z]{2,})

# hit-count: 13 file-count: 1
# '/"
\\\([ad]q

# hit-count: 12 file-count: 1
# container images
image: [-\w./:@]+

# hit-count: 6 file-count: 1
# https://www.gnu.org/software/groff/manual/groff.html
# man troff content
\\f[BCIPR]

# hit-count: 5 file-count: 1
# GitHub SHAs (markdown)
(?:\[`?[0-9a-f]+`?\]\(https:/|)/(?:www\.|)github\.com(?:/[^/\s"]+){2,}(?:/[^/\s")]+)(?:[0-9a-f]+(?:[-0-9a-zA-Z/#.]*|)\b|)

# hit-count: 4 file-count: 3
# data url
\bdata:[-a-zA-Z=;:/0-9+]*,\S*

# hit-count: 4 file-count: 2
# bearer auth
(['"])[Bb]ear[e][r] .{3,}?\g{-1}

# hit-count: 3 file-count: 3
# https/http/file urls
(?:\b(?:https?|ftp|file)://)[-A-Za-z0-9+&@#/*%?=~_|!:,.;]+[-A-Za-z0-9+&@#/*%=~_|]

# hit-count: 3 file-count: 2
# data url in quotes
([`'"])data:(?:[^ `'"].*?|)(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,}).*\g{-1}

# hit-count: 3 file-count: 2
# assign regex
= /[^*].*?(?:[a-z]{3,}|[A-Z]{3,}|[A-Z][a-z]{2,}).*/[gim]*(?=\W|$)

# hit-count: 2 file-count: 2
# GitHub actions
\buses:\s+[-\w.]+/[-\w./]+@[-\w.]+

# hit-count: 2 file-count: 2
# configure flags
.* \| --\w{2,}.*?(?=\w+\s\w+)

# hit-count: 2 file-count: 1
# Google APIs
\bgoogleapis\.(?:com|dev)/[a-z]+/(?:v\d+/|)[a-z]+/[-@:./?=\w+|&]+

# hit-count: 1 file-count: 1
\w+\@group\.calendar\.google\.com\b

# hit-count: 1 file-count: 1
# Google Cloud regions
(?:us|(?:north|south)america|europe|asia|australia|me|africa)-(?:north|south|east|west|central){1,2}\d+

# hit-count: 1 file-count: 1
# GHSA
GHSA(?:-[0-9a-z]{4}){3}

# hit-count: 1 file-count: 1
# c99 hex digits (not the full format, just one I've seen)
0x[0-9a-fA-F](?:\.[0-9a-fA-F]*|)[pP]

# hit-count: 1 file-count: 1
# go install
go install(?:\s+[a-z]+\.[-@\w/.]+)+

# hit-count: 1 file-count: 1
# bearer auth
\b[Bb]ear[e][r]:? [-a-zA-Z=;:/0-9+.]{3,}

# hit-count: 1 file-count: 1
# weak e-tag
W/"[^"]+"

# hit-count: 1 file-count: 1
# set arguments
\b(?:bash|sh|set)(?:\s+[-+][abefimouxE]{1,2})*\s+[-+][abefimouxE]{3,}(?:\s+[-+][abefimouxE]+)*

Alternatively, if a pattern suggestion doesn't make sense for this project, add a #
to the beginning of the line in the candidates file with the pattern to stop suggesting it.

Errors, Warnings, and Notices ❌ (8)

See the 📂 files view, the 📜action log, or 📝 job summary for details.

❌ Errors, Warnings, and Notices Count
⚠️ binary-file 317
ℹ️ candidate-pattern 52
❌ check-file-path 9798
❌ forbidden-pattern 1749
⚠️ large-file 1
⚠️ noisy-file 137
❌ slow-file 1
⚠️ token-is-substring 87

See ❌ Event descriptions for more information.

✏️ Contributor please read this

By default the command suggestion will generate a file named based on your commit. That's generally ok as long as you add the file to your commit. Someone can reorganize it later.

If the listed items are:

  • ... misspelled, then please correct them instead of using the command.
  • ... names, please add them to .github/actions/spelling/allow/names.txt.
  • ... APIs, you can add them to a file in .github/actions/spelling/allow/.
  • ... just things you're using, please add them to an appropriate file in .github/actions/spelling/expect/.
  • ... tokens you only need in one place and shouldn't generally be used, you can add an item in an appropriate file in .github/actions/spelling/patterns/.

See the README.md in each directory for more information.

🔬 You can test your commits without appending to a PR by creating a new branch with that extra change and pushing it to your fork. The check-spelling action will run in response to your push -- it doesn't require an open pull request. By using such a branch, you can limit the number of typos your peers see you make. 😉

If the flagged items are 🤯 false positives

If items relate to a ...

  • binary file (or some other file you wouldn't want to check at all).

    Please add a file path to the excludes.txt file matching the containing file.

    File paths are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your files.

    ^ refers to the file's path from the root of the repository, so ^README\.md$ would exclude README.md (on whichever branch you're using).

  • well-formed pattern.

    If you can write a pattern that would match it,
    try adding it to the patterns.txt file.

    Patterns are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your lines.

    Note that patterns can't match multiline strings.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants