# Contact Zhi

Use GitHub Issues for questions and bug reports. A de-identified sample and clear reproduction steps help us investigate.

HTML version: <https://zhi.cht.me/contact.html>

## Where to write

- **Bugs, template requests, and questions**: open an issue at <https://github.com/okht/zhi/issues>. This is the primary channel and the one with public history, so a question answered there helps the next person.
- **Fixes and new templates**: pull requests are welcome at <https://github.com/okht/zhi/pulls>. Run `python3 scripts/build.py --check` before opening one; it covers template lint, design-token sync, and public-fact drift.

Support is provided through the project repository on a best-effort basis. Please remove personal information from documents and screenshots before sharing a report.

## What to include in a report

Most layout reports stall on missing context. These four lines usually unblock a fix.

- The template name, for example `resume-en` or `slides-weasy`, and the Zhi version from the homepage badge or `VERSION`.
- How it was invoked: the Claude Code plugin, the Codex plugin, a Claude Desktop upload, the MCP server, or a direct `scripts/build.py` run.
- The rendered artifact, a PDF or a page PNG, rather than a description of it. Layout problems are visual and a screenshot settles most of them immediately.
- The output of the relevant check, for example `python3 scripts/build.py --check-content content.json filled.html`, if the document verified clean but still looks wrong.

For rendering failures, the exact error text matters: WeasyPrint, pypdf, and PyMuPDF are optional dependencies, and a missing one surfaces as an install hint rather than a crash. Pasting that hint is usually the whole diagnosis.

## Elsewhere

[Home](https://zhi.cht.me/) · [Developers](https://zhi.cht.me/developers.html) · [About](https://zhi.cht.me/about.html) · [Privacy](https://zhi.cht.me/privacy.html) · [Source](https://github.com/okht/zhi)
