- Fix
_translate_text_to_englishdestroying multi-line CONVENTIONS.md content by collapsing all whitespace into a single line. - Fix
agentinit new --yesnot implying--force, causing unexpected errors when the target directory already exists. - Add missing error handling for unreadable files in llms.txt rendering to prevent unhandled crashes.
- Remove leftover
.ruff_cacheartifact from fastapi skeleton template.
- Make
docs/PROJECT.mdenvironment updates idempotent when rerunning the interactive wizard. - Refresh generated
llms.txtduringagentinit initeven when the file already exists, while leaving customllms.txtfiles untouched.
agentinit doctorcommand: runs all checks (missing files, TBD content, line budgets, sync drift, llms.txt freshness, contextlint) and prints actionable fix commands with a quick-fix summary.agentinit sync --diff: show unified diffs for out-of-sync router files; works standalone or combined with--check.
- Rewrite README with expanded documentation: installation, quick start, full/minimal modes, how-it-works diagram, CI integration, modular resources, and supported tools table.
- Deduplicate test helpers: move shared
fill_tbdtotests/helpers.py; add missingdetect/yesdefaults tomake_init_args; addmake_doctor_argsand updatemake_sync_argswithdiffsupport. - Fix misleading test file docstrings (all previously said "Tests for agentinit.cli").
- Add wiki documentation for architecture, commands, workflows, FAQ, troubleshooting, and contributing.
- Add
pytest-covto dev dependencies and configure coverage reporting in CI. - Add
license-filestopyproject.tomlper PEP 639. - Deduplicate scaffold argument definitions in parser via shared helper (~90 lines removed).
- Fix Italian comment in publish workflow.
- CLI edge cases and contextlint filtering:
agentinit new --forcenow fails cleanly when the target already exists as a file;agentinit add mcp/add securityupdate the intendedAGENTS.mdsection without matching headings inside fenced code blocks first;agentinit status --minimal --checklimitscontextlintto the minimal core files instead of unrelated docs;contextlintvalidates list-like config fields instead of treating strings as per-character iterables.
- Refactor scaffold internals without changing CLI behavior:
- extract scaffold and project-document update logic from
agentinit.cliinto focused internal modules; - keep
agentinit.clias a thin entrypoint with stable wrappers for existing tests and console scripts.
- extract scaffold and project-document update logic from
- Development docs now recommend creating a virtual environment before editable installs on systems that enforce PEP 668.
- Harden starter skeleton copying:
- skip transient cache directories, build artifacts, and
.egg-infocontent when copying scaffold skeletons; - add regression coverage for filtered skeleton files.
- skip transient cache directories, build artifacts, and
- Harden minimal-profile autodetection for
status --checkandsync --check.
- Remove duplicate context warnings from shipped templates.
- Harden managed-file handling for scaffold and refresh flows.
- Verify and refresh template guidance against primary sources.
- Align root
CLAUDE.mdandGEMINI.mdwith the import-based router templates. - Add shared minimal-profile detection helpers used by status and sync checks.
- Refactor the CLI into focused internal modules while preserving the public command surface.
- Split the test suite into targeted CLI/scaffold/status groups with shared helpers.
- Strengthen CI gates and refresh the README/development guidance.
- Align
agentinit status --checkline-budget hard failures withcontextlintsemantics:- treat
.contextlintrc.jsonas warning-only when oversized (no hard fail); - keep hard failures focused on always-hot router/rules files.
- treat
- Add regression coverage to ensure oversized
.contextlintrc.jsondoes not failstatus --check.
- Modernize FastAPI skeleton typing for Python
>=3.12:- replace deprecated
typing.Listusage with built-inlist[...].
- replace deprecated
- Optional purpose translation flow:
- new
--translate-purposeflag fornew,init, andminimal; - auto-translate purpose to English for
docs/*when--detectidentifies Italian, Spanish, or French purpose text; - preserve original non-English purpose for
llms.txtsummary while using English title.
- new
- Starter project scaffolding with
--skeleton fastapi:- copies
pyproject.toml,main.py, and basic tests (tests/conftest.py,tests/test_todos.py); - works after context scaffold in both
newandinitflows.
- copies
- Improve purpose-based Python setup detection:
- choose
uv syncforuv/uvicorn/modern FastAPI wording; - choose
poetry installwhen purpose mentions Poetry; - fallback to
pip install -e ..
- choose
- Commands block marker now includes an explicit managed-note comment for detect/prompt updates.
- README updated with new flags and usage examples.
- Supercharge
llms.txtgeneration:- automatic project summary now falls back to manifest detection (
pyproject.toml,package.json,go.mod,Cargo.toml) when project context is missing/unfilled; ## Key Fileskeeps canonical links and profile-aware missing markers;## Hardened Mandatesnow prioritizes the most criticalMUST ALWAYS/MUST NEVERrules fromAGENTS.md;## Skills & Routerslists all.agents/resources with full relative links.
- automatic project summary now falls back to manifest detection (
- Keep fast refresh UX:
agentinit refresh-llmsremains sub-second and tested. - README update: explicitly documents that
llms.txtnow includes auto-summary and mandates.
- Harden
agentinit addpath handling:- reject unknown/traversal-like resource names early;
- enforce source/destination path containment;
- skip symlink destinations safely.
- Make
contextlintconfig parsing resilient to invalid numeric values (fallback to defaults instead of crashing). - Prevent duplicate
Safe Defaultsinsertion when rerunning the interactive wizard. - Avoid orphan project directories on
agentinit newwhen templates are empty/corrupt. - README alignment fixes:
- correct
agentinit add --listusage; - clarify minimal vs full scaffold behavior;
- narrow Windsurf claim to discovery routing via
llms.txt.
- correct
llms.txtstandard to template and core managed files.- Support
llms.txtin allinitandnewcommands (including minimal).
- Adopt 2026 agentic best practices for templates and routing.
- Hardened agent mandates with imperative language (MUST/ALWAYS/NEVER).
- AI-optimized docs templates (STATE.md, TODO.md) with checkbox tasks and lessons learned.
- Update
repo-mapwith explicit domain boundaries.
- New
agentinit addcommand for injecting resources (soul, skill, mcp, security) into existing projects. - Alias
--yes/-yforinit --force(non-interactive mode).
- README rewrite for clarity and progressive disclosure.
- Fix markdownlint errors in README and agent templates.
- Vendor contextlint: new
agentinit lintcommand for checking bloat, broken refs, and duplication. agentinit status --checknow includes contextlint checks (hard errors fail CI).- New templates:
.claude/rules/(coding-style, testing, repo-map) and.contextlintrc.json. - CI:
agentinit status --checkruns on all platforms (Linux, macOS, Windows). - Tests: template packaging verification, lint JSON output, broken-ref detection via contextlint.
- Templates ship without
TBD— freshly scaffolded projects passstatus --checkout-of-the-box.
- Fix README accuracy (drop rejected
--json, add missing--detectflag).
- Initial public release: scaffold, init, minimal, remove, status commands.
- Auto-detect stack from package.json, go.mod, Cargo.toml, pyproject.toml.
- Interactive wizard with
--prompt, non-interactive with--yes. - Router-first templates for Claude, Gemini, Copilot, and Cursor.