AGENTS.md
+9 −5
https://raw.githubusercontent.com/anandkaranubc/git-into-gsoc/HEAD/AGENTS.md
− - Before you finish, run `ruff check src tests`, `ruff format src tests`, `mypy src`, and `pytest`. All four must pass.− - Put shared logic in `src/git_into_gsoc/service.py` or a focused module. `cli.py` and `mcp_server.py` are thin layers over it.− - Every CLI option needs help text. Errors should say what happened and what to try next.− - Write docs and messages in plain language with short sentences. Define a term when it first appears. Do not use em dashes.− - Edit the skill in `skills/git-into-gsoc/` only. The copies under `.agents/skills/` and `.claude/skills/` are written by `git-into-gsoc setup` (which the installers run) and ignored by Git, like the project config files it writes.+ [CONTRIBUTING.md](CONTRIBUTING.md) is the rulebook; follow it. The points assistants most often miss:+ - Before you finish, run `ruff check src tests scripts`, `ruff format src tests scripts`, `mypy src`, and `pytest`. All four must pass, and test coverage must stay at 85% or more.+ - Shared logic goes in `src/git_into_gsoc/service.py` or a focused module. `cli.py` and `mcp_server.py` stay thin layers over it.+ - Every CLI option needs help text. Errors say what happened and what to try next.+ - Comments say why, not what, and name the real case that made a rule necessary. A public function gets a docstring when its name does not say what it returns or raises. The MCP tool docstrings and the skill are text for models; change them only with before-and-after runs.+ - Docs and messages use plain language and short sentences, define a term where it first appears, and never use em dashes. Each fact has one home (CONTRIBUTING, "Writing docs"); link to it instead of repeating it. When behavior changes, update `docs/cli.md` or `docs/mcp.md` in the same change, or a test fails.+ - Edit the skill in `skills/git-into-gsoc/` only. The copies under `.agents/skills/` and `.claude/skills/`, and the project config files next to them, are written by `git-into-gsoc setup` and ignored by Git.+ - Plugin manifests (`.claude-plugin/`, `.codex-plugin/`, `.github/plugin/`, `gemini-extension.json`), the registry entry `server.json`, and the install buttons in `README.md` and `docs/assistants.md` are generated from `src/git_into_gsoc/install/distribution.py`. Edit that file, then run `python scripts/sync_integrations.py`.+ - Never write another project's issue or pull request as `owner/repo#123`, or paste its link, in a commit message, PR title, or PR body. GitHub notifies that project on every push of the commit. Describe it in words ("SymPy issue 30671"). This repository's own `#123` is fine.