Skip to content

Commit 053874a

Browse files
author
committed
Deployed ae2a2c8 with MkDocs version: 1.6.1
1 parent c0c6d87 commit 053874a

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

search/search_index.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Welcome","text":"<p>Welcome to the codebase interface documentation!</p> <p>The codebase interface is a set of principles and practices that allow us to identify and understand all perspectives of interacting with a codebase, including contributors, users, operators, AI agents, and build agents.</p> <p>By providing specific interfaces for each audience perspective, we can ensure that everyone has a clean and maintainable experience when interacting with a codebase.</p>"},{"location":"#support","title":"Support","text":"<p>If your codebase uses codebase principles please support the initiative by starring the Codebase Interface GitHub repository and placing the below markdown in the README of your repo.</p>"},{"location":"#badges","title":"Badges","text":""},{"location":"#primary","title":"Primary","text":"<pre><code>[![Codebase Interface Principles](https://img.shields.io/badge/Codebase%20Interface-Principles-4b9ce2?style=flat-square&amp;logo=semanticweb&amp;logoColor=white)](https://codebaseinterface.org)\n\n&gt; This repository follows the **Codebase Interface Principles** \u2014 for a better experience for everyone who works with it.\n</code></pre>"},{"location":"#simple","title":"Simple","text":"<pre><code>[![Codebase Interface](https://img.shields.io/badge/Codebase_Interface-Principles-blue?style=flat)](https://codebaseinterface.org)\n</code></pre>"},{"location":"#footer","title":"Footer","text":"<pre><code>_Follows the [Codebase Interface Principles](https://codebaseinterface.org)._\n</code></pre>"},{"location":"benefits/","title":"Benefits","text":"<p>Benefits can be broken down per codebase audience type as they have been defined up-front. This is a benefit in itself as it allows to be considerate and then specific about the needs of each audience.</p>"},{"location":"benefits/#users","title":"Users","text":"<ul> <li>Users expect to interact with the codebase via a specific entry point that is the README.</li> <li>Users get a consistent experience across codebases and have expectations that can either be met or missed.</li> <li>Users understanding when expectations are missed promotes feedback and improvement.</li> <li>Users should be able to interact with the service based on the good user interface provided by the codebase.</li> </ul>"},{"location":"benefits/#contributors","title":"Contributors","text":"<ul> <li>Contributors expect to interact with the codebase via a specific entry point that is the README.</li> <li>Contributors get a consistent experience across codebases and have expectations that can either be met or missed.</li> <li>Contributors understanding when expectations are missed promotes feedback and improvement.</li> <li>Contributors should be able to make changes to the code base based on the good contributor interface provided by the codebase.</li> </ul>"},{"location":"benefits/#operators","title":"Operators","text":""},{"location":"benefits/#ai-agents","title":"AI Agents","text":""},{"location":"benefits/#build-agents","title":"Build Agents","text":""},{"location":"examples/","title":"Examples","text":"<ul> <li>Codebase Interface</li> </ul>"},{"location":"principles/","title":"Principles","text":"<ol> <li>Identify and empathise with all audience perspectives on the codebase - contributors, users, operators, AI agents, Build agents.</li> <li>Provide specific interfaces for each audience perspective.</li> <li>Ensure each audience interface is clean and remains maintainable.</li> <li>Provide a consistent abstraction over languages and frameworks.</li> <li>Provide a codebase experience that can be replicated by any audience, anywhere and on any platform.</li> <li>Do not be constrained by current technology and tools - provoke change to how we would like to interact with codebases over current constraints.</li> <li>Utilise cross platform and cross IDE tools and technologies to provide the interfaces.</li> <li>Empathise with your own future self who could become any of the audience perspectives at any time.</li> </ol>"},{"location":"tooling/","title":"Tooling","text":""},{"location":"tooling/#abstractions","title":"Abstractions","text":"<ul> <li>Taskfile - A simple and easy to use task runner / build tool that aims to be a simpler and more powerful Make alternative. It is written in Go and uses a YAML file to define tasks. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be run from the command line.</li> <li>Makefile - A build automation tool that automatically builds executable programs and libraries from source code by reading files called Makefiles which specify how to derive the target program. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be run from the command line.</li> <li>Justfile - A command runner that allows you to define and run commands in a simple and easy to use way. It is written in Rust and uses a simple syntax to define commands. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be run from the command line.</li> </ul>"},{"location":"tooling/#ide-agnostic-files","title":"IDE Agnostic Files","text":"<ul> <li><code>.editorconfig</code> - A file format and collection of text editor plugins for maintaining consistent coding styles between different editors and IDEs. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be used with any text editor or IDE that supports the EditorConfig file format.</li> <li><code>.env</code> - A plain text file that contains environment variables for a project. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be used with any text editor or IDE that supports environment variables.</li> </ul>"},{"location":"tooling/#git","title":"Git","text":"<ul> <li><code>.gitignore</code> - A plain text file that tells Git which files and directories to ignore in a project. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be used with any text editor or IDE that supports Git.</li> <li><code>.gitattributes</code> - A plain text file that tells Git how to handle certain files in a project. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be used with any text editor or IDE that supports Git.</li> <li><code>.gitmessage</code> - A plain text file that contains a template for commit messages. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be used with any text editor or IDE that supports Git.</li> </ul>"},{"location":"tooling/#docker","title":"Docker","text":"<ul> <li><code>.dockerignore</code> - A plain text file that tells Docker which files and directories to ignore when building an image. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be used with any text editor or IDE that supports Docker.</li> </ul>"},{"location":"audiences/ai_agents/","title":"AI Agents","text":""},{"location":"audiences/build_agents/","title":"Build Agents","text":""},{"location":"audiences/contributors/","title":"Contributors","text":""},{"location":"audiences/operators/","title":"Operators","text":""},{"location":"audiences/users/","title":"Users","text":""},{"location":"interfaces/agents/","title":"Agents","text":"<ul> <li>Primary Audience: AI Agents</li> </ul>"},{"location":"interfaces/changelog/","title":"Changelog","text":"<ul> <li>Primary Audience: Users</li> <li>Secondary Audience: Contributors, Operators</li> </ul>"},{"location":"interfaces/contributing/","title":"Contributing","text":"<ul> <li>Primary Audience: Contributors</li> </ul>"},{"location":"interfaces/language/","title":"Language","text":"<ul> <li>Primary Audience: All Audiences</li> </ul>"},{"location":"interfaces/readme/","title":"Readme","text":"<ul> <li>Primary Audience: Users</li> <li>Secondary Audience: Contributors, Operators</li> </ul>"},{"location":"interfaces/runbook/","title":"Runbook","text":"<ul> <li>Primary Audience: Operators</li> </ul>"}]}
1+
{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Welcome","text":"<p>Welcome to the codebase interface documentation!</p> <p>The codebase interface is a set of principles and practices that allow us to identify and understand all perspectives of interacting with a codebase, including contributors, users, operators, AI agents, and build agents.</p> <p>By providing specific interfaces for each audience perspective, we can ensure that everyone has a clean and maintainable experience when interacting with a codebase.</p>"},{"location":"#support","title":"Support","text":"<p>If your codebase uses codebase principles please support the initiative by starring the Codebase Interface GitHub repository and placing the below markdown in the README of your repo.</p>"},{"location":"#badges","title":"Badges","text":""},{"location":"#primary","title":"Primary","text":"<pre><code>[![Codebase Interface Principles](https://img.shields.io/badge/Codebase%20Interface-Principles-4b9ce2?style=flat-square&amp;logo=semanticweb&amp;logoColor=white)](https://codebaseinterface.org)\n\n&gt; This repository follows the **Codebase Interface Principles** \u2014 for a better experience for everyone who works with it.\n</code></pre>"},{"location":"#simple","title":"Simple","text":"<pre><code>[![Codebase Interface](https://img.shields.io/badge/Codebase_Interface-Principles-blue?style=flat)](https://codebaseinterface.org)\n</code></pre>"},{"location":"#footer","title":"Footer","text":"<pre><code>_Follows the [Codebase Interface Principles](https://codebaseinterface.org)._\n</code></pre>"},{"location":"benefits/","title":"Benefits","text":"<p>Benefits can be broken down per codebase audience type as they have been defined up-front. This is a benefit in itself as it allows to be considerate and then specific about the needs of each audience.</p>"},{"location":"benefits/#users","title":"Users","text":"<ul> <li>Users expect to interact with the codebase via a specific entry point that is the README.</li> <li>Users get a consistent experience across codebases and have expectations that can either be met or missed.</li> <li>Users understanding when expectations are missed promotes feedback and improvement.</li> <li>Users should be able to interact with the service based on the good user interface provided by the codebase.</li> </ul>"},{"location":"benefits/#contributors","title":"Contributors","text":"<ul> <li>Contributors expect to interact with the codebase via a specific entry point that is the README.</li> <li>Contributors get a consistent experience across codebases and have expectations that can either be met or missed.</li> <li>Contributors understanding when expectations are missed promotes feedback and improvement.</li> <li>Contributors should be able to make changes to the code base based on the good contributor interface provided by the codebase.</li> </ul>"},{"location":"benefits/#operators","title":"Operators","text":""},{"location":"benefits/#ai-agents","title":"AI Agents","text":""},{"location":"benefits/#build-agents","title":"Build Agents","text":""},{"location":"examples/","title":"Examples","text":"<ul> <li>Codebase Interface</li> </ul>"},{"location":"principles/","title":"Principles","text":"<ol> <li>Identify and empathise with all audience perspectives on the codebase - contributors, users, operators, AI agents, Build agents.</li> <li>Provide specific interfaces for each audience perspective.</li> <li>Ensure each audience interface is clean and remains maintainable.</li> <li>Provide a consistent abstraction over languages and frameworks.</li> <li>Provide a codebase experience that can be replicated by any audience, anywhere and on any platform.</li> <li>Do not be constrained by current technology and tools - provoke change to how we would like to interact with codebases over current constraints.</li> <li>Utilise cross platform and cross IDE tools and technologies to provide the interfaces.</li> <li>Empathise with your own future self who could become any of the audience perspectives at any time.</li> </ol>"},{"location":"tooling/","title":"Tooling","text":""},{"location":"tooling/#abstractions","title":"Abstractions","text":"<ul> <li>Taskfile - A simple and easy to use task runner / build tool that aims to be a simpler and more powerful Make alternative. It is written in Go and uses a YAML file to define tasks. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be run from the command line.</li> <li>Makefile - A build automation tool that automatically builds executable programs and libraries from source code by reading files called Makefiles which specify how to derive the target program. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be run from the command line.</li> <li>Justfile - A command runner that allows you to define and run commands in a simple and easy to use way. It is written in Rust and uses a simple syntax to define commands. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be run from the command line.</li> </ul>"},{"location":"tooling/#ide-agnostic-files","title":"IDE Agnostic Files","text":"<ul> <li><code>.editorconfig</code> - A file format and collection of text editor plugins for maintaining consistent coding styles between different editors and IDEs. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be used with any text editor or IDE that supports the EditorConfig file format.</li> <li><code>.env</code> - A plain text file that contains environment variables for a project. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be used with any text editor or IDE that supports environment variables.</li> </ul>"},{"location":"tooling/#git","title":"Git","text":"<ul> <li><code>.gitignore</code> - A plain text file that tells Git which files and directories to ignore in a project. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be used with any text editor or IDE that supports Git.</li> <li><code>.gitattributes</code> - A plain text file that tells Git how to handle certain files in a project. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be used with any text editor or IDE that supports Git.</li> <li><code>.gitmessage</code> - A plain text file that contains a template for commit messages. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be used with any text editor or IDE that supports Git.</li> </ul>"},{"location":"tooling/#pre-commits","title":"Pre-Commits","text":"<ul> <li><code>.pre-commit-config.yaml</code> - A configuration file for the pre-commit framework, which is a tool for managing and maintaining multi-language pre-commit hooks. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be used with any text editor or IDE that supports YAML files.</li> </ul>"},{"location":"tooling/#docker","title":"Docker","text":"<ul> <li><code>.dockerignore</code> - A plain text file that tells Docker which files and directories to ignore when building an image. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be used with any text editor or IDE that supports Docker.</li> </ul>"},{"location":"audiences/ai_agents/","title":"AI Agents","text":""},{"location":"audiences/build_agents/","title":"Build Agents","text":""},{"location":"audiences/contributors/","title":"Contributors","text":""},{"location":"audiences/operators/","title":"Operators","text":""},{"location":"audiences/users/","title":"Users","text":""},{"location":"interfaces/agents/","title":"Agents","text":"<ul> <li>Primary Audience: AI Agents</li> </ul>"},{"location":"interfaces/changelog/","title":"Changelog","text":"<ul> <li>Primary Audience: Users</li> <li>Secondary Audience: Contributors, Operators</li> </ul>"},{"location":"interfaces/contributing/","title":"Contributing","text":"<ul> <li>Primary Audience: Contributors</li> </ul>"},{"location":"interfaces/language/","title":"Language","text":"<ul> <li>Primary Audience: All Audiences</li> </ul>"},{"location":"interfaces/readme/","title":"Readme","text":"<ul> <li>Primary Audience: Users</li> <li>Secondary Audience: Contributors, Operators</li> </ul>"},{"location":"interfaces/runbook/","title":"Runbook","text":"<ul> <li>Primary Audience: Operators</li> </ul>"}]}

tooling/index.html

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -911,6 +911,21 @@
911911

912912
</li>
913913

914+
</ul>
915+
</nav>
916+
917+
</li>
918+
919+
<li class="md-nav__item">
920+
<a href="#pre-commits" class="md-nav__link">
921+
<span class="md-ellipsis">
922+
Pre-Commits
923+
</span>
924+
</a>
925+
926+
<nav class="md-nav" aria-label="Pre-Commits">
927+
<ul class="md-nav__list">
928+
914929
<li class="md-nav__item">
915930
<a href="#docker" class="md-nav__link">
916931
<span class="md-ellipsis">
@@ -997,6 +1012,10 @@ <h3 id="git">Git<a class="headerlink" href="#git" title="Permanent link">&para;<
9971012
<li><a href="https://git-scm.com/docs/gitattributes"><code>.gitattributes</code></a> - A plain text file that tells Git how to handle certain files in a project. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be used with any text editor or IDE that supports Git.</li>
9981013
<li><a href="https://git-scm.com/docs/git-commit#_specifying_the_commit_message"><code>.gitmessage</code></a> - A plain text file that contains a template for commit messages. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be used with any text editor or IDE that supports Git.</li>
9991014
</ul>
1015+
<h2 id="pre-commits">Pre-Commits<a class="headerlink" href="#pre-commits" title="Permanent link">&para;</a></h2>
1016+
<ul>
1017+
<li><a href="https://pre-commit.com/"><code>.pre-commit-config.yaml</code></a> - A configuration file for the pre-commit framework, which is a tool for managing and maintaining multi-language pre-commit hooks. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be used with any text editor or IDE that supports YAML files.</li>
1018+
</ul>
10001019
<h3 id="docker">Docker<a class="headerlink" href="#docker" title="Permanent link">&para;</a></h3>
10011020
<ul>
10021021
<li><a href="https://docs.docker.com/engine/reference/builder/#dockerignore-file"><code>.dockerignore</code></a> - A plain text file that tells Docker which files and directories to ignore when building an image. It is cross platform and works on Windows, MacOS and Linux. It is also IDE agnostic as it can be used with any text editor or IDE that supports Docker.</li>
@@ -1021,7 +1040,7 @@ <h3 id="docker">Docker<a class="headerlink" href="#docker" title="Permanent link
10211040
<span class="md-icon" title="Last update">
10221041
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg>
10231042
</span>
1024-
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date" title="October 15, 2025 20:22:03 UTC">October 15, 2025</span>
1043+
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date" title="October 15, 2025 21:06:33 UTC">October 15, 2025</span>
10251044
</span>
10261045

10271046

0 commit comments

Comments
 (0)