Repository navigation
feat(web): add basic SEO and link zycode to the repo and PyPI - #54
Merged
Merged
Conversation
- web/src/layouts/Base.astro: JSON-LD (WebSite, SoftwareSourceCode) on the home pages, twitter:site, twitter:image:alt, and the links to the new icons. - web/public: favicon.ico (16, 32, 48 px) and apple-touch-icon.png (180 px), drawn from the shapes of favicon.svg. Both returned 404 before. - README.md and packages/pi-agent-cli/README.md: one sentence that names zycode and links zycode.dev. The name was not in the README before. - pyproject.toml (root and 6 packages): Website project URL. PyPI shows it after the next release. - web/README.md: sections "Icons" and "Search engines", with the rules for the JSON-LD (sourced values only, no rating, no review).
zy1233
added a commit
that referenced
this pull request
Oct 30, 2026
…#55) Core, harness and cli go from 0.6.0 to 0.7.0. They pin each other with ==. The two TUI crates that zypi shows (pi-pager-bin, pi-version) and tui/Cargo.lock carry the same version (scripts/tests/test_release_versions.py). The extension packages are released with the core, so all four need pi-agent-core-lc>=0.7.0 (pi_agent_core/tests/test_extension_packaging.py), and pi-dynamic-workflows-py also needs pi-agent-harness-lc>=0.7.0. The publish step skips a version that is on PyPI already, so they get new versions: web-access, goal-x and dynamic-workflows 0.3.0 -> 0.4.0, pi-mcp 0.1.0 -> 0.2.0. The README of pi-mcp-py (its PyPI page) names the new floor. CHANGELOG.md: [Unreleased] becomes [0.7.0] - 2026-10-30. It gets an opening paragraph (the release page shows it first), entries for the site (#50 to #54), the PyPI Website link, the queue cleanup fix (#47) and the new version numbers, and the known issues of 0.6.0 that still hold. The one about F7-02 to F7-09 is gone: the fixes are in this release. The entry for the console script and the README of pi-agent-cli-lc say 0.7.0, not "the next release". Why now: the published 0.6.0 has no `--setup` and no `pi-agent-cli-lc` console script, but the site and the README on main describe both. Checks: PR checks 6 of 6, and a dry run of Release on the branch (tests, both TUI builds, Python packages): https://github.com/zy1233/pi-python/actions/runs/41037156832
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
Evidence
Before:
https://zycode.dev/favicon.icoand/apple-touch-icon.pngreturn 404. The word "zycode" isnot in
README.md, not in the PyPI pages, and the GitHub About text is "pi-agent for python" with no website.After: both icons return 200 (
image/x-icon,image/png), and each page has one JSON-LD block.Built pages (
dist/index.html,dist/zh/index.html,dist/404.html), checked by a script:the JSON-LD is valid JSON with 2 nodes; no
aggregateRating, noreview; no raw<in it; one<h1>;twitter:siteis@zycodey1; the canonical link is onzycode.dev;404.htmlhasnoindexand no JSON-LD.Each of the 14 JSON-LD properties is a property of its type in the schema.org vocabulary (release 30.1):
a script read the vocabulary file and followed
domainIncludesthrough the parent types.The icons match
favicon.svg: Edge draws the SVG at 256 px; mean difference tofavicon.icoartis 0.3 of 255, and 1 pixel of 65,536 differs by more than 48.
In a browser (
npm run preview): the page shows as before, andfetchof the 3 icons gives 200.npm run check: 0 errors.npm run build: 3 pages.ruff check .andruff format --check .: pass.scripts/tests/test_release_versions.py: 4 passed.uv build --wheelfor the root package and forpi-agent-cli-lc: the wheel metadata hasProject-URL: Website, https://zycode.dev.Not tested: Google Rich Results Test and Search Console (the page is not public before the merge, and
Google and schema.org do not answer from my network); PageSpeed; how a search engine shows the site after a crawl.
Outside this pull request: I set the GitHub About text, the website, and 10 topics of the repository.
I opened agentclientprotocol/agent-client-protocol#2681,
which adds zycode to the agents list of the ACP site.
Merge Danger
Door: two-way. Revert the commit to go back.
A merge changes
web/, so Cloudflare Workers Builds deployszycode.devby itself (about one minute).The change adds head tags and two static files. The body of the pages does not change.
Blast Radius: the
<head>of/and/zh/(search engines, link previews, the tab icon), and the PyPImetadata of 7 packages. The PyPI pages change only after the next release.