Conversation
5b525b7 to
c3131d7
Compare
jendavies
left a comment
There was a problem hiding this comment.
Seems comprehensive, do we need more threats? :)
docs/src/design/documentation.md
Outdated
| - Example: `docs/react.md`, `docs/llm.md` | ||
|
|
||
| **Multi-file documentation:** | ||
| - Format: `docs/<component-name>/README.md` (plus additional files) |
There was a problem hiding this comment.
Not clear what "plus" means. DO you mean:
docs/<component-name>/README.md
docs/<component-name>/deployment.md
docs/<component-name>/troubleshooting.md
If so, maybe:
Format: docs/<component-name>/<multifile-docs> (plus additional files)
Example: docs/agent/README.md, docs/agent/crewai.md, docs/agent/troubleshooting.md
There was a problem hiding this comment.
I'm trying to convey that at least README.md is required in addition to any other files you want to put in the folder for a consistent experience, and to improve navigation by agents and humans
| 4. **Document dependencies**—External tools, environment variables, prerequisites. | ||
| 5. **Specify context costs**—Estimated token usage and context window requirements. | ||
|
|
||
| ## Implementation guidelines |
There was a problem hiding this comment.
Maybe link to this at the very start? But maybe you want them to read it all.
There was a problem hiding this comment.
Yeah, I did. It is a bit redundant by the time you get here, but I like the TL;DR at the end these days. I'm open to putting it up top, though
There was a problem hiding this comment.
I'm torn on this one, myself. I guess I'd say leave it down here for now and we'll see if it needs to be promoted.
smagee-robot
left a comment
There was a problem hiding this comment.
In general, it seems good to me. I called out a few points I found confusing, but devs may understand the terms better than I do.
|
|
||
| ## Overview | ||
|
|
||
| This specification defines how documentation and agent skills should be organized, distributed, and maintained within DataRobot App Framework components. The core principle is that documentation and skills should live closest to the component they describe, enabling offline usage, ensuring consistency, and providing both human and LLM-friendly access to information. |
There was a problem hiding this comment.
| This specification defines how documentation and agent skills should be organized, distributed, and maintained within DataRobot App Framework components. The core principle is that documentation and skills should live closest to the component they describe, enabling offline usage, ensuring consistency, and providing both human and LLM-friendly access to information. | |
| This specification defines how documentation and agent skills should be organized, distributed, and maintained within DataRobot App Framework components. The core principle is that documentation and skills should live closest to the component they describe, enabling offline usage, ensuring consistency, and providing both human- and LLM-friendly access to information. |
| ``` | ||
| template/ | ||
| ├── docs/ | ||
| │ ├── react.md # Single-file component docs |
There was a problem hiding this comment.
What is the distinction between single- and multi-file docs? Are you just referring to the difference in components that only need one doc page vs. more complicated ones? I suspect I'm misunderstanding the intent, since if it were just a single page, the README.md would likely be the choice and not react.
There was a problem hiding this comment.
What is the distinction between single- and multi-file docs? Are you just referring to the difference in components that only need one doc page vs. more complicated ones?
Yep, that's the intent here
I suspect I'm misunderstanding the intent, since if it were just a single page, the README.md would likely be the choice and not react
Well, then you'd end up making a folder with one file, i.e.,react/README.md, which is also reasonable. It just felt to me like it would be better for humans not to need a folder with a single file in it. I'm open to simplifying the rules, though.
With that full understanding, which way do you think is the best @smagee-robot ?
There was a problem hiding this comment.
I'm fine with leaving it simple, in that case. I assume it needs to be named react for the docs toolchain as a react frontend?
| │ │ ├── README.md | ||
| │ │ ├── deployment.md | ||
| │ │ └── troubleshooting.md | ||
| │ ├── llm.md |
There was a problem hiding this comment.
Should this be llms.md? I'm not sure of the standard (if there is one), I just recall we changed llm.txt accessible for our public docs site to be plural and want to make sure it's right, or if it matters at all.
|
|
||
| ## Implementation guidelines | ||
|
|
||
| ### For component authors |
There was a problem hiding this comment.
I'm not sure where it should be slotted in, but we should add a requirement that any new public-facing docs must be reviewed by the docs team.
There was a problem hiding this comment.
Yeah, I feel like that needs to happen at the components creation time. Or at least when the component is ready to become an official DataRobot core component. I have a todo item for creating a guide on how to make a component from scratch. I'll make sure that I have that review from the docs team is required for inclusion in our core App Framework requirements.
There was a problem hiding this comment.
That works for me. It would be nice if we get the slack integration working long-term, but in the immediate term tagging me directly should be OK.
|
|
||
| ### Naming convention | ||
|
|
||
| **Single-file documentation:** |
There was a problem hiding this comment.
Nitpick: the colon for headings/callouts like this should be outside the bold tags.
(I know the actual style in this isn't the important part of the review; I think this is my only comment along these lines ;) ).
Co-authored-by: jen davies <jennifer@datarobot.com>
rabih-datarobot
left a comment
There was a problem hiding this comment.
This is unreal, its really nice to see the standardisation thought process put into it 🥇
|
|
||
| ### File organization | ||
|
|
||
| Each component must create documentation files within the template's `docs` folder, following this convention: |
There was a problem hiding this comment.
With the monorepo structure, is this a top-level docs folder or say agent/docs?
There was a problem hiding this comment.
Okay, seems top-level; naming subfolders should be enough. Maybe worth recommending templating docs to use same name as main folder (e.g. docs/{{ agent_app_name }}/README.md)
| ## Motivation | ||
|
|
||
| ### Documentation distribution | ||
| - **Offline-first**—Components must be usable without internet connectivity. |
There was a problem hiding this comment.
I guess this is an extension of self-contained? Don't have essential reference to an external URL. I imagine this should also apply to skills (only uses commands prebundled in codespace?)
Summary
Agents and humans building and composing AF components need documentation. This specifies how to provide that in a way that they will compose properly into recipes and templates for use by humans and LLMs
Implementation for af-component-base: datarobot-community/af-component-base#81
Note
Low Risk
Low risk docs-only change that adds new guidance and a navigation link, with no runtime or API impact.
Overview
Adds a new design document (
design/documentation.md) specifying conventions for where and how components should ship offline-first documentation and.skills(structure, naming, quality requirements, and sync expectations for global skills).Updates the docs navigation (
properdocs.yml) to include this new Documentation design spec under the Design section.Reviewed by Cursor Bugbot for commit afe7526. Bugbot is set up for automated code reviews on this repo. Configure here.