{"id":1864,"date":"2025-09-26T10:01:35","date_gmt":"2025-09-26T17:01:35","guid":{"rendered":"http:\/\/10kdev.net\/?p=1864"},"modified":"2025-09-26T10:02:15","modified_gmt":"2025-09-26T17:02:15","slug":"ai-agents-files-context-build-specs-markdown","status":"publish","type":"post","link":"http:\/\/10kdev.net\/?p=1864","title":{"rendered":"AI Agents Files: Context, Build Specs, Markdown"},"content":{"rendered":"\n<p>This is just an open thought\/notes post &#8212; using agents specifications files in an AI development environment.<\/p>\n\n\n\n<p>These kind of files are written in <a rel=\"noreferrer noopener\" href=\"https:\/\/www.markdownguide.org\/\" target=\"_blank\">Markdown<\/a>, and can do some of these kind of things:<\/p>\n\n\n\n<ol>\n<li>Project documentation\n<ul>\n<li>Anything from testing, code narration, code structure, dependencies that an AI tool can read to assist in code generation or help.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Structured input to LLMs\n<ul>\n<li>Agent guidance &#8212; i.e. infor and context about your development environment, project settings<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>There&#8217;s an emerging standard, open source, called <a rel=\"noreferrer noopener\" href=\"https:\/\/agents.md\/\" target=\"_blank\">AGENTS.md<\/a>.  Here&#8217;s their first page sample:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># AGENTS.md\n\n## Setup commands\n- Install deps: `pnpm install`\n- Start dev server: `pnpm dev`\n- Run tests: `pnpm test`\n\n## Code style\n- TypeScript strict mode\n- Single quotes, no semicolons\n- Use functional patterns where possible<\/pre>\n\n\n\n<p>These can become very complicated.  I&#8217;ve ran some tests developing a desktop image environment for VM Ware, and have specified a ton of applications, OS, etc. in these files.<\/p>\n\n\n\n<p>Here is some of my experiment.  It&#8217;s quite easy to generate such a file, and I was asking it to create a packer instance for VMWare&#8221;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># DVM Virtual Dev Environment\n\n## Project Overview\nThis project creates a Ubuntu 24.04.3 desktop virtual machine using HashiCorp Packer and VMware. The VM is pre-configured with development tools including Visual Studio Code and IntelliJ IDEA Community Edition.\n\n## Purpose\n- Build standardized development environments\n- Automate VM provisioning with consistent tooling\n- Provide reproducible Ubuntu desktop environments for development work\n\n## Key Components\n\n### Packer Configuration (`ubuntu-desktop.pkr.hcl`)\n- **Base Image**: Ubuntu 24.04.3 Desktop AMD64 ISO\n- **Platform**: VMware (vmware-iso builder)\n- **Resources**: 4GB RAM, 2 CPUs, 40GB disk\n- **Authentication**: SSH with ubuntu\/ubuntu credentials\n\n### Provisioning\nThe build process installs:\n\n**Development Tools:**\n- Microsoft Visual Studio Code\n- IntelliJ IDEA Community Edition\n- Docker Desktop\n- Postman\n- MySQL Workbench Community<\/pre>\n\n\n\n<p>But also &#8212; this remembers a lot of context.<\/p>\n\n\n\n<p>Amazon has the same ides &#8212; rules for their &#8220;spec driven development&#8221; approach.  Will probably discuss later as I have questioned them about the lifecycle of biz rules in a development cycle, but, generally stores all the info of your dev environment for your project.  Generally, is stored in .amazonq\/rules, though can be in a file like amazonq.rules.<\/p>\n\n\n\n<p>Also Anthropic has the <a rel=\"noreferrer noopener\" href=\"https:\/\/docs.claude.com\/en\/docs\/claude-code\/settings\" target=\"_blank\">CLAUDE.md<\/a> file, which is like AGENTS.  It&#8217;s loaded at startup to give your agent context, among other things.  There is also use of a json file for settings.<\/p>\n\n\n\n<p>From CLAUDE site:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<h3 class=\"wp-block-heading\" id=\"key-points-about-the-configuration-system\">Key points about the configuration system<\/h3>\n\n\n\n<ul>\n<li><strong>Memory files (CLAUDE.md)<\/strong>: Contain instructions and context that Claude loads at startup<\/li>\n\n\n\n<li><strong>Settings files (JSON)<\/strong>: Configure permissions, environment variables, and tool behavior<\/li>\n\n\n\n<li><strong>Slash commands<\/strong>: Custom commands that can be invoked during a session with&nbsp;<code>\/command-name<\/code><\/li>\n\n\n\n<li><strong>MCP servers<\/strong>: Extend Claude Code with additional tools and integrations<\/li>\n\n\n\n<li><strong>Precedence<\/strong>: Higher-level configurations (Enterprise) override lower-level ones (User\/Project)<\/li>\n\n\n\n<li><strong>Inheritance<\/strong>: Settings are merged, with more specific settings adding to or overriding broader ones<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"system-prompt-availability\"><a href=\"https:\/\/docs.claude.com\/en\/docs\/claude-code\/settings#system-prompt-availability\">\u200b<\/a><a href=\"https:\/\/docs.claude.com\/en\/docs\/claude-code\/settings#system-prompt-availability\"><\/a><\/h3>\n<\/blockquote>\n\n\n\n<p><strong>Note that  these other AI agents will in fact read AGENTS.md, even if they put up a fight against you.  Also, be aware that in general you&#8217;ll eventually be checking in and maintaining these files for your projects.<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Thoughts.  Well, after working with these, it&#8217;s nice to have a context on loadup mechanism.  It would be nice to share among other developers.  That said, I wonder how this is going to play into the specs in maven, ivy, ant, gradle etc. files.  Why not just read those files, instead of in some cases having a double entry?  <\/p>\n\n\n\n<p>And since this is now emerging, there are several standards &#8212; am guessing if you ever switch AI providers it could convert the standards (from say Q rules to CLAUDE) with no fuss.  It had better, being that conversions seems to be one of the AI strongpoints.<\/p>\n\n\n\n<p>Another really nice related mechism is experimenting with saving chat contexts from the IDE.  Amazon has something like this, and Claude can remember as well &#8212; but you could technically store prompt history offline, even incorporate the best answers into the md files.<\/p>\n\n\n\n<p>Best thing is to try all of this out.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>References:<\/p>\n\n\n\n<p><a href=\"https:\/\/www.markdownguide.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">MARKDOWN<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/agents.md\/\" target=\"_blank\" rel=\"noreferrer noopener\">AGENTS.md<\/a><\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/docs.claude.com\/en\/docs\/claude-code\/settings\" target=\"_blank\">CLAUDE Settings<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/aws.amazon.com\/blogs\/devops\/mastering-amazon-q-developer-with-rules\/\" target=\"_blank\" rel=\"noreferrer noopener\">Amazon Q Rules<\/a><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Further Reading:<\/p>\n\n\n\n<p>There are mentions of Jupyter notebooks in much of the MD config documentation.  I didn&#8217;t discuss this here, but you can of course explore it more.<\/p>\n\n\n\n<p><a href=\"https:\/\/jupyter.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">JUPYTER<\/a><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is just an open thought\/notes post &#8212; using agents specifications files in an AI development environment. These kind of files are written in Markdown, and can do some of these kind of things: There&#8217;s an emerging standard, open source, called AGENTS.md. Here&#8217;s their first page sample: # AGENTS.md ## Setup commands &#8211; Install deps: [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[97],"tags":[],"_links":{"self":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts\/1864"}],"collection":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1864"}],"version-history":[{"count":1,"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts\/1864\/revisions"}],"predecessor-version":[{"id":1865,"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts\/1864\/revisions\/1865"}],"wp:attachment":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1864"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}