feat: installer-first get-started funnel plus dev.to crosspost and weekly metrics scripts - #140
Merged
Conversation
…ekly metrics scripts Reorder the get-started funnel so the uv installer script is the primary install path (astral uv bootstrap followed by the openadapt-flow scripts/install.sh onboarding), keep the pip two-command path directly below as the labeled manual path, link early to the hosted demo, template gallery, and blog, and define qualification in plain language at its first use. The pip tabs on first-workflow stay for shell-specific quoting guidance; page filenames are unchanged so nav needs no edits, and docs/llms.txt descriptions track the new content. Add scripts/crosspost_devto.py (dry-run by default; posts blog RSS entries to dev.to with canonical_url set to the original post; idempotent via the authenticated article list; key only from DEVTO_API_KEY) and scripts/metrics_weekly.py (deterministic growth-metrics-YYYY-WW.md into gitignored reports/: GitHub stars/forks, HN Algolia points/comments, pypistats 7-day downloads, blog sitemap post count). Document both under scripts/README.md with a suggested weekly cron line instead of shipping a cron workflow. Note: the raw.githubusercontent.com install.sh URL requires OpenAdaptAI/ openadapt-flow PR #387 (growth/installer-first) to land on main first. Signed-off-by: abrichr <richard.abrich@mldsai.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Growth-launch "ops-docs" lane for docs.openadapt.ai.
1. Get-started funnel rewrite (
docs/get-started/index.md,docs/get-started/first-workflow.md)pip install 'openadapt[browser]'→openadapt quickstart) sits directly below, labeled "Manual path". Shell-specific quoting tabs are kept on first-workflow under the manual label.mkdocs.ymlnav is untouched.docs/llms.txt(hand-maintained surface; no generator found in-repo) updated to track the new get-started descriptions.2.
scripts/crosspost_devto.py— reads the blog RSS (verified from blog Hugo config:https://blog.openadapt.ai/index.xml;/feed.xmlis not served) and creates dev.to articles viaPOST /api/articleswithcanonical_urlset to the original post URL. Dry-run ON by default; idempotent by checking existing canonical URLs viaGET /api/articles/me/all; API key only fromDEVTO_API_KEY; stdlib + httpx only.3.
scripts/metrics_weekly.py— writes deterministicreports/growth-metrics-YYYY-WW.md: GitHub stars/forks (OpenAdapt, openadapt-flow, openadapt-capture), HN Algolia hits with summed points/comments, pypistats 7-day downloads (openadapt,openadapt-flow), blog post count from sitemap.reports/gitignored. Documented in newscripts/README.mdwith a suggested weekly cron line; no cron workflow shipped.4. llms.txt — updated per existing hand-maintenance pattern (item 4 above).
Dependency flag (needs sequencing)
The prescribed raw.githubusercontent install URL 404s until OpenAdaptAI/openadapt-flow PR #387 (
growth/installer-firstbranch addsscripts/install.sh) lands on main. This PR should merge after that one, or the docs quickstart breaks. Not merged here.Verification
uv run pytest tests/ -q→ 238 passed (15 new: fixture-feed dry-run offline-safe, idempotency planning, pagination, apply-path with mocked HTTP; metrics report rendering determinism + mocked-HTTP collection, zero network in tests)uv run mkdocs build --strict→ passesuv run python scripts/validate_docs.py→ Validation passed! (product-doc contract intact)python scripts/crosspost_devto.py --dry-run-equivalentagainsttests/fixtures/sample_feed.xmlruns fully offlinemetrics_weekly.py --helpworks; live read-only run produced a correct W34 tableruff checkon all changed Python files → cleanNotes / minor deviations
httpx>=0.27to the dev extra (task specifies stdlib+httpx);uv.lockdiff is otherwise format-only metadata churn (lock revision 3 upload-time fields) — no package versions changed.https://openadapt.ai/install.shone-liner since it competes with the canonical two-command path (the hosted script itself remains served for the landing page).