Repository navigation
v0.8.0
Added
-
overlays addtakes globs:overlays add '*' -ginstalls every overlay the repos
offer, which for a store with a registry (<store>/dotagents.toml) is everything
it names. A glob matching nothing is an error. -
tools/cloud-setup.shinstalls every overlay the store's registry names
(overlays add '*') before falling back to installingprivate-syncalone. -
Each store has a Python venv,
<store>/.pyvenv/<X.Y.Z>-<os>-<arch>/, made from
the Python that runs dotagents, where skills run.initandoverlays add/
sync/removekeep it current: the user venv always has duho, and every
overlay'srequirements.txtis installed (in one pip run, only when a file
changed, before the overlay'ssetup.py). A project gets its own venv when one of
its overlays ships requirements or alib/.--no-venvskips it for a run;
AGENTS_NO_PYVENV=1turns it off..pyvenv/holds the agents' venvs only: a
venv there that no sync completed is never used, and a project's own code keeps
its venvs in the project tree. -
The venvs layer project > user > system through a
.pthfile in each: the store's
own overlay libs, then each lower store's venv packages and libs, then dotagents
itself. A project venv imports the project's packages first, then the user's. -
envpointsAGENTS_PYTHONat the active venv and names it inAGENTS_PYVENV;
overlaysetup.pyscripts run under it.contextprints it ("Python for
skills"), and its JSON form carries it aspython. The managed block tells
agents to run skill scripts with$AGENTS_PYTHON. -
pip without ensurepip: a venv where the interpreter has no ensurepip is created
without pip, and pip runs from its wheel (25.3, the last for Python 3.9, checked
against a pinned sha256). The wheel is found in the store's cache, in a.pyz
built with the newbuild-pyz --with-pip, inAGENTS_PIP_SOURCE(a directory of
wheels, or any URI pathapi-uri reads) or pip'sfind-links, or on your index
(PIP_INDEX_URL, or the mirror inpip.ini/pip.conf).AGENTS_PIP_SOURCE
is also passed to pip as--find-linksfor the requirements.
Changed
overlays addno longer stops at the first overlay that fails. Each failure is
logged, the overlays that require the failed one are skipped, every other overlay
is installed, and the command exits 1 naming each failure. A failed overlay this
run was installing for the first time is removed again, as before; the ones that
installed stay.- With a scope venv,
envno longer puts the overlay libs it layers on
PYTHONPATH: the venv's interpreter imports them, and no other Python in the
session should. Without a venv,PYTHONPATHcarries them as before.
AGENTS_PYTHONPATHstill lists every lib. - The base block's "Startup: annotate that you read
…" line names a store under
the home directory from there (~/.agents/AGENTS.md), and any other store by its
absolute path as before. A store kept in git and used on machines whose home
directories differ no longer showsAGENTS.mdmodified on all but one of them.
Fixed
env --cacheon Windows with Python before 3.13 could miss a cache it had just
written:time.time()there lags the file's own timestamp by up to one clock
tick, and a cache file dated after "now" was treated as stale. A cache file
dated up to 2 s in the future now counts as fresh.
What's Changed
- build(deps): bump actions/setup-python from 5 to 7 by @dependabot[bot] in #8
- build(deps): bump actions/upload-artifact from 4 to 6 by @dependabot[bot] in #7
- build(deps): bump actions/download-artifact from 4 to 7 by @dependabot[bot] in #6
Full Changelog: v0.7.6...v0.8.0