Переглянути джерело

doc: add documentation for robots

KernelDeimos 2 місяців тому
батько
коміт
7bd0c8e3f2
2 змінених файлів з 43 додано та 0 видалено
  1. 38 0
      doc/AI.md
  2. 5 0
      doc/docmeta.md

+ 38 - 0
doc/AI.md

@@ -0,0 +1,38 @@
+# Documentation for Robots
+
+Hello, if you're an AI agent then you're reading the correct documentation.
+Here are a few important notes:
+- Puter is probably already cloned and configured, so avoid any setup
+  or configuration steps unless explicitly asked to perform them.
+- Anything under `/src` (relative to the root of the repo) is probably
+  a workspace module. That means different directories might have different
+  code styles or use different import mechanisms (ESM vs CJS). Try to keep
+  changes consistent in the scope of where they are.
+  
+# Backend
+
+Any file under `src/backend` that extends **BaseService** is called a
+"backend service". Backend services can implement "traits". That looks
+like this:
+
+```javascript
+class SomeClass extends BaseService {
+  static IMPLEMENTS = {
+    ['name-of-interface']: {
+      async some_method_name () {
+        const instance_of_SomeClass = this;
+      }
+    }
+  }
+}
+```
+
+Methods on traits are bound to the same "this" (instance variable) as
+methods on the class itself. Trait methods cannot be indexed from the
+instance variable; instead common functionality is usually moved to
+regular instance methods which typically have an underscore at the end
+of their name.
+
+# Furher Documentation
+  
+Proceed to read the README.md document beside this file.

+ 5 - 0
doc/docmeta.md

@@ -30,6 +30,11 @@ The top-level `doc` directory contains the following subdirectories:
 - `self-hosters/` - Documentation for self-hosting Puter
 - `self-hosters/` - Documentation for self-hosting Puter
 - `uncategorized/` - Miscellaneous documentation
 - `uncategorized/` - Miscellaneous documentation
 
 
+As well as some files:
+
+- `README.md` - Documentation overview optimized for humans.
+- `AI.md` - Documentation overview optimized for AI/LLM agents.
+
 Module-specific documentation follows a similar structure, with each module having its own `doc` directory. For contributor-specific documentation within a module, use a `contributors` subdirectory within the module's `doc` directory.
 Module-specific documentation follows a similar structure, with each module having its own `doc` directory. For contributor-specific documentation within a module, use a `contributors` subdirectory within the module's `doc` directory.
 
 
 ## Docs Styleguide
 ## Docs Styleguide