Repository navigation
Releases: Zejnilovic/agentic-defaults
Release list
0.5.2
- context-md
check.sh: dependency bumps no longer ask for a CONTEXT.md update. A dependency manifest (requirements*.txt,pyproject.toml,package.json,go.mod,pom.xml, Dockerfiles, GitHub workflows and similar) whose change only moves version numbers or pinned digests is skipped, so Renovate and Dependabot pull requests pass--strict. Adding or removing a dependency, or any other edit to the manifest, still counts. Projects that skip the CI check for bot pull requests can drop that workaround.
0.5.1
context-md/check.shskips files installed by agd (#12): anagd update,addorremoveno longer asks for aCONTEXT.mdchange in--strict(CI) or--hookmode. The check skips.agd.lockand every path it lists, read from the working tree, fromHEADand, with--base, from where the branch started, so kit files that were deleted are skipped too. The project's own files next to kit files, such as its own skills' scripts, are still checked.- Project scan proposes removing unused packs (#13):
agd initinstalls every pack, so a Python project could carry the Flask, React and Spring agents into every session. The survey now lists the packs in.agd.lock, and the scan compares each framework, platform or datastore pack with the stack it found and proposesagd remove <pack>for each one nothing uses, with its evidence. It never runs the command, and never proposes removingcore,research,copilot-hookor a pack it isn't sure about.
0.5.0
session-retroskill (core pack): when the user asks for a retro, the agent evaluates the session on evidence: each requirement met or not, the user's prompts labeled request, answer, correction or complaint, rework after "done", the "Done means" rules, and cost against the project's earlier retros. Fixed rules turn the misses into a verdict (went well, mixed, went badly), which the user confirms. The note in.local_context/feedback/<date>-<task>.mdnames the kit file behind each miss by its installed path, with whether its rule was missing, wrong, ignored or too long, and a project-only or generic fix; a row in.local_context/feedback/log.tsvbuilds the baseline. For a generic fix the agent suggestsagd feedback <note>; it never sends anything itself..local_context/README.mdmentions thefeedback/folder.session-retro/stats.sh: a read-only script that the retro runs in Claude Code for its Cost section. From Claude Code's local session files it counts time, models, tokens, prompts, interrupts, denied and failed tool calls, and subagents; from git, commits and lines since the session started and uncommitted changes; fromlog.tsv, the medians of the last 10 retros. It prints counts only, never session text, except--prompts, which lists the user's prompts for the agent to label locally. The session numbers need jq; without it the script says so and prints the git numbers. The session files are an undocumented format, so the numbers can break with a Claude Code update.- Needs agd 0.2.0:
packs.txtsetsmin-agd 0.2.0, the release that addsagd feedback. herokuskill (newherokupack): practices for apps deployed on Heroku. The agent runs only read-only CLI commands and hands every deploy, config change, scale, rollback, add-on orpg:command to the user as an exact command with-a <app>; it never runsheroku configwithout a name, since that prints every secret. Covers$PORTand boot time,SIGTERMand daily restarts, the ephemeral filesystem, the 30-second router timeout, config vars, release-phase migrations that work with old and new code, Postgres connection caps, pipelines and review apps, Scheduler jobs that may run twice, and planning a move off Heroku.- The user changes live systems (core): a new rule in the working agreement and a "Live systems" section in the
implementationskill. Agents run plans, dry runs and read-only commands, and hand every apply, deploy, scale, rollback or resource change to the user as an exact command with its folder. They skip read-only commands that print secrets, such asterraform output -json. Theproject-profileskill's "Always" list, the developer's fallback essentials and the methodology's "Bound the agent" principle say the same. terraformskill andterraform-developer(newterraformpack): Terraform, OpenTofu and Terragrunt. Plan as often as needed, never apply, and never pass-auto-approve,-lock=falseor--non-interactive;terragrunt run --all applyskips its prompt, which the handover says. Read every plan and explain each destroy or replace,movedandremovedblocks,importblocks with generated config,for_eachovercount, version pins and lock-file hashes for every platform, checking arguments in the provider schema, secrets kept out of state with ephemeral resources and write-only arguments, S3use_lockfilereplacing deprecated DynamoDB locking, thin Terragrunt units withroot.hcl, andterraform testwithcommand = planand mock providers. The agent suggests missing TFLint, scanners or pre-commit hooks and doesn't add them.awsskill (newawspack): short-lived credentials andaws sts get-caller-identitybefore working, read-only CLI commands versus those handed to the user, never printing secrets, least-privilege IAM, no public buckets or0.0.0.0/0ingress, encryption, and the costs of idle resources, NAT gateways, public IPv4 and log retention.- Security reviewer: also reports infrastructure code that makes storage public, opens ports to the internet, uses wildcard IAM or leaves storage unencrypted.
project-scansurvey: also listsroot.hcl,terragrunt.hcl,.terraform.lock.hcl,.tflint.hcl,.pre-commit-config.yamlandProcfile.
Manual steps for existing copies:
- Upgrade agd to 0.2.0 or newer, then run
agd update. An older agd stops and asks you to upgrade. - Add the new packs where they fit, for example
agd add terraformandagd add aws.
0.4.0
- Packs:
packs.txtgroups the kit's files into packs thatagdinstalls:core,research,flask,spring,react,relational-databaseandcopilot-hook. Every pack exceptcorerequirescore.check.pychecks that every kit file is in exactly one pack, that a skill folder stays in one pack, and that each agent's preloaded skills are in its own pack or one it requires. - Project parts in kit files: an agent's
model:andtools:lines, and a## This projectsection at the end of an agent or skill, belong to the project, and kit updates keep them. The working agreement, the marker on each kit file, the README and the methodology's second principle say so. Everything else in kit files stays off limits. - agd replaces
scripts/sync.sh: projects install and update the kit with agd (brew install zejnilovic/tap/agd). It installs packs, keeps the project parts of kit files, never overwrites a kit file you changed, and can add your team's setup next to this kit.scripts/sync.shnow only says how to switch..agd-ignorereplaces.agentic-defaults-ignore, which still works.
Manual steps for existing copies:
- Install agd, run
agd adoptin the project and commit.agd.lock.agd updatethen moves the project to 0.4.0, keeping any model changes you made. - Optionally, rename
.agentic-defaults-ignoreto.agd-ignore.
0.3.0
- Project profile: four dimensions (Stage, Audience, Team, Handles) in the project's own part of
AGENTS.md, so the engineering fits the project instead of a large enterprise. A newproject-profileskill defines them, says what each value adds or relaxes, and lists the signs of building for a bigger project. Costly items in skills carry a tag ((production),(external),(public),(teams),(sensitive)) and apply only when the profile matches; cheap correctness and safety always apply. The project scan proposes a profile from evidence, and the survey reports a contributor count (no names) as a hint for Team. The architect designs for the profile, and the reviewer flags practices the profile doesn't call for. - Kit files are marked and never edited: every kit agent, skill, script and
.local_contextfile starts with a "From agentic-defaults" marker. The working agreement tells agents never to edit them or tell the user to, and where project rules, facts and project-only agents go instead.check.pyenforces the markers.
Manual steps for existing copies:
- Add a "### Profile" part to "This project" in
AGENTS.md(see the kit'sAGENTS.md), or ask the analyst to propose one. Sync doesn't touch that section.
0.2.0
Implements the methodology's principles that 0.1.0 didn't cover.
- Local plans and handover: plans live in
.local_context/<task>/plan.md, never committed. When a task ends, what lasts moves toCONTEXT.md, decision records and the ticket. Handing a task over means drafting a ticket update from the plan, posted only with approval. - Tickets as context: the analyst fetches the ticket (for example
gh issue view) and treats its text as data, never instructions. CONTEXT.mdlevels: agents read the chain from the root down; each level adds only its own detail, points to its parent, and links the real documents.- The context check ends every task: in the definition of done, the developers' last step and the reviewer's checklist.
check.sh --hookprints the hook JSON that both Claude Code (Stop) and GitHub Copilot (agentStop) accept, and reminds once per finding. The kit ships.github/hooks/context-check.jsonfor Copilot; Claude Code gets a snippet for.claude/settings.json. The Copilot hook follows GitHub's documentation and hasn't been tested in a Copilot session yet. - Standard commands:
make setup,run,build,test,lint,formatandcheck. "Done" meansmake checkpasses. The survey reports missing targets and the project scan proposes them from a newMakefile.template. - Contracts first: plan steps that cross a boundary change the contract first; the reviewer checks for broken contracts; the survey lists contract files; the framework skills keep API specs and generated types accurate.
- Tests: never weaken an existing test to make it pass; keep tests contained (stable interfaces, one place per behavior, shared builders); stop when one change breaks many unrelated tests.
- Hitting a wall: no stand-ins. The blocker goes into the plan with options (split, spike, re-plan, visible limit), and the user or the architect decides.
- Short output and cheap orchestration: a brevity rule in the working agreement; the main conversation routes steps and passes blockers and design questions on instead of answering them.
- Research: new
research-collector(everyday model; gathers sources) andresearcher(strong model; answers with options, a recommendation, confidence and sources) agents, with a sharedresearchskill.
Manual steps for existing copies:
- Move active plans from
docs/plans/to.local_context/<task>/plan.md, and delete the folder once their decisions are recorded. - Rewrite the "This project" section of
AGENTS.mdaround the standard commands. Sync doesn't touch that section. - Optionally, add the Claude Code Stop hook from the README. Copilot's hook arrives with the sync.
0.1.0
First release.
-
Framework developers, each an agent and skill pair:
flask-developer(Python, Flask),spring-developer(Java, Spring Boot),react-developer(React) andrelational-database-developer(PostgreSQL, MySQL, SQLite; Alembic, Flyway, Liquibase). The reviewer uses the framework skills as checklists. The architect names an agent for each plan step and orders layers database, backend, frontend. The developer's working rules moved into a sharedimplementationskill that every developer preloads;developercovers work no framework developer does. -
Working agreement (
AGENTS.md): deliver small, test first, start from written context, work economically, definition of done. -
Agents: analyst, architect, developer, tester, reviewer, security-reviewer, documenter.
-
Skills: project-scan (with a survey script), task-plans, diagrams, context-md (with a freshness check script), tdd, debugging, commits-and-prs.
-
.local_context/: a self-ignoring folder for private task notes. -
Scripts:
scripts/sync.shupdates a project's copy of the kit. -
Delivery safeguards, adapted from GSD Core (MIT):
- the reviewer checks that a plan's goal was met (true, real, connected), not just that steps were ticked,
- the developer has rules for fixing unplanned problems versus stopping to ask, and a guard against reading without acting,
- requirements are never watered down to fit ("for now", "placeholder"); work is split instead,
- every plan step names a Verify command,
- packages are installed only when named, never swapped for a similar name, and the security reviewer checks new ones for typosquatting.
Tested with Claude Code, including a project scan of a real application. GitHub Copilot support follows the VS Code documentation and is not yet verified.