AGENTS.md 2.4 KB

Repository Guidelines

Project Structure & Module Organization

All scripts live at the repository root to be discoverable from the WSL $PATH. Wrapper utilities sit alongside their Windows counterparts: win_edit, win_diff, vls_python, and win_svn_dialog. Shared Subversion helpers reside in svn_interact/, with svn_git_init symlinked for convenience. Keep new scripts self-contained at the top level or grouped in a subdirectory with a symlinked entry point when reuse is required.

Build, Test, and Development Commands

These Bash wrappers ship without a build step; prefer quick local smoke checks instead. Use bash -n ./script_name for syntax validation and shellcheck ./script_name to surface style or portability issues. When touching svn_interact helpers, run them against a staging checkout (/mnt/d/...) to confirm argument flow before pushing.

Coding Style & Naming Conventions

Author scripts in POSIX-compatible Bash with set -euo pipefail unless there is a strong reason to omit it. Indent with two spaces, avoid tabs, and keep functions lowercase with underscores (e.g., resolve_path). Environment variables should be uppercase and declared near their first use. Prefer explicit paths over relying on implicit Windows drive mappings; document any required Windows-side tools at the top of the script.

Testing Guidelines

There is no automated test harness today, so rely on targeted manual runs. Capture typical usage as commented examples within the script header. When editing command wrappers, verify both success and failure branches, and confirm exit codes propagate correctly so CI jobs can depend on them later.

Commit & Pull Request Guidelines

Write commits in the imperative mood (Add, Fix, Refactor). Bundle related changes together and include a short context line when behaviour changes (e.g., "Handle missing python.exe path"). For pull requests, link relevant issue IDs, describe expected usage changes, and paste sample command output or screenshots when altering user-facing shell prompts.

Security & Configuration Tips

Many scripts call Windows executables via /mnt/*. Double-check those paths before merging, and keep credentials out of tracked files by relying on environment variables or Windows Credential Manager. If a script requires elevated privileges, call that out in the header comments and provide a guarded flag (e.g., --force).