Install-path testing: install.sh smoke tests, CI, and dev docs#9
Merged
Conversation
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
These design plans and specs were gitignored, so the rationale behind major features lived on disk but not in history. Tracking them makes the "why" available via git and to anyone who clones the repo. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Captures the dev commands (uv run + check.sh), test markers and the 90% coverage gate, naming/packaging gotchas (aai_cli vs aai-cli vs aai, committed templates with renamed dotfiles), architecture, and the errors-to-stderr/data-to-stdout convention so a fresh agent has the in-repo context that previously lived only outside the repo. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Track the shareable parts of .claude/ (settings, agents, skills, commands) and add .mcp.json, narrowing .gitignore to only ignore settings.local.json. - settings.json: format/lint-on-edit (PostToolUse ruff) and a lock/secret-file write guard (PreToolUse); a conservative committed permission allowlist (uv/ruff/mypy/pytest/pre-commit/check.sh + read-only git/gh + docs MCP) plus a deny block on reading .env/keys. - agents/: security-reviewer (auth/credential/subprocess) and template-contract-reviewer (aai init templates + wheel packaging). - skills/: /check (full gate) and /release-prep (version+build+smoke), user-only. - commands/: /review-changes wires both reviewers, scoped to the diff. - .mcp.json: GitHub remote MCP server (per-user OAuth, no token committed). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The bare http config made Claude Code attempt OAuth dynamic client
registration, which api.githubcopilot.com rejects ("does not support
dynamic client registration"). Pass a token via the Authorization
header instead, read from ${GITHUB_PAT} so no credential is committed.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Resolve conflicts in pyproject.toml and scripts/check.sh: keep both the install_script (install.sh smoke test) and install (per-template dep install) pytest markers, and exclude all three slow marker sets from the default gate. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… [dev] extra Dev deps are a PEP 735 dependency-group, not an optional extra, so `pip install -e ".[dev]"` installed no dev deps (pip just warns the extra is missing) and pytest was absent — `python -m pytest` failed with "No module named pytest". Mirror the lint/test job: upgrade pip (>= 25.1 for --group) and install with `--group dev`. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The merge with main raised the minimum Python to 3.11 (install.sh + pyproject), but the install.sh shell-logic tests still asserted the old "Python 3.10+ is required" message — update them to 3.11. Also add the trailing newline end-of-file-fixer wanted on the account-commands plan doc. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Hardens
install.shwith real coverage and lands supporting CI/dev-tooling and the in-repo design docs.install.shtestingtests/test_install_sh.py) with anAAI_SPECseam so the script's branching is testable without a real install.tests/test_install_script_smoke.py,install_scriptmarker) that actually installs and boots the CLI.install.shwired intoscripts/check.sh.install-smokeCI job exercisinginstall.shend-to-end.CI / tooling
main..mcp.json: GitHub MCP server authenticated via a${GITHUB_PAT}header.release-prepClaude skill + team-shared.claudeautomations.Docs
CLAUDE.mdagent/dev guide.docs/superpowers/{plans,specs}in version control.Note on merge
This branch predates the just-merged #8, so it overlaps on
ci.yml,install.sh,pyproject.toml,scripts/check.sh, andtests/test_install_sh.py. A rebase onto currentmainis likely needed before merge to resolve those.🤖 Generated with Claude Code