Some checks failed
CI / test (push) Failing after 5s
Co-authored-by: Copilot <copilot@github.com>
2.3 KiB
2.3 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[Unreleased]
Added
README.md— project overview, description, example workflow, supported distributions, and suggested toolingROADMAP.md— phased development plan covering decisions, data collection, AI integration, CLI design, and hardeningCHANGELOG.md— this file; established changelog tracking for the project.gitea/workflows/ci.yml— Gitea Actions CI workflow for push and pull request events- Gitea CI now uses native
gitcheckout and system Python setup to avoid host-executor JavaScript action path issues - Gitea native checkout now uses
CI_GIT_TOKENrepository secret for authenticated fetch from private repos - Python package scaffold with
srclayout and project metadata inpyproject.toml - Initial CLI entrypoint with agreed SSH flags:
--identity-file,--jump-host, and--ignore-ssh-config - Input parsing/validation module and core request model
- SSH configuration scaffold module for upcoming connection/read-only execution work
- Implemented SSH module with real key-based command execution via system
ssh - Added explicit SSH port support across CLI, input parsing, request model, and SSH client (
--port, e.g. 5566) - Added live SSH connectivity probe (
uname -a) enabled by default, with--no-probeopt-out and non-zero exit on failure - Read-only command policy enforcement (allowlist + blocked shell operators)
- Test scaffold (
pytest) with initial parser and CLI coverage - SSH test coverage for policy checks, SSH argument construction, and config summary behavior
- CI workflow for lint (
ruff), type-check (mypy), and tests (pytest)
Decided
- Implementation language: Python
- Distribution strategy: single distributable binary via Nuitka (PyInstaller as fallback)
- SSH authentication: keypair only (ed25519/RSA); auto-accept new hosts; hard reject on host key change with MITM warning
- SSH bastion support:
--jump-hostflag using SSH native ProxyJump - SSH config behavior: use
~/.ssh/configby default; allow override via--ignore-ssh-config - Interface: interactive REPL for v0.1;
textual-based TUI (split-pane) for v0.2+