Imported from icakad97/icakad (
AGENTS.md). Install upstream withnpx skills add icakad97/icakad. Copyright stays with the author.
Repository Guidelines
Project Structure & Module Organization
- Source lives in
src/icakad; expose public helpers through__init__.pyand keep shared utilities undericakad/common. shorturl.pyandpaste.pywrap the Cloudflare workers;cli.pypowerspython -m icakad;config.pyresolves tokens and base URLs.- HTML documentation is served from
docs/; update it alongside code so non-developers can browse guides locally. - Tests reside in
tests/and mirror the package layout.
Ecosystem & Links
- PyPI client: GitHub
@icakad(icakadpackage). - Short URL worker: GitHub
@shorturl(linkove.icu/api). - Pastebin worker: GitHub
@paste(linkove.icupaste endpoints). - Active server context:
xp97.icu; all three projects stay in sync through their GitHub repositories.
Build, Test, and Development Commands
python -m pip install -e .— editable install for local hacking.python -m build— regeneratedist/artifacts after version bumps.python -m unittestorpython -m pytest— run the test suite (ensure new helpers ship with coverage).python -m icakad --help— list CLI actions; running without arguments opens the HTML docs.
Coding Style & Naming Conventions
- Target Python ≥3.8 with type hints; follow PEP 8 and keep lines ≤88 characters.
- Name branches
codex/<feature>and prefer imperative commit titles. - Export any new public function via
__all__; prefix module-private helpers with an underscore. - Keep JSON, HTML, and other assets in ASCII unless project requirements dictate otherwise.
Testing Guidelines
- Mirror modules in
tests/(e.g.tests/test_icakad.py) and mock network calls to keep the suite offline-friendly. - Include regression tests when adjusting API parsing or CLI argument handling.
- Capture output written with
save_to=in tests to guarantee the file workflows stay stable.
Commit & Pull Request Guidelines
- Record executed build/test commands in each PR and link related worker changes when touching @shorturl or @paste.
- Provide screenshots or curl logs for API-facing changes when possible.
- Keep PR descriptions concise: problem, solution, verification.
Security & Agent Integration Tips
- Load credentials from config files or environment variables; never commit tokens.
- Verify worker health with
curl https://linkove.icu/api/health(or the staging equivalent athttps://xp97.icu). - Document cross-repo impacts in PRs so companion agents stay in sync.