Ah maybe my answere was a bit to fast and unprecise 
When looking at the context for such things it is possible to cluster them in two parts:
So the soft facts can be written once and are okay beeing updated once in a while. Appling that to this probem, means that everything in Neos.Replicant/Documentation is considered a soft fact.
As the LLM “reads” differently than we do (it does not read at all) the text in these soft facts should be dense and high on “context-forming-words”.
That means it is not meant to be read by humans.
That also means things like coding guidelines are not the same we might be used to, as it shows the LLM how to code for Neos and not where and how to put braces.
CodingGuidelines.md
## Attributes
Always add:
use Neos\Flow\Annotations as Flow;
Always use PHP native attributes instead of doc-block. Only use doc-block if the user says so.
### Injection
Neos Flow provides dependency injection.
Always write it as:
#[Flow\Inject()]
protected MyServiceInterface $myServiceInterface
## Configuration
Create configuration files ONLY in the `Configuration` Folder.
The only allowed configuration FileNamePrefixes are:
- Settings
- Objects
- Routes
When creating a new Configuration File you should add the package as part of the filename:
- Settings.Neos.Flow.yaml
- Settings.Neos.Neos.yaml
FlowAndNeosOverview.md
Neos constists of two parts:
1. Neos.Flow: the framework
2. Neos.Neos: the CMS which just a Neos.Flow application
Neos.Flow first processes the PHP Classes to implement dependency injection, AOP and more.
etc....
Looking at the hard facts are a lot of possibilities how the LLM might know about things.
Be it using context7 to look at the current Neos reference, Neos could create its own MCP server for that or using the Neos.Replicant package to generate a file for each package that the LLM is instructed to look at before doing stuff.
As the LLM does not really differentiate between “real” code and text it is sufficient to generate (hard fact) some files it so it can get an overview what exists and only look at the code if it has to:
auto_generated/neos-flow.md
## Classes
Neos\Flow\Log\PsrLoggerFactory:
description: lorem ipsum
file: Packages/Framework/Neos.Flow/Classes/Log/PsrLoggerFactory.php
methods:
public function __construct: Line 35 - Line 38
public function get: Line 48 - Line 67
Again it must not be easily human readable but dense in information with some kind of structure.
The hard facts are a bit into the future as i think we should start with some soft facts and the whole package infrastructure. Except maybe the package_overview.md. That seems quite helpful having it from the start.
The Neos documentation needs a bit of love in every sense
from better tutorials to implementation examples ending with use-cases-based-documentation.
Correctly structured that will help the LLMs immensely as that would mean we have “perfect fusion code” and reference material.
But the pipeline “Developer documentation” → [Magic] → “LLMs know how to write working fusion code” is tricky to say the least 