chatmcp-cli 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- chatmcp_cli-0.1.0/.dockerignore +10 -0
- chatmcp_cli-0.1.0/.env.example +8 -0
- chatmcp_cli-0.1.0/.flake8 +3 -0
- chatmcp_cli-0.1.0/.github/ISSUE_TEMPLATE/issue.yml +21 -0
- chatmcp_cli-0.1.0/.github/workflows/check_pypi_version.yml +86 -0
- chatmcp_cli-0.1.0/.github/workflows/docker-build-test.yml +85 -0
- chatmcp_cli-0.1.0/.github/workflows/docker-release.yml +52 -0
- chatmcp_cli-0.1.0/.github/workflows/issues.yml +29 -0
- chatmcp_cli-0.1.0/.github/workflows/pages.yml +87 -0
- chatmcp_cli-0.1.0/.github/workflows/pre-commit.yml +48 -0
- chatmcp_cli-0.1.0/.github/workflows/release.yml +34 -0
- chatmcp_cli-0.1.0/.github/workflows/ubuntu-tests.yml +61 -0
- chatmcp_cli-0.1.0/.github/workflows/windows-tests.yml +57 -0
- chatmcp_cli-0.1.0/.github/workflows/windows_check_pypi_version.yml +90 -0
- chatmcp_cli-0.1.0/.gitignore +21 -0
- chatmcp_cli-0.1.0/.pre-commit-config.yaml +23 -0
- chatmcp_cli-0.1.0/CNAME +1 -0
- chatmcp_cli-0.1.0/CONTRIBUTING.md +241 -0
- chatmcp_cli-0.1.0/HISTORY.md +1447 -0
- chatmcp_cli-0.1.0/LICENSE.txt +202 -0
- chatmcp_cli-0.1.0/MANIFEST.in +20 -0
- chatmcp_cli-0.1.0/PKG-INFO +502 -0
- chatmcp_cli-0.1.0/README.md +179 -0
- chatmcp_cli-0.1.0/aider/__init__.py +20 -0
- chatmcp_cli-0.1.0/aider/__main__.py +4 -0
- chatmcp_cli-0.1.0/aider/_version.py +21 -0
- chatmcp_cli-0.1.0/aider/analytics.py +250 -0
- chatmcp_cli-0.1.0/aider/args.py +926 -0
- chatmcp_cli-0.1.0/aider/args_formatter.py +228 -0
- chatmcp_cli-0.1.0/aider/coders/__init__.py +34 -0
- chatmcp_cli-0.1.0/aider/coders/architect_coder.py +48 -0
- chatmcp_cli-0.1.0/aider/coders/architect_prompts.py +40 -0
- chatmcp_cli-0.1.0/aider/coders/ask_coder.py +9 -0
- chatmcp_cli-0.1.0/aider/coders/ask_prompts.py +35 -0
- chatmcp_cli-0.1.0/aider/coders/base_coder.py +2483 -0
- chatmcp_cli-0.1.0/aider/coders/base_prompts.py +60 -0
- chatmcp_cli-0.1.0/aider/coders/chat_chunks.py +64 -0
- chatmcp_cli-0.1.0/aider/coders/context_coder.py +53 -0
- chatmcp_cli-0.1.0/aider/coders/context_prompts.py +75 -0
- chatmcp_cli-0.1.0/aider/coders/editblock_coder.py +657 -0
- chatmcp_cli-0.1.0/aider/coders/editblock_fenced_coder.py +10 -0
- chatmcp_cli-0.1.0/aider/coders/editblock_fenced_prompts.py +143 -0
- chatmcp_cli-0.1.0/aider/coders/editblock_func_coder.py +141 -0
- chatmcp_cli-0.1.0/aider/coders/editblock_func_prompts.py +27 -0
- chatmcp_cli-0.1.0/aider/coders/editblock_prompts.py +174 -0
- chatmcp_cli-0.1.0/aider/coders/editor_diff_fenced_coder.py +9 -0
- chatmcp_cli-0.1.0/aider/coders/editor_diff_fenced_prompts.py +11 -0
- chatmcp_cli-0.1.0/aider/coders/editor_editblock_coder.py +8 -0
- chatmcp_cli-0.1.0/aider/coders/editor_editblock_prompts.py +18 -0
- chatmcp_cli-0.1.0/aider/coders/editor_whole_coder.py +8 -0
- chatmcp_cli-0.1.0/aider/coders/editor_whole_prompts.py +10 -0
- chatmcp_cli-0.1.0/aider/coders/help_coder.py +16 -0
- chatmcp_cli-0.1.0/aider/coders/help_prompts.py +46 -0
- chatmcp_cli-0.1.0/aider/coders/patch_coder.py +706 -0
- chatmcp_cli-0.1.0/aider/coders/patch_prompts.py +161 -0
- chatmcp_cli-0.1.0/aider/coders/search_replace.py +757 -0
- chatmcp_cli-0.1.0/aider/coders/shell.py +37 -0
- chatmcp_cli-0.1.0/aider/coders/single_wholefile_func_coder.py +102 -0
- chatmcp_cli-0.1.0/aider/coders/single_wholefile_func_prompts.py +27 -0
- chatmcp_cli-0.1.0/aider/coders/udiff_coder.py +429 -0
- chatmcp_cli-0.1.0/aider/coders/udiff_prompts.py +115 -0
- chatmcp_cli-0.1.0/aider/coders/udiff_simple.py +14 -0
- chatmcp_cli-0.1.0/aider/coders/udiff_simple_prompts.py +25 -0
- chatmcp_cli-0.1.0/aider/coders/wholefile_coder.py +144 -0
- chatmcp_cli-0.1.0/aider/coders/wholefile_func_coder.py +134 -0
- chatmcp_cli-0.1.0/aider/coders/wholefile_func_prompts.py +27 -0
- chatmcp_cli-0.1.0/aider/coders/wholefile_prompts.py +67 -0
- chatmcp_cli-0.1.0/aider/commands.py +1665 -0
- chatmcp_cli-0.1.0/aider/copypaste.py +72 -0
- chatmcp_cli-0.1.0/aider/deprecated.py +126 -0
- chatmcp_cli-0.1.0/aider/diffs.py +128 -0
- chatmcp_cli-0.1.0/aider/dump.py +29 -0
- chatmcp_cli-0.1.0/aider/editor.py +147 -0
- chatmcp_cli-0.1.0/aider/exceptions.py +107 -0
- chatmcp_cli-0.1.0/aider/format_settings.py +26 -0
- chatmcp_cli-0.1.0/aider/gui.py +545 -0
- chatmcp_cli-0.1.0/aider/help.py +163 -0
- chatmcp_cli-0.1.0/aider/help_pats.py +19 -0
- chatmcp_cli-0.1.0/aider/history.py +143 -0
- chatmcp_cli-0.1.0/aider/io.py +1175 -0
- chatmcp_cli-0.1.0/aider/linter.py +304 -0
- chatmcp_cli-0.1.0/aider/llm.py +47 -0
- chatmcp_cli-0.1.0/aider/main.py +1267 -0
- chatmcp_cli-0.1.0/aider/mdstream.py +243 -0
- chatmcp_cli-0.1.0/aider/models.py +1286 -0
- chatmcp_cli-0.1.0/aider/onboarding.py +428 -0
- chatmcp_cli-0.1.0/aider/openrouter.py +128 -0
- chatmcp_cli-0.1.0/aider/prompts.py +64 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/README.md +7 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/arduino-tags.scm +5 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/c-tags.scm +9 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/chatito-tags.scm +16 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/commonlisp-tags.scm +122 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/cpp-tags.scm +15 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/csharp-tags.scm +26 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/d-tags.scm +26 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/dart-tags.scm +92 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/elisp-tags.scm +5 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/elixir-tags.scm +54 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/elm-tags.scm +19 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/gleam-tags.scm +41 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/go-tags.scm +42 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/java-tags.scm +20 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/javascript-tags.scm +88 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/lua-tags.scm +34 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/ocaml-tags.scm +115 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +98 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/pony-tags.scm +39 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/properties-tags.scm +5 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/python-tags.scm +14 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/r-tags.scm +21 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/racket-tags.scm +12 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/ruby-tags.scm +64 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/rust-tags.scm +60 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/solidity-tags.scm +43 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/swift-tags.scm +51 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-language-pack/udev-tags.scm +20 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/README.md +23 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/c-tags.scm +9 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/c_sharp-tags.scm +46 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/cpp-tags.scm +15 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/dart-tags.scm +91 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/elisp-tags.scm +8 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/elixir-tags.scm +54 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/elm-tags.scm +19 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/go-tags.scm +30 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/hcl-tags.scm +77 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/java-tags.scm +20 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/javascript-tags.scm +88 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/kotlin-tags.scm +27 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/ocaml-tags.scm +115 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/ocaml_interface-tags.scm +98 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/php-tags.scm +26 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/python-tags.scm +12 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/ql-tags.scm +26 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/ruby-tags.scm +64 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/rust-tags.scm +60 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/scala-tags.scm +65 -0
- chatmcp_cli-0.1.0/aider/queries/tree-sitter-languages/typescript-tags.scm +41 -0
- chatmcp_cli-0.1.0/aider/reasoning_tags.py +82 -0
- chatmcp_cli-0.1.0/aider/repo.py +623 -0
- chatmcp_cli-0.1.0/aider/repomap.py +847 -0
- chatmcp_cli-0.1.0/aider/report.py +200 -0
- chatmcp_cli-0.1.0/aider/resources/__init__.py +3 -0
- chatmcp_cli-0.1.0/aider/resources/model-metadata.json +468 -0
- chatmcp_cli-0.1.0/aider/resources/model-settings.yml +1767 -0
- chatmcp_cli-0.1.0/aider/run_cmd.py +132 -0
- chatmcp_cli-0.1.0/aider/scrape.py +284 -0
- chatmcp_cli-0.1.0/aider/sendchat.py +61 -0
- chatmcp_cli-0.1.0/aider/special.py +203 -0
- chatmcp_cli-0.1.0/aider/urls.py +17 -0
- chatmcp_cli-0.1.0/aider/utils.py +338 -0
- chatmcp_cli-0.1.0/aider/versioncheck.py +113 -0
- chatmcp_cli-0.1.0/aider/voice.py +187 -0
- chatmcp_cli-0.1.0/aider/waiting.py +221 -0
- chatmcp_cli-0.1.0/aider/watch.py +318 -0
- chatmcp_cli-0.1.0/aider/watch_prompts.py +12 -0
- chatmcp_cli-0.1.0/aider/website/Gemfile +8 -0
- chatmcp_cli-0.1.0/aider/website/_includes/blame.md +162 -0
- chatmcp_cli-0.1.0/aider/website/_includes/get-started.md +22 -0
- chatmcp_cli-0.1.0/aider/website/_includes/help-tip.md +5 -0
- chatmcp_cli-0.1.0/aider/website/_includes/help.md +24 -0
- chatmcp_cli-0.1.0/aider/website/_includes/install.md +5 -0
- chatmcp_cli-0.1.0/aider/website/_includes/keys.md +4 -0
- chatmcp_cli-0.1.0/aider/website/_includes/model-warnings.md +67 -0
- chatmcp_cli-0.1.0/aider/website/_includes/multi-line.md +22 -0
- chatmcp_cli-0.1.0/aider/website/_includes/python-m-aider.md +5 -0
- chatmcp_cli-0.1.0/aider/website/_includes/recording.css +228 -0
- chatmcp_cli-0.1.0/aider/website/_includes/recording.md +34 -0
- chatmcp_cli-0.1.0/aider/website/_includes/replit-pipx.md +9 -0
- chatmcp_cli-0.1.0/aider/website/_includes/works-best.md +1 -0
- chatmcp_cli-0.1.0/aider/website/_sass/custom/custom.scss +103 -0
- chatmcp_cli-0.1.0/aider/website/docs/config/adv-model-settings.md +1881 -0
- chatmcp_cli-0.1.0/aider/website/docs/config/aider_conf.md +527 -0
- chatmcp_cli-0.1.0/aider/website/docs/config/api-keys.md +90 -0
- chatmcp_cli-0.1.0/aider/website/docs/config/dotenv.md +478 -0
- chatmcp_cli-0.1.0/aider/website/docs/config/editor.md +127 -0
- chatmcp_cli-0.1.0/aider/website/docs/config/model-aliases.md +103 -0
- chatmcp_cli-0.1.0/aider/website/docs/config/options.md +843 -0
- chatmcp_cli-0.1.0/aider/website/docs/config/reasoning.md +209 -0
- chatmcp_cli-0.1.0/aider/website/docs/config.md +44 -0
- chatmcp_cli-0.1.0/aider/website/docs/faq.md +378 -0
- chatmcp_cli-0.1.0/aider/website/docs/git.md +76 -0
- chatmcp_cli-0.1.0/aider/website/docs/index.md +47 -0
- chatmcp_cli-0.1.0/aider/website/docs/install/codespaces.md +39 -0
- chatmcp_cli-0.1.0/aider/website/docs/install/docker.md +57 -0
- chatmcp_cli-0.1.0/aider/website/docs/install/optional.md +100 -0
- chatmcp_cli-0.1.0/aider/website/docs/install/replit.md +8 -0
- chatmcp_cli-0.1.0/aider/website/docs/install.md +115 -0
- chatmcp_cli-0.1.0/aider/website/docs/languages.md +264 -0
- chatmcp_cli-0.1.0/aider/website/docs/legal/contributor-agreement.md +111 -0
- chatmcp_cli-0.1.0/aider/website/docs/legal/privacy.md +104 -0
- chatmcp_cli-0.1.0/aider/website/docs/llms/anthropic.md +77 -0
- chatmcp_cli-0.1.0/aider/website/docs/llms/azure.md +48 -0
- chatmcp_cli-0.1.0/aider/website/docs/llms/bedrock.md +132 -0
- chatmcp_cli-0.1.0/aider/website/docs/llms/cohere.md +34 -0
- chatmcp_cli-0.1.0/aider/website/docs/llms/deepseek.md +32 -0
- chatmcp_cli-0.1.0/aider/website/docs/llms/gemini.md +49 -0
- chatmcp_cli-0.1.0/aider/website/docs/llms/github.md +105 -0
- chatmcp_cli-0.1.0/aider/website/docs/llms/groq.md +36 -0
- chatmcp_cli-0.1.0/aider/website/docs/llms/lm-studio.md +39 -0
- chatmcp_cli-0.1.0/aider/website/docs/llms/ollama.md +75 -0
- chatmcp_cli-0.1.0/aider/website/docs/llms/openai-compat.md +39 -0
- chatmcp_cli-0.1.0/aider/website/docs/llms/openai.md +58 -0
- chatmcp_cli-0.1.0/aider/website/docs/llms/openrouter.md +78 -0
- chatmcp_cli-0.1.0/aider/website/docs/llms/other.md +103 -0
- chatmcp_cli-0.1.0/aider/website/docs/llms/vertex.md +50 -0
- chatmcp_cli-0.1.0/aider/website/docs/llms/warnings.md +10 -0
- chatmcp_cli-0.1.0/aider/website/docs/llms/xai.md +53 -0
- chatmcp_cli-0.1.0/aider/website/docs/llms.md +54 -0
- chatmcp_cli-0.1.0/aider/website/docs/more/analytics.md +122 -0
- chatmcp_cli-0.1.0/aider/website/docs/more/edit-formats.md +116 -0
- chatmcp_cli-0.1.0/aider/website/docs/more/infinite-output.md +137 -0
- chatmcp_cli-0.1.0/aider/website/docs/more-info.md +8 -0
- chatmcp_cli-0.1.0/aider/website/docs/recordings/auto-accept-architect.md +31 -0
- chatmcp_cli-0.1.0/aider/website/docs/recordings/dont-drop-original-read-files.md +35 -0
- chatmcp_cli-0.1.0/aider/website/docs/recordings/index.md +21 -0
- chatmcp_cli-0.1.0/aider/website/docs/recordings/model-accepts-settings.md +69 -0
- chatmcp_cli-0.1.0/aider/website/docs/recordings/tree-sitter-language-pack.md +80 -0
- chatmcp_cli-0.1.0/aider/website/docs/repomap.md +112 -0
- chatmcp_cli-0.1.0/aider/website/docs/scripting.md +100 -0
- chatmcp_cli-0.1.0/aider/website/docs/troubleshooting/aider-not-found.md +24 -0
- chatmcp_cli-0.1.0/aider/website/docs/troubleshooting/edit-errors.md +76 -0
- chatmcp_cli-0.1.0/aider/website/docs/troubleshooting/imports.md +62 -0
- chatmcp_cli-0.1.0/aider/website/docs/troubleshooting/models-and-keys.md +54 -0
- chatmcp_cli-0.1.0/aider/website/docs/troubleshooting/support.md +79 -0
- chatmcp_cli-0.1.0/aider/website/docs/troubleshooting/token-limits.md +96 -0
- chatmcp_cli-0.1.0/aider/website/docs/troubleshooting/warnings.md +12 -0
- chatmcp_cli-0.1.0/aider/website/docs/troubleshooting.md +11 -0
- chatmcp_cli-0.1.0/aider/website/docs/usage/browser.md +57 -0
- chatmcp_cli-0.1.0/aider/website/docs/usage/caching.md +49 -0
- chatmcp_cli-0.1.0/aider/website/docs/usage/commands.md +132 -0
- chatmcp_cli-0.1.0/aider/website/docs/usage/conventions.md +119 -0
- chatmcp_cli-0.1.0/aider/website/docs/usage/copypaste.md +121 -0
- chatmcp_cli-0.1.0/aider/website/docs/usage/images-urls.md +48 -0
- chatmcp_cli-0.1.0/aider/website/docs/usage/lint-test.md +118 -0
- chatmcp_cli-0.1.0/aider/website/docs/usage/modes.md +211 -0
- chatmcp_cli-0.1.0/aider/website/docs/usage/not-code.md +179 -0
- chatmcp_cli-0.1.0/aider/website/docs/usage/notifications.md +87 -0
- chatmcp_cli-0.1.0/aider/website/docs/usage/tips.md +79 -0
- chatmcp_cli-0.1.0/aider/website/docs/usage/tutorials.md +30 -0
- chatmcp_cli-0.1.0/aider/website/docs/usage/voice.md +121 -0
- chatmcp_cli-0.1.0/aider/website/docs/usage/watch.md +294 -0
- chatmcp_cli-0.1.0/aider/website/docs/usage.md +92 -0
- chatmcp_cli-0.1.0/aider/website/share/index.md +101 -0
- chatmcp_cli-0.1.0/benchmark/Dockerfile +64 -0
- chatmcp_cli-0.1.0/benchmark/README.md +146 -0
- chatmcp_cli-0.1.0/benchmark/__init__.py +0 -0
- chatmcp_cli-0.1.0/benchmark/benchmark.py +1059 -0
- chatmcp_cli-0.1.0/benchmark/clone-exercism.sh +20 -0
- chatmcp_cli-0.1.0/benchmark/cpp-test.sh +11 -0
- chatmcp_cli-0.1.0/benchmark/docker.sh +19 -0
- chatmcp_cli-0.1.0/benchmark/docker_build.sh +8 -0
- chatmcp_cli-0.1.0/benchmark/install-docker-ubuntu.sh +63 -0
- chatmcp_cli-0.1.0/benchmark/npm-test.sh +13 -0
- chatmcp_cli-0.1.0/benchmark/over_time.py +168 -0
- chatmcp_cli-0.1.0/benchmark/plot.sh +29 -0
- chatmcp_cli-0.1.0/benchmark/plots.py +417 -0
- chatmcp_cli-0.1.0/benchmark/problem_stats.py +355 -0
- chatmcp_cli-0.1.0/benchmark/prompts.py +16 -0
- chatmcp_cli-0.1.0/benchmark/refactor_tools.py +209 -0
- chatmcp_cli-0.1.0/benchmark/rsync.sh +45 -0
- chatmcp_cli-0.1.0/benchmark/rungrid.py +61 -0
- chatmcp_cli-0.1.0/benchmark/swe-bench-lite.txt +7 -0
- chatmcp_cli-0.1.0/benchmark/swe-bench.txt +7 -0
- chatmcp_cli-0.1.0/benchmark/swe_bench.py +131 -0
- chatmcp_cli-0.1.0/benchmark/test_benchmark.py +47 -0
- chatmcp_cli-0.1.0/chatmcp_cli.egg-info/PKG-INFO +502 -0
- chatmcp_cli-0.1.0/chatmcp_cli.egg-info/SOURCES.txt +392 -0
- chatmcp_cli-0.1.0/chatmcp_cli.egg-info/dependency_links.txt +1 -0
- chatmcp_cli-0.1.0/chatmcp_cli.egg-info/entry_points.txt +3 -0
- chatmcp_cli-0.1.0/chatmcp_cli.egg-info/requires.txt +309 -0
- chatmcp_cli-0.1.0/chatmcp_cli.egg-info/top_level.txt +1 -0
- chatmcp_cli-0.1.0/docker/Dockerfile +80 -0
- chatmcp_cli-0.1.0/project.json +75 -0
- chatmcp_cli-0.1.0/pyproject.toml +54 -0
- chatmcp_cli-0.1.0/pytest.ini +12 -0
- chatmcp_cli-0.1.0/requirements/common-constraints.txt +612 -0
- chatmcp_cli-0.1.0/requirements/requirements-browser.in +1 -0
- chatmcp_cli-0.1.0/requirements/requirements-browser.txt +155 -0
- chatmcp_cli-0.1.0/requirements/requirements-dev.in +14 -0
- chatmcp_cli-0.1.0/requirements/requirements-dev.txt +311 -0
- chatmcp_cli-0.1.0/requirements/requirements-help.in +11 -0
- chatmcp_cli-0.1.0/requirements/requirements-help.txt +327 -0
- chatmcp_cli-0.1.0/requirements/requirements-playwright.in +1 -0
- chatmcp_cli-0.1.0/requirements/requirements-playwright.txt +18 -0
- chatmcp_cli-0.1.0/requirements/requirements.in +51 -0
- chatmcp_cli-0.1.0/requirements/tree-sitter.in +3 -0
- chatmcp_cli-0.1.0/requirements.txt +528 -0
- chatmcp_cli-0.1.0/scripts/30k-image.py +235 -0
- chatmcp_cli-0.1.0/scripts/Dockerfile.jekyll +20 -0
- chatmcp_cli-0.1.0/scripts/__init__.py +0 -0
- chatmcp_cli-0.1.0/scripts/blame.py +291 -0
- chatmcp_cli-0.1.0/scripts/clean_metadata.py +258 -0
- chatmcp_cli-0.1.0/scripts/dl_icons.py +59 -0
- chatmcp_cli-0.1.0/scripts/history_prompts.py +26 -0
- chatmcp_cli-0.1.0/scripts/homepage.py +619 -0
- chatmcp_cli-0.1.0/scripts/issues.py +458 -0
- chatmcp_cli-0.1.0/scripts/jekyll_build.sh +4 -0
- chatmcp_cli-0.1.0/scripts/jekyll_run.sh +16 -0
- chatmcp_cli-0.1.0/scripts/logo_svg.py +174 -0
- chatmcp_cli-0.1.0/scripts/my_models.py +98 -0
- chatmcp_cli-0.1.0/scripts/pip-compile.sh +43 -0
- chatmcp_cli-0.1.0/scripts/recording_audio.py +338 -0
- chatmcp_cli-0.1.0/scripts/redact-cast.py +62 -0
- chatmcp_cli-0.1.0/scripts/tmux_record.sh +18 -0
- chatmcp_cli-0.1.0/scripts/tsl_pack_langs.py +145 -0
- chatmcp_cli-0.1.0/scripts/update-blame.sh +8 -0
- chatmcp_cli-0.1.0/scripts/update-docs.sh +34 -0
- chatmcp_cli-0.1.0/scripts/update-history.py +162 -0
- chatmcp_cli-0.1.0/scripts/versionbump.py +175 -0
- chatmcp_cli-0.1.0/scripts/yank-old-versions.py +51 -0
- chatmcp_cli-0.1.0/setup.cfg +4 -0
- chatmcp_cli-0.1.0/tests/__init__.py +0 -0
- chatmcp_cli-0.1.0/tests/basic/__init__.py +0 -0
- chatmcp_cli-0.1.0/tests/basic/test_analytics.py +136 -0
- chatmcp_cli-0.1.0/tests/basic/test_aws_credentials.py +169 -0
- chatmcp_cli-0.1.0/tests/basic/test_coder.py +1438 -0
- chatmcp_cli-0.1.0/tests/basic/test_commands.py +2199 -0
- chatmcp_cli-0.1.0/tests/basic/test_deprecated.py +140 -0
- chatmcp_cli-0.1.0/tests/basic/test_editblock.py +618 -0
- chatmcp_cli-0.1.0/tests/basic/test_editor.py +159 -0
- chatmcp_cli-0.1.0/tests/basic/test_exceptions.py +84 -0
- chatmcp_cli-0.1.0/tests/basic/test_find_or_blocks.py +115 -0
- chatmcp_cli-0.1.0/tests/basic/test_history.py +109 -0
- chatmcp_cli-0.1.0/tests/basic/test_io.py +610 -0
- chatmcp_cli-0.1.0/tests/basic/test_linter.py +84 -0
- chatmcp_cli-0.1.0/tests/basic/test_main.py +1375 -0
- chatmcp_cli-0.1.0/tests/basic/test_model_info_manager.py +80 -0
- chatmcp_cli-0.1.0/tests/basic/test_models.py +563 -0
- chatmcp_cli-0.1.0/tests/basic/test_onboarding.py +437 -0
- chatmcp_cli-0.1.0/tests/basic/test_openrouter.py +73 -0
- chatmcp_cli-0.1.0/tests/basic/test_reasoning.py +609 -0
- chatmcp_cli-0.1.0/tests/basic/test_repo.py +716 -0
- chatmcp_cli-0.1.0/tests/basic/test_repomap.py +495 -0
- chatmcp_cli-0.1.0/tests/basic/test_run_cmd.py +11 -0
- chatmcp_cli-0.1.0/tests/basic/test_sanity_check_repo.py +184 -0
- chatmcp_cli-0.1.0/tests/basic/test_scripting.py +39 -0
- chatmcp_cli-0.1.0/tests/basic/test_sendchat.py +171 -0
- chatmcp_cli-0.1.0/tests/basic/test_special.py +76 -0
- chatmcp_cli-0.1.0/tests/basic/test_ssl_verification.py +84 -0
- chatmcp_cli-0.1.0/tests/basic/test_udiff.py +119 -0
- chatmcp_cli-0.1.0/tests/basic/test_urls.py +15 -0
- chatmcp_cli-0.1.0/tests/basic/test_voice.py +98 -0
- chatmcp_cli-0.1.0/tests/basic/test_watch.py +166 -0
- chatmcp_cli-0.1.0/tests/basic/test_wholefile.py +359 -0
- chatmcp_cli-0.1.0/tests/browser/test_browser.py +39 -0
- chatmcp_cli-0.1.0/tests/fixtures/chat-history-search-replace-gold.txt +27810 -0
- chatmcp_cli-0.1.0/tests/fixtures/chat-history.md +99961 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/arduino/test.ino +21 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/c/test.c +21 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/chatito/test.chatito +20 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/commonlisp/test.lisp +17 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/cpp/test.cpp +6 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/csharp/test.cs +39 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/d/test.d +26 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/dart/test.dart +21 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/elisp/test.el +25 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/elixir/test.ex +5 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/elm/test.elm +59 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/gleam/test.gleam +10 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/go/test.go +42 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/hcl/test.tf +52 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/java/test.java +16 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/javascript/test.js +26 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/kotlin/test.kt +16 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/lua/test.lua +25 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/ocaml/test.ml +19 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/ocaml_interface/test.mli +14 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/php/test.php +5 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/pony/test.pony +8 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/properties/test.properties +14 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/python/test.py +28 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/ql/test.ql +3 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/r/test.r +17 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/racket/test.rkt +8 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/ruby/test.rb +3 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/rust/test.rs +33 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/scala/test.scala +61 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/solidity/test.sol +21 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/swift/test.swift +18 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/tsx/test.tsx +30 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/typescript/test.ts +3 -0
- chatmcp_cli-0.1.0/tests/fixtures/languages/udev/test.rules +22 -0
- chatmcp_cli-0.1.0/tests/fixtures/sample-code-base/sample.js +50 -0
- chatmcp_cli-0.1.0/tests/fixtures/sample-code-base/sample.py +68 -0
- chatmcp_cli-0.1.0/tests/fixtures/sample-code-base-repo-map.txt +55 -0
- chatmcp_cli-0.1.0/tests/fixtures/watch.js +38 -0
- chatmcp_cli-0.1.0/tests/fixtures/watch.lisp +19 -0
- chatmcp_cli-0.1.0/tests/fixtures/watch.py +21 -0
- chatmcp_cli-0.1.0/tests/fixtures/watch_question.js +11 -0
- chatmcp_cli-0.1.0/tests/help/test_help.py +170 -0
- chatmcp_cli-0.1.0/tests/scrape/test_playwright_disable.py +139 -0
- chatmcp_cli-0.1.0/tests/scrape/test_scrape.py +175 -0
@@ -0,0 +1,8 @@
|
|
1
|
+
# Gemini API Key for Aider
|
2
|
+
# Get your API key from: https://makersuite.google.com/app/apikey
|
3
|
+
GEMINI_API_KEY=your_gemini_api_key_here
|
4
|
+
|
5
|
+
# Optional: Other LLM API keys
|
6
|
+
# OPENAI_API_KEY=your_openai_api_key_here
|
7
|
+
# ANTHROPIC_API_KEY=your_anthropic_api_key_here
|
8
|
+
# OPENROUTER_API_KEY=your_openrouter_api_key_here
|
@@ -0,0 +1,21 @@
|
|
1
|
+
name: Question or bug report
|
2
|
+
description: Submit a question or bug report to help us improve aider
|
3
|
+
labels: []
|
4
|
+
body:
|
5
|
+
- type: textarea
|
6
|
+
attributes:
|
7
|
+
label: Issue
|
8
|
+
description: Please describe your problem or question.
|
9
|
+
validations:
|
10
|
+
required: true
|
11
|
+
- type: textarea
|
12
|
+
attributes:
|
13
|
+
label: Version and model info
|
14
|
+
description: Please include aider version, model being used (`gpt-4-xxx`, etc) and any other switches or config settings that are active.
|
15
|
+
placeholder: |
|
16
|
+
Aider v0.XX.Y
|
17
|
+
Model: gpt-N-... using ???? edit format
|
18
|
+
Git repo: .git with ### files
|
19
|
+
Repo-map: using #### tokens
|
20
|
+
validations:
|
21
|
+
required: false
|
@@ -0,0 +1,86 @@
|
|
1
|
+
name: Check PyPI Version
|
2
|
+
|
3
|
+
# Check to be sure `pip install aider-chat` installs the most recently published version.
|
4
|
+
# If dependencies get yanked, it may render the latest version uninstallable.
|
5
|
+
# See https://github.com/Aider-AI/aider/issues/3699 for example.
|
6
|
+
|
7
|
+
on:
|
8
|
+
schedule:
|
9
|
+
# Run once a day at midnight UTC
|
10
|
+
- cron: '0 0 * * *'
|
11
|
+
workflow_dispatch: # Allows manual triggering
|
12
|
+
|
13
|
+
jobs:
|
14
|
+
check_version:
|
15
|
+
runs-on: ubuntu-latest
|
16
|
+
strategy:
|
17
|
+
matrix:
|
18
|
+
python-version: ["3.10", "3.11", "3.12"]
|
19
|
+
|
20
|
+
steps:
|
21
|
+
- name: Set up Python ${{ matrix.python-version }}
|
22
|
+
uses: actions/setup-python@v5
|
23
|
+
with:
|
24
|
+
python-version: ${{ matrix.python-version }}
|
25
|
+
|
26
|
+
- name: Install aider-chat
|
27
|
+
run: pip install aider-chat
|
28
|
+
|
29
|
+
- name: Get installed aider version
|
30
|
+
id: installed_version
|
31
|
+
run: |
|
32
|
+
set -x # Enable debugging output
|
33
|
+
aider_version_output=$(aider --version)
|
34
|
+
if [ $? -ne 0 ]; then
|
35
|
+
echo "Error: 'aider --version' command failed."
|
36
|
+
exit 1
|
37
|
+
fi
|
38
|
+
echo "Raw aider --version output: $aider_version_output"
|
39
|
+
|
40
|
+
# Extract version number (format X.Y.Z)
|
41
|
+
version_num=$(echo "$aider_version_output" | grep -oP '\d+\.\d+\.\d+')
|
42
|
+
|
43
|
+
# Check if grep found anything
|
44
|
+
if [ -z "$version_num" ]; then
|
45
|
+
echo "Error: Could not extract version number using grep -oP '\d+\.\d+\.\d+' from output: $aider_version_output"
|
46
|
+
exit 1
|
47
|
+
fi
|
48
|
+
|
49
|
+
echo "Extracted version number: $version_num"
|
50
|
+
echo "version=$version_num" >> $GITHUB_OUTPUT
|
51
|
+
|
52
|
+
- name: Check out code
|
53
|
+
uses: actions/checkout@v4
|
54
|
+
with:
|
55
|
+
fetch-depth: 0 # Fetch all history for all tags
|
56
|
+
|
57
|
+
- name: Get latest tag
|
58
|
+
id: latest_tag
|
59
|
+
run: |
|
60
|
+
set -x # Enable debugging output
|
61
|
+
# Fetch all tags from remote just in case
|
62
|
+
git fetch --tags origin main
|
63
|
+
# Get the latest tag that strictly matches vX.Y.Z (no suffixes like .dev)
|
64
|
+
# List all tags, sort by version descending, filter for exact pattern, take the first one
|
65
|
+
latest_tag=$(git tag --sort=-v:refname | grep -P '^v\d+\.\d+\.\d+$' | head -n 1)
|
66
|
+
|
67
|
+
if [ -z "$latest_tag" ]; then
|
68
|
+
echo "Error: Could not find any tags matching the pattern '^v\d+\.\d+\.\d+$'"
|
69
|
+
exit 1
|
70
|
+
fi
|
71
|
+
|
72
|
+
echo "Latest non-dev tag: $latest_tag"
|
73
|
+
# Remove 'v' prefix for comparison
|
74
|
+
tag_num=${latest_tag#v}
|
75
|
+
echo "Extracted tag number: $tag_num"
|
76
|
+
echo "tag=$tag_num" >> $GITHUB_OUTPUT
|
77
|
+
|
78
|
+
- name: Compare versions
|
79
|
+
run: |
|
80
|
+
echo "Installed version: ${{ steps.installed_version.outputs.version }}"
|
81
|
+
echo "Latest tag version: ${{ steps.latest_tag.outputs.tag }}"
|
82
|
+
if [ "${{ steps.installed_version.outputs.version }}" != "${{ steps.latest_tag.outputs.tag }}" ]; then
|
83
|
+
echo "Error: Installed aider version (${{ steps.installed_version.outputs.version }}) does not match the latest tag (${{ steps.latest_tag.outputs.tag }})."
|
84
|
+
exit 1
|
85
|
+
fi
|
86
|
+
echo "Versions match."
|
@@ -0,0 +1,85 @@
|
|
1
|
+
name: Docker Build Test
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
paths-ignore:
|
6
|
+
- 'aider/website/**'
|
7
|
+
- 'README.md'
|
8
|
+
- 'HISTORY.md'
|
9
|
+
- '.github/workflows/*'
|
10
|
+
- '!.github/workflows/docker-build-test.yml'
|
11
|
+
branches:
|
12
|
+
- main
|
13
|
+
pull_request:
|
14
|
+
paths-ignore:
|
15
|
+
- 'aider/website/**'
|
16
|
+
- 'README.md'
|
17
|
+
- 'HISTORY.md'
|
18
|
+
- '.github/workflows/*'
|
19
|
+
- '!.github/workflows/docker-build-test.yml'
|
20
|
+
branches:
|
21
|
+
- main
|
22
|
+
|
23
|
+
jobs:
|
24
|
+
docker_build_and_push:
|
25
|
+
runs-on: ubuntu-latest
|
26
|
+
steps:
|
27
|
+
- name: Checkout code
|
28
|
+
uses: actions/checkout@v4
|
29
|
+
with:
|
30
|
+
fetch-depth: 0
|
31
|
+
|
32
|
+
- name: Set up QEMU
|
33
|
+
uses: docker/setup-qemu-action@v3
|
34
|
+
|
35
|
+
- name: Set up Docker Buildx
|
36
|
+
uses: docker/setup-buildx-action@v3
|
37
|
+
|
38
|
+
- name: Login to DockerHub
|
39
|
+
if: ${{ github.event_name != 'pull_request' }}
|
40
|
+
uses: docker/login-action@v3
|
41
|
+
with:
|
42
|
+
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
43
|
+
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
44
|
+
|
45
|
+
- name: Build Docker images (PR)
|
46
|
+
if: ${{ github.event_name == 'pull_request' }}
|
47
|
+
uses: docker/build-push-action@v5
|
48
|
+
with:
|
49
|
+
context: .
|
50
|
+
file: ./docker/Dockerfile
|
51
|
+
platforms: linux/amd64,linux/arm64
|
52
|
+
push: false
|
53
|
+
target: aider
|
54
|
+
|
55
|
+
- name: Build Docker images (Push)
|
56
|
+
if: ${{ github.event_name != 'pull_request' }}
|
57
|
+
uses: docker/build-push-action@v5
|
58
|
+
with:
|
59
|
+
context: .
|
60
|
+
file: ./docker/Dockerfile
|
61
|
+
platforms: linux/amd64,linux/arm64
|
62
|
+
push: true
|
63
|
+
tags: ${{ secrets.DOCKERHUB_USERNAME }}/aider:dev
|
64
|
+
target: aider
|
65
|
+
|
66
|
+
- name: Build Docker full image (PR)
|
67
|
+
if: ${{ github.event_name == 'pull_request' }}
|
68
|
+
uses: docker/build-push-action@v5
|
69
|
+
with:
|
70
|
+
context: .
|
71
|
+
file: ./docker/Dockerfile
|
72
|
+
platforms: linux/amd64,linux/arm64
|
73
|
+
push: false
|
74
|
+
target: aider-full
|
75
|
+
|
76
|
+
- name: Build Docker full image (Push)
|
77
|
+
if: ${{ github.event_name != 'pull_request' }}
|
78
|
+
uses: docker/build-push-action@v5
|
79
|
+
with:
|
80
|
+
context: .
|
81
|
+
file: ./docker/Dockerfile
|
82
|
+
platforms: linux/amd64,linux/arm64
|
83
|
+
push: true
|
84
|
+
tags: ${{ secrets.DOCKERHUB_USERNAME }}/aider-full:dev
|
85
|
+
target: aider-full
|
@@ -0,0 +1,52 @@
|
|
1
|
+
name: Docker Release
|
2
|
+
|
3
|
+
on:
|
4
|
+
workflow_dispatch:
|
5
|
+
push:
|
6
|
+
tags:
|
7
|
+
- 'v[0-9]+.[0-9]+.[0-9]+'
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
docker_build_and_push:
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
steps:
|
13
|
+
- name: Checkout code
|
14
|
+
uses: actions/checkout@v4
|
15
|
+
with:
|
16
|
+
fetch-depth: 0
|
17
|
+
|
18
|
+
- name: Set up QEMU
|
19
|
+
uses: docker/setup-qemu-action@v3
|
20
|
+
|
21
|
+
- name: Set up Docker Buildx
|
22
|
+
uses: docker/setup-buildx-action@v3
|
23
|
+
|
24
|
+
- name: Login to DockerHub
|
25
|
+
uses: docker/login-action@v3
|
26
|
+
with:
|
27
|
+
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
28
|
+
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
29
|
+
|
30
|
+
- name: Build and push Docker images
|
31
|
+
uses: docker/build-push-action@v5
|
32
|
+
with:
|
33
|
+
context: .
|
34
|
+
file: ./docker/Dockerfile
|
35
|
+
platforms: linux/amd64,linux/arm64
|
36
|
+
push: true
|
37
|
+
tags: |
|
38
|
+
${{ secrets.DOCKERHUB_USERNAME }}/aider:${{ github.ref_name }}
|
39
|
+
${{ secrets.DOCKERHUB_USERNAME }}/aider:latest
|
40
|
+
target: aider
|
41
|
+
|
42
|
+
- name: Build and push Docker full image
|
43
|
+
uses: docker/build-push-action@v5
|
44
|
+
with:
|
45
|
+
context: .
|
46
|
+
file: ./docker/Dockerfile
|
47
|
+
platforms: linux/amd64,linux/arm64
|
48
|
+
push: true
|
49
|
+
tags: |
|
50
|
+
${{ secrets.DOCKERHUB_USERNAME }}/aider-full:${{ github.ref_name }}
|
51
|
+
${{ secrets.DOCKERHUB_USERNAME }}/aider-full:latest
|
52
|
+
target: aider-full
|
@@ -0,0 +1,29 @@
|
|
1
|
+
name: Process GitHub Issues
|
2
|
+
on:
|
3
|
+
schedule:
|
4
|
+
- cron: '0 */12 * * *' # Run every 12 hours
|
5
|
+
workflow_dispatch: # Allow manual triggers
|
6
|
+
|
7
|
+
jobs:
|
8
|
+
process-issues:
|
9
|
+
runs-on: ubuntu-latest
|
10
|
+
permissions:
|
11
|
+
issues: write # Required to modify issues
|
12
|
+
|
13
|
+
steps:
|
14
|
+
- uses: actions/checkout@v3
|
15
|
+
|
16
|
+
- name: Set up Python
|
17
|
+
uses: actions/setup-python@v4
|
18
|
+
with:
|
19
|
+
python-version: '3.x'
|
20
|
+
|
21
|
+
- name: Install dependencies
|
22
|
+
run: |
|
23
|
+
python -m pip install --upgrade pip
|
24
|
+
pip install requests python-dotenv tqdm
|
25
|
+
|
26
|
+
- name: Run issues script
|
27
|
+
env:
|
28
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
29
|
+
run: python scripts/issues.py --yes
|
@@ -0,0 +1,87 @@
|
|
1
|
+
# This workflow uses actions that are not certified by GitHub.
|
2
|
+
# They are provided by a third-party and are governed by
|
3
|
+
# separate terms of service, privacy policy, and support
|
4
|
+
# documentation.
|
5
|
+
|
6
|
+
# Sample workflow for building and deploying a Jekyll site to GitHub Pages
|
7
|
+
name: Deploy Jekyll site to Pages
|
8
|
+
|
9
|
+
on:
|
10
|
+
push:
|
11
|
+
branches:
|
12
|
+
- "main"
|
13
|
+
paths:
|
14
|
+
- "aider/website/**"
|
15
|
+
- ".github/workflows/pages.yml"
|
16
|
+
|
17
|
+
# Allows you to run this workflow manually from the Actions tab
|
18
|
+
workflow_dispatch:
|
19
|
+
|
20
|
+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
|
21
|
+
permissions:
|
22
|
+
contents: read
|
23
|
+
pages: write
|
24
|
+
id-token: write
|
25
|
+
|
26
|
+
# Allow one concurrent deployment
|
27
|
+
concurrency:
|
28
|
+
group: "pages"
|
29
|
+
cancel-in-progress: true
|
30
|
+
|
31
|
+
jobs:
|
32
|
+
# Build job
|
33
|
+
build:
|
34
|
+
runs-on: ubuntu-latest
|
35
|
+
defaults:
|
36
|
+
run:
|
37
|
+
working-directory: aider/website
|
38
|
+
steps:
|
39
|
+
- name: Checkout
|
40
|
+
uses: actions/checkout@v4
|
41
|
+
with:
|
42
|
+
fetch-depth: 0
|
43
|
+
- name: Setup Ruby
|
44
|
+
uses: ruby/setup-ruby@v1
|
45
|
+
with:
|
46
|
+
ruby-version: '3.3' # Not needed with a .ruby-version file
|
47
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
48
|
+
cache-version: 0 # Increment this number if you need to re-download cached gems
|
49
|
+
working-directory: '${{ github.workspace }}/aider/website'
|
50
|
+
- name: Setup Pages
|
51
|
+
id: pages
|
52
|
+
uses: actions/configure-pages@v3
|
53
|
+
- name: Build with Jekyll
|
54
|
+
# Outputs to the './_site' directory by default
|
55
|
+
run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
|
56
|
+
env:
|
57
|
+
JEKYLL_ENV: production
|
58
|
+
- name: Upload artifact
|
59
|
+
uses: actions/upload-pages-artifact@v3
|
60
|
+
with:
|
61
|
+
path: "aider/website/_site"
|
62
|
+
|
63
|
+
# Deployment job
|
64
|
+
deploy:
|
65
|
+
environment:
|
66
|
+
name: github-pages
|
67
|
+
url: ${{ steps.deployment.outputs.page_url }}
|
68
|
+
runs-on: ubuntu-latest
|
69
|
+
needs: build
|
70
|
+
steps:
|
71
|
+
- name: Deploy to GitHub Pages
|
72
|
+
id: deployment
|
73
|
+
uses: actions/deploy-pages@v4
|
74
|
+
|
75
|
+
- name: Set up Python 3.12
|
76
|
+
uses: actions/setup-python@v5
|
77
|
+
with:
|
78
|
+
python-version: '3.12'
|
79
|
+
|
80
|
+
- name: Install linkchecker
|
81
|
+
run: |
|
82
|
+
python -m pip install --upgrade pip
|
83
|
+
python -m pip install linkchecker
|
84
|
+
|
85
|
+
- name: Run linkchecker
|
86
|
+
run: |
|
87
|
+
linkchecker --ignore-url='.+\.(mp4|mov|avi)' https://aider.chat
|
@@ -0,0 +1,48 @@
|
|
1
|
+
---
|
2
|
+
name: pre-commit
|
3
|
+
on:
|
4
|
+
pull_request:
|
5
|
+
push:
|
6
|
+
workflow_dispatch:
|
7
|
+
jobs:
|
8
|
+
pre-commit:
|
9
|
+
runs-on: ubuntu-latest
|
10
|
+
env:
|
11
|
+
RAW_LOG: pre-commit.log
|
12
|
+
CS_XML: pre-commit.xml
|
13
|
+
steps:
|
14
|
+
- run: sudo apt-get update && sudo apt-get install cppcheck uncrustify
|
15
|
+
if: false
|
16
|
+
- uses: actions/checkout@v4
|
17
|
+
- run: python -m pip install pre-commit
|
18
|
+
- uses: actions/cache/restore@v4
|
19
|
+
with:
|
20
|
+
path: ~/.cache/pre-commit/
|
21
|
+
key: pre-commit-4|${{ env.pythonLocation }}|${{ hashFiles('.pre-commit-config.yaml') }}
|
22
|
+
- name: Run pre-commit hooks
|
23
|
+
env:
|
24
|
+
SKIP: no-commit-to-branch
|
25
|
+
run: |
|
26
|
+
set -o pipefail
|
27
|
+
pre-commit gc
|
28
|
+
pre-commit run --show-diff-on-failure --color=always --all-files | tee ${RAW_LOG}
|
29
|
+
- name: Convert Raw Log to Checkstyle format (launch action)
|
30
|
+
uses: mdeweerd/logToCheckStyle@v2025.1.1
|
31
|
+
if: ${{ failure() }}
|
32
|
+
with:
|
33
|
+
in: ${{ env.RAW_LOG }}
|
34
|
+
# out: ${{ env.CS_XML }}
|
35
|
+
- uses: actions/cache/save@v4
|
36
|
+
if: ${{ ! cancelled() }}
|
37
|
+
with:
|
38
|
+
path: ~/.cache/pre-commit/
|
39
|
+
key: pre-commit-4|${{ env.pythonLocation }}|${{ hashFiles('.pre-commit-config.yaml') }}
|
40
|
+
- name: Provide log as artifact
|
41
|
+
uses: actions/upload-artifact@v4
|
42
|
+
if: ${{ ! cancelled() }}
|
43
|
+
with:
|
44
|
+
name: precommit-logs
|
45
|
+
path: |
|
46
|
+
${{ env.RAW_LOG }}
|
47
|
+
${{ env.CS_XML }}
|
48
|
+
retention-days: 2
|
@@ -0,0 +1,34 @@
|
|
1
|
+
name: PyPI Release
|
2
|
+
|
3
|
+
on:
|
4
|
+
workflow_dispatch:
|
5
|
+
push:
|
6
|
+
tags:
|
7
|
+
- 'v[0-9]+.[0-9]+.[0-9]+'
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
build_and_publish:
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
steps:
|
13
|
+
- name: Checkout code
|
14
|
+
uses: actions/checkout@v4
|
15
|
+
with:
|
16
|
+
fetch-depth: 0
|
17
|
+
|
18
|
+
- name: Set up Python
|
19
|
+
uses: actions/setup-python@v5
|
20
|
+
with:
|
21
|
+
python-version: 3.x
|
22
|
+
|
23
|
+
- name: Install dependencies
|
24
|
+
run: |
|
25
|
+
python -m pip install --upgrade pip
|
26
|
+
pip install build setuptools wheel twine importlib-metadata==7.2.1
|
27
|
+
|
28
|
+
- name: Build and publish
|
29
|
+
env:
|
30
|
+
TWINE_USERNAME: __token__
|
31
|
+
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
32
|
+
run: |
|
33
|
+
python -m build
|
34
|
+
twine upload dist/*
|
@@ -0,0 +1,61 @@
|
|
1
|
+
name: Ubuntu Python Tests
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
paths-ignore:
|
6
|
+
- 'aider/website/**'
|
7
|
+
- 'README.md'
|
8
|
+
- 'HISTORY.md'
|
9
|
+
- '.github/workflows/*'
|
10
|
+
- '!.github/workflows/ubuntu-tests.yml'
|
11
|
+
branches:
|
12
|
+
- main
|
13
|
+
pull_request:
|
14
|
+
paths-ignore:
|
15
|
+
- 'aider/website/**'
|
16
|
+
- 'README.md'
|
17
|
+
- 'HISTORY.md'
|
18
|
+
- '.github/workflows/*'
|
19
|
+
- '!.github/workflows/ubuntu-tests.yml'
|
20
|
+
branches:
|
21
|
+
- main
|
22
|
+
|
23
|
+
jobs:
|
24
|
+
build:
|
25
|
+
runs-on: ubuntu-latest
|
26
|
+
strategy:
|
27
|
+
matrix:
|
28
|
+
python-version: ["3.10", "3.11", "3.12"]
|
29
|
+
|
30
|
+
steps:
|
31
|
+
- name: Check out repository
|
32
|
+
uses: actions/checkout@v4
|
33
|
+
with:
|
34
|
+
fetch-depth: 0
|
35
|
+
|
36
|
+
- name: Set up Python ${{ matrix.python-version }}
|
37
|
+
uses: actions/setup-python@v5
|
38
|
+
with:
|
39
|
+
python-version: ${{ matrix.python-version }}
|
40
|
+
|
41
|
+
- name: Install system dependencies
|
42
|
+
run: |
|
43
|
+
sudo apt-get update
|
44
|
+
sudo apt-get install -y libportaudio2
|
45
|
+
|
46
|
+
- name: Install dependencies
|
47
|
+
run: |
|
48
|
+
python -m pip install --upgrade pip
|
49
|
+
pip install pytest
|
50
|
+
export SETUPTOOLS_SCM_PRETEND_VERSION_FOR_AIDER_CHAT=0.1.0
|
51
|
+
pip install -e .[dev,playwright]
|
52
|
+
|
53
|
+
- name: Install playwright browsers
|
54
|
+
run: |
|
55
|
+
python -m playwright install --with-deps chromium
|
56
|
+
|
57
|
+
- name: Run tests
|
58
|
+
env:
|
59
|
+
AIDER_ANALYTICS: false
|
60
|
+
run: |
|
61
|
+
pytest
|
@@ -0,0 +1,57 @@
|
|
1
|
+
name: Windows Python Tests
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
paths-ignore:
|
6
|
+
- 'aider/website/**'
|
7
|
+
- 'README.md'
|
8
|
+
- 'HISTORY.md'
|
9
|
+
- '.github/workflows/*'
|
10
|
+
- '!.github/workflows/windows-tests.yml'
|
11
|
+
branches:
|
12
|
+
- main
|
13
|
+
pull_request:
|
14
|
+
paths-ignore:
|
15
|
+
- 'aider/website/**'
|
16
|
+
- 'README.md'
|
17
|
+
- 'HISTORY.md'
|
18
|
+
- '.github/workflows/*'
|
19
|
+
- '!.github/workflows/windows-tests.yml'
|
20
|
+
branches:
|
21
|
+
- main
|
22
|
+
|
23
|
+
jobs:
|
24
|
+
build:
|
25
|
+
runs-on: windows-latest
|
26
|
+
strategy:
|
27
|
+
matrix:
|
28
|
+
python-version: ["3.10", "3.11", "3.12"]
|
29
|
+
|
30
|
+
steps:
|
31
|
+
- name: Check out repository
|
32
|
+
uses: actions/checkout@v4
|
33
|
+
with:
|
34
|
+
fetch-depth: 0
|
35
|
+
|
36
|
+
- name: Set up Python ${{ matrix.python-version }}
|
37
|
+
uses: actions/setup-python@v5
|
38
|
+
with:
|
39
|
+
python-version: ${{ matrix.python-version }}
|
40
|
+
|
41
|
+
- name: Install dependencies
|
42
|
+
run: |
|
43
|
+
python -m pip install --upgrade pip
|
44
|
+
pip install pytest
|
45
|
+
$env:SETUPTOOLS_SCM_PRETEND_VERSION_FOR_AIDER_CHAT="0.1.0"
|
46
|
+
pip install -e .[dev,playwright]
|
47
|
+
|
48
|
+
- name: Install playwright browsers
|
49
|
+
run: |
|
50
|
+
python -m playwright install --with-deps chromium
|
51
|
+
|
52
|
+
- name: Run tests
|
53
|
+
env:
|
54
|
+
AIDER_ANALYTICS: false
|
55
|
+
run: |
|
56
|
+
pytest
|
57
|
+
|
@@ -0,0 +1,90 @@
|
|
1
|
+
name: Windows Check PyPI Version
|
2
|
+
|
3
|
+
# Check to be sure `pip install aider-chat` installs the most recently published version on Windows.
|
4
|
+
# If dependencies get yanked, it may render the latest version uninstallable.
|
5
|
+
# See https://github.com/Aider-AI/aider/issues/3699 for example.
|
6
|
+
|
7
|
+
on:
|
8
|
+
schedule:
|
9
|
+
# Run once a day at 1 AM UTC (offset from Ubuntu check)
|
10
|
+
- cron: '0 1 * * *'
|
11
|
+
workflow_dispatch: # Allows manual triggering
|
12
|
+
|
13
|
+
jobs:
|
14
|
+
check_version:
|
15
|
+
runs-on: windows-latest
|
16
|
+
strategy:
|
17
|
+
matrix:
|
18
|
+
python-version: ["3.10", "3.11", "3.12"]
|
19
|
+
defaults:
|
20
|
+
run:
|
21
|
+
shell: pwsh # Use PowerShell for all run steps
|
22
|
+
|
23
|
+
steps:
|
24
|
+
- name: Set up Python ${{ matrix.python-version }}
|
25
|
+
uses: actions/setup-python@v5
|
26
|
+
with:
|
27
|
+
python-version: ${{ matrix.python-version }}
|
28
|
+
|
29
|
+
- name: Install aider-chat
|
30
|
+
run: pip install aider-chat
|
31
|
+
|
32
|
+
- name: Get installed aider version
|
33
|
+
id: installed_version
|
34
|
+
run: |
|
35
|
+
Write-Host "Running 'aider --version'..."
|
36
|
+
$aider_version_output = aider --version
|
37
|
+
if ($LASTEXITCODE -ne 0) {
|
38
|
+
Write-Error "Error: 'aider --version' command failed."
|
39
|
+
exit 1
|
40
|
+
}
|
41
|
+
Write-Host "Raw aider --version output: $aider_version_output"
|
42
|
+
|
43
|
+
# Extract version number (format X.Y.Z) using PowerShell regex
|
44
|
+
$match = [regex]::Match($aider_version_output, '\d+\.\d+\.\d+')
|
45
|
+
|
46
|
+
if (-not $match.Success) {
|
47
|
+
Write-Error "Error: Could not extract version number using regex '\d+\.\d+\.\d+' from output: $aider_version_output"
|
48
|
+
exit 1
|
49
|
+
}
|
50
|
+
$version_num = $match.Value
|
51
|
+
|
52
|
+
Write-Host "Extracted version number: $version_num"
|
53
|
+
echo "version=$version_num" >> $env:GITHUB_OUTPUT
|
54
|
+
|
55
|
+
- name: Check out code
|
56
|
+
uses: actions/checkout@v4
|
57
|
+
with:
|
58
|
+
fetch-depth: 0 # Fetch all history for all tags
|
59
|
+
|
60
|
+
- name: Get latest tag
|
61
|
+
id: latest_tag
|
62
|
+
run: |
|
63
|
+
Write-Host "Fetching tags..."
|
64
|
+
# Fetch all tags from remote just in case
|
65
|
+
git fetch --tags origin main
|
66
|
+
Write-Host "Getting latest non-dev tag..."
|
67
|
+
# Get the latest tag that strictly matches vX.Y.Z (no suffixes like .dev)
|
68
|
+
# List all tags, sort by version descending, filter for exact pattern, take the first one
|
69
|
+
$latest_tag = (git tag --sort=-v:refname | Select-String -Pattern '^v\d+\.\d+\.\d+$' | Select-Object -First 1).Line
|
70
|
+
|
71
|
+
if (-not $latest_tag) {
|
72
|
+
Write-Error "Error: Could not find any tags matching the pattern '^v\d+\.\d+\.\d+$'"
|
73
|
+
exit 1
|
74
|
+
}
|
75
|
+
|
76
|
+
Write-Host "Latest non-dev tag: $latest_tag"
|
77
|
+
# Remove 'v' prefix for comparison
|
78
|
+
$tag_num = $latest_tag.Substring(1)
|
79
|
+
Write-Host "Extracted tag number: $tag_num"
|
80
|
+
echo "tag=$tag_num" >> $env:GITHUB_OUTPUT
|
81
|
+
|
82
|
+
- name: Compare versions
|
83
|
+
run: |
|
84
|
+
Write-Host "Installed version: ${{ steps.installed_version.outputs.version }}"
|
85
|
+
Write-Host "Latest tag version: ${{ steps.latest_tag.outputs.tag }}"
|
86
|
+
if ("${{ steps.installed_version.outputs.version }}" -ne "${{ steps.latest_tag.outputs.tag }}") {
|
87
|
+
Write-Error "Error: Installed aider version (${{ steps.installed_version.outputs.version }}) does not match the latest tag (${{ steps.latest_tag.outputs.tag }})."
|
88
|
+
exit 1
|
89
|
+
}
|
90
|
+
Write-Host "Versions match."
|