29 Commits
Author SHA1 Message Date
David Burns a85a35e87d docs(appium): add llms.txt to the documentation site (#22839)
* docs(appium): add llms.txt to the documentation site

Adds an /llms.txt file (https://llmstxt.org/) so that LLMs can navigate the
Appium documentation without crawling it, following the same approach taken by
the Selenium project.

The file is hand-written rather than generated. Its value lies in the parts a
crawler could not work out on its own: a set of steering notes covering what
models reliably get wrong about Appium (Appium 1 era patterns, drivers needing
separate installation, the `appium:` capability prefix, `mobile:` execute
methods, the Appium 3 `--allow-insecure` scope prefix, and the move from
GET /sessions to GET /appium/sessions), followed by conceptually grouped links
with a description for each page.

MkDocs copies non-Markdown files in docs_dir to the site verbatim, so this
requires no plugin, no new dependency and no build configuration. It is served
at appium.io/docs/en/latest/llms.txt, and mike gives a per-version copy for
free.

Because the file is hand-written, nothing regenerates it when a page is renamed
or removed. check-llmstxt.js validates it against the documentation sources and
runs on every docs PR: broken links fail the build, while pages that exist but
are not listed produce a warning (or fail under --strict).

The root of appium.io is not produced by MkDocs, but crawlers look for
/llms.txt at the domain root. Since the links in the file are absolute, the
same file serves both locations, so the publish workflow copies it to the
gh-pages root on release. mike only writes under its docs/<lang> deploy prefix,
so this does not interfere with it.

English only, matching Selenium and WebdriverIO. The ja/zh docs are translated
via Crowdin, where hand-edited descriptions would drift out of sync.

* docs(appium): address llms.txt review feedback

- Describe the standard W3C capabilities as the specification's set rather than
  only browserName/browserVersion/platformName, so that generated code does not
  vendor-prefix acceptInsecureCerts, timeouts, pageLoadStrategy or webSocketUrl.
- Say that these pages describe Appium 3, and that Appium 2 is documented under
  its own version of the site, instead of claiming both are covered here.
- Note watchOS for the XCUITest driver, and the AI-related tools (Appium MCP,
  agent skills) alongside Appium Inspector.
- Correct the event timings entry: the endpoint works without the
  appium:eventTimings capability, which is being removed in Appium 4.
- check-llmstxt.js: a page that exists but is not listed is now an error rather
  than a warning, since a warning in CI logs is easy to miss. The --strict flag
  is gone, as that is now the only behaviour.
- check-llmstxt.js: validate relative and site-relative links too. A link such
  as /docs/en/3.7/guides/caps/ was previously treated as external and skipped,
  so a pinned version could have slipped past the check.
2026-10-02 13:18:58 +03:00
renovate[bot] 57092711c0 chore(workflows): update actions/checkout action to v7.0.1 (#22521)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-21 08:30:47 +02:00
renovate[bot] 4bb987c037 chore(workflows): update actions/checkout action to v7 (#22413)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-21 15:07:56 +03:00
renovate[bot] 27a4161b67 chore(setup-build): pin dependencies (#22341)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-03 19:11:51 +03:00
renovate[bot] 52b96394d6 chore(workflows): pin bahmutov/npm-install action to v1.12.1 (#22201)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-22 12:05:13 +03:00
renovate[bot] 2fd9cfb6d5 chore(workflows): update actions/checkout action to v6 (#21743)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-21 09:36:23 +02:00
renovate[bot] 321ab5a9d6 chore(workflows): update actions/checkout action to v5 (#21483)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-13 15:55:17 +03:00
Edgars Eglītis 00cd1b4b0f fix(docutils): restore support for Python <3.12 (#20675)
* fix(docutils): restore support for Python <3.12

* fix(docutils): only add the pip flag when required

* chore: fix lint

* chore: tune version number validation

* chore: address review comments

* chore: use env var to handle any pip version

* chore: remove unused import

* docs: add the env variable to zh docs

* fix: pass env vars properly on Windows

* chore: improve readability
2024-10-19 00:07:30 +03:00
Edgars Eglītis 8d7cec96d8 fix(docutils): support Python 3.12+ (#20666) 2024-10-14 20:40:31 +03:00
Edgars Eglītis 179ae7abe5 chore(renovate,workflows): unpin GitHub Action digests (#19484)
* chore(workflows): unpin all actions

* chore(renovate): do not pin GitHub Actions

* chore(workflows): fix renovate-config-validator
2023-12-06 09:18:40 -08:00
Edgars Eglītis 7528fcf890 fix(docutils): remove @appium/typedoc-plugin-appium and all other uses of typedoc (#19465) 2023-12-05 08:46:07 +01:00
Edgars Eglītis d73cfa75d4 ci: run CI only for master branch (#19416) 2023-11-14 23:02:24 +01:00
renovate[bot] aad2957624 chore(workflows): update actions/checkout digest to b4ffde6 2023-10-19 21:43:21 +00:00
renovate[bot] 2d3c1d797d chore(workflows): update actions/checkout digest to 8ade135 2023-09-23 09:28:02 +00:00
renovate[bot] 8dcdab323a chore(workflows): update actions/checkout action to v4 (#19121)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-15 17:03:30 +02:00
renovate[bot] 8599c2a0b3 chore(workflows): update actions/checkout digest to f43a0e5 2023-08-25 11:14:46 +00:00
renovate[bot] b7cecfffb5 chore(workflows): update actions/checkout digest to c85c95e 2023-06-28 08:20:51 +00:00
Christopher Hiller fe96af91f2 chore(ci): disable PR preview
The PR preview won't work when run from forks because there's no safe way to let forks write to our own `gh-pages` branch.

We'll need to find another strategy to get this working again.

For now, the docs build just builds the docs, like it did before.
2023-04-17 14:01:38 -07:00
renovate[bot] c7d9a456d8 chore(workflows): update actions/checkout digest to 8e5e7e5 2023-04-14 09:17:28 +00:00
renovate[bot] e8590c77e7 chore(workflows): update actions/checkout digest to 83b7061 2023-04-13 12:30:52 +00:00
Christopher Hiller 42953b2add chore(ci): revert to source repo of rossjrw/pr-preview-action
A bugfix PR of mine was merged into this repo, so we can use it again.
2023-04-07 11:31:28 -07:00
renovate[bot] d0f479f7a8 chore(workflows): update boneskull/pr-preview-action digest to 9dac5c4 2023-04-07 11:30:11 +00:00
Christopher Hiller e67890f463 chore(ci): use boneskull fork of pr-preview-action
My fork should fix the bug in the action.  See https://github.com/rossjrw/pr-preview-action/pull/36
2023-04-06 16:06:32 -07:00
renovate[bot] ff46dfa814 chore(workflows): pin rossjrw/pr-preview-action action to 9dac5c4 2023-04-06 16:06:32 -07:00
Christopher Hiller eef4e3447a chore(ci): make docs preview job run in master only
since it writes to gh-pages branch
2023-04-06 12:23:58 -07:00
Christopher Hiller d866bddc15 chore(ci): filter more workflows
This causes the "Build" workflow to only trigger if the PR modifies files in paths that might affect the build.

Likewise, the "Build Docs" workflow is expanded to rebuild docs if API changes occur (e.g. in sources).

Also restricts perms a bit more on docs build.
2023-04-05 14:37:05 -07:00
renovate[bot] 5c0315d3bb chore(workflows): update actions/checkout digest to 8f4b7f8 2023-03-24 08:40:56 +00:00
renovate[bot] fc19705ecd chore(workflows): update actions/checkout digest to 24cb908 2023-03-16 13:12:23 +00:00
Christopher Hiller 9ed6711a7e chore(ci): attempt to build and preview docs
This also isolates the docs build into a workflow that only runs when changes are likely to materially affect doc gen.
2023-03-09 10:11:53 -08:00