spacy-fa-pipeline/.omp/AGENTS.md

2.1 KiB

Repo context for agents

Remotes

Name URL Purpose
gitea https://gitea.cap.nlogn.ir/fazel/spacy-fa-pipeline.git Primary self-hosted Gitea

Pushing to Gitea

Credentials come from rbw (Bitwarden CLI) — no token in git config or any tracked file.

rbw entry: api/gitea_token_AllExceptAdmin

Note: the older site_farsi convention used pass gitea/token_AllExceptAdmin. That entry exists but its GPG agent is not unlocked on this machine — pass blocks for ~60s and returns empty. Use rbw.

The credential helper is set locally in .git/config (never committed):

credential.https://gitea.cap.nlogn.ir.helper=
  !f() { echo username=fazel; echo password=$(rbw get "api/gitea_token_AllExceptAdmin" | head -1); }; f

Push command (bypass proxy — Gitea is on the local network):

NO_PROXY="*" no_proxy="*" http_proxy="" https_proxy="" HTTP_PROXY="" HTTPS_PROXY="" \
  git push gitea main

If rbw is locked, rbw unlock first. To rotate: update in the Gitea UI, then rbw edit "api/gitea_token_AllExceptAdmin". No git config change needed.

What is NOT committed

.gitignore excludes assets/ corpus/ training/ metrics/ packages/ .venv/. The repo holds only source: configs, scripts, project.yml, docs. Everything else is regenerated:

python -m venv .venv && .venv/bin/python -m pip install -r requirements.txt
.venv/bin/python -m spacy project assets    # checksummed downloads
.venv/bin/python -m spacy project run all   # ~2h on 4 CPU cores

The trained wheel (13 MB) is a build artifact, not source. Publish it to the HF Hub instead — see docs/CONTRIBUTING-GUIDE.md §2.

Environment

The venv is Python 3.12.2, created from the conda env at /home/fazel/anaconda3/envs/p12 (the anaconda base python is 3.7 and cannot run spaCy 3.8). The IPython kernel available to agents is bound to that 3.7 base and will fail on this project — shell out to .venv/bin/python.

GPU (GTX 940MX, 2 GB) is unused: too small for a transformer, not worth the transfer overhead for an sm pipeline. All training is CPU, --gpu-id -1.