<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://astgrep.com/advanced/core-concepts</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/advanced/custom-language</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/advanced/faq</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/advanced/find-n-patch</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/advanced/how-ast-grep-works</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/advanced/language-injection</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/advanced/match-algorithm</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/advanced/pattern-parse</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/advanced/prompting</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/advanced/tool-comparison</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/blog</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/blog/ast-grep-agent</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/blog/ast-grep-outline</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/blog/code-search-design-space</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/blog/fearless-concurrency</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/blog/how-to-debug</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/blog/interactive-demo</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/blog/mastering-ast-grep</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/blog/migrate-bevy</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/blog/more-llm-support</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/blog/new-ver-38</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/blog/new-ver-39</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/blog/new-ver-42</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/blog/new-ver-43</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/blog/optimize-ast-grep</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/blog/stars-3000</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/blog/stars-5000</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/blog/stars-6000</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/blog/stars-8000</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/blog/typed-napi</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/blog/yaml-vs-dsl</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/c/</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/c/match-function-call</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/c/rewrite-method-to-function-call</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/c/yoda-condition</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/cpp/find-struct-inheritance</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/cpp/fix-format-vuln</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/cpp/</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/go/defer-func-call-antipattern</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/go/find-func-declaration-with-prefix</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/go/</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/go/match-function-call</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/go/match-package-import</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/go/unmarshal-tag-is-dash</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/html/extract-i18n-key</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/html/</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/html/upgrade-ant-design-vue</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/java/find-field-with-type</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/java/</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/java/no-unused-vars</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/kotlin/ensure-clean-architecture</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/kotlin/</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/python/</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/python/migrate-openai-sdk</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/python/optional-to-none-union</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/python/prefer-generator-expressions</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/python/recursive-rewrite-type</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/python/refactor-pytest-fixtures</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/python/remove-async-await</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/python/rewrite-sqlalchemy-mapped-column</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/python/use-walrus-operator-in-if</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/ruby/detect-path-traversal</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/ruby/</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/ruby/migrate-action-filter</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/ruby/prefer-symbol-over-proc</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/rule-template</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/rust/avoid-duplicated-exports</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/rust/boshen-footgun</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/rust/get-digit-count-in-usize</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/rust/</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/rust/redundant-unsafe-function</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/rust/rewrite-indoc-macro</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/rust/rust-2024-let-chain-candidate</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/tsx/avoid-jsx-short-circuit</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/tsx/avoid-nested-links</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/tsx/</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/tsx/redundant-usestate-type</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/tsx/rename-svg-attribute</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/tsx/reverse-react-compiler</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/tsx/rewrite-mobx-component</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/tsx/unnecessary-react-hook</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/typescript/find-import-file-without-extension</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/typescript/find-import-identifiers</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/typescript/find-import-usage</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/typescript/</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/typescript/migrate-xstate-v5</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/typescript/missing-component-decorator</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/typescript/no-await-in-promise-all</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/typescript/no-console-except-catch</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/typescript/speed-up-barrel-import</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/typescript/switch-from-should-to-expect</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/typescript/use-logical-assignment</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/yaml/find-key-value</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/catalog/yaml/</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/cheatsheet/rule</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/cheatsheet/yaml</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/contributing/add-lang</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/contributing/development</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/contributing/how-to</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/api-usage</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/api-usage/js-api</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/api-usage/performance-tip</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/api-usage/py-api</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/introduction</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/outline-code</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/pattern-syntax</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/project/lint-rule</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/project/project-config</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/project/severity</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/quick-start</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/rewrite-code</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/rewrite/rewriter</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/rewrite/transform</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/rule-config</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/rule-config/atomic-rule</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/rule-config/composite-rule</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/rule-config/relational-rule</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/rule-config/utility-rule</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/scan-project</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/test-rule</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/tooling-overview</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/tools/editors</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/guide/tools/json</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/links/roadmap</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/playground</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/reference/api</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/reference/cli</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/reference/cli/new</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/reference/cli/outline</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/reference/cli/run</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/reference/cli/scan</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/reference/cli/test</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/reference/languages</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/reference/outline-rule-fields</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/reference/outline-rules</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/reference/playground</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/reference/rule</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/reference/rule/esquery</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/reference/sgconfig</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/reference/yaml</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/reference/yaml/fix</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/reference/yaml/rewriter</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url><url><loc>https://astgrep.com/reference/yaml/transformation</loc><lastmod>2026-07-07T04:53:55.000Z</lastmod></url></urlset>