Skip to content

chore(ai): publish an agentsmd file#1149

Open
florentmaitre wants to merge 2 commits intodevelopfrom
1148-publish-an-agentsmd-file
Open

chore(ai): publish an agentsmd file#1149
florentmaitre wants to merge 2 commits intodevelopfrom
1148-publish-an-agentsmd-file

Conversation

@florentmaitre
Copy link
Member

No description provided.

@florentmaitre florentmaitre linked an issue Mar 11, 2026 that may be closed by this pull request
@florentmaitre florentmaitre changed the title chore(ai): publish an agentsmd file (#1148) chore(ai): publish an agentsmd file Mar 11, 2026
@github-actions
Copy link

github-actions bot commented Mar 11, 2026

Comment on lines +89 to +95
2. **Compose Best Practices**: Use modern Jetpack Compose patterns
1. **Coding Conventions**: Follow [Style guidelines for Jetpack Compose APIs](https://developer.android.com/develop/ui/compose/api-guidelines) which basically includes:
- The [API Guidelines for Jetpack Compose](https://android.googlesource.com/platform/frameworks/support/+/androidx-main/compose/docs/compose-api-guidelines.md) (based on [Kotlin Coding Conventions](https://kotlinlang.org/docs/coding-conventions.html))
- The [API Guidelines for @Composable components in Jetpack Compose](https://android.googlesource.com/platform/frameworks/support/+/androidx-main/compose/docs/compose-component-api-guidelines.md)
3. **Naming**:
- Prefix components with `Ouds` (e.g., `OudsTag`, `OudsButton`)
- Token classes end with `Tokens` (e.g., `OudsAlertTokens`)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The numbers are not ordered.


When adding new components:

1. Verify that component tokens generated by Tokenator are defined in `:theme-contract` and implemented in theme modules (`:theme-orange`, etc.)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tokenator is mentioned twice in the file but there is no explanation of what it is.

2. Create one or more composables in `:core` module, trying to match the equivalent Material APIs as much as possible
3. Ensure accessibility semantics are properly implemented
4. Add a sample code for each component composable
5. Include `@Preview` annotations for IDE preview
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have to explain how a Preview should be written in the project, with the use of OudsPreview and AppPreview?

Demo screens use state classes (e.g., `AlertMessageDemoState`, `InlineAlertDemoState`) to:
- Manage component configuration
- Provide interactive controls in demo app
- Showcase different component variants
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we can add something about the support of configuration changes (use of Saver)?

When adding new components:

1. Verify that component tokens generated by Tokenator are defined in `:theme-contract` and implemented in theme modules (`:theme-orange`, etc.)
2. Create one or more composables in `:core` module, trying to match the equivalent Material APIs as much as possible
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. Create one or more composables in `:core` module, trying to match the equivalent Material APIs as much as possible
2. Create one or more composables in `:core` module, trying to match the equivalent Material 3 APIs as much as possible

- Ensure proper semantic roles
- Support TalkBack and other accessibility services
- Maintain sufficient color contrast

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion from Gemini: "Any hardcoded string must be avoided; use stringResource."

6. Add snapshot tests in `:core-test` module and generate snapshots for each theme
7. Add instrumented Compose UI tests for user interactions such as clicks
8. Add demo screen in `:app` module

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that something is missing: add the new component in Component.kt file of :buildSrc.

Do we have to precise that components must be documented in a specific format with the design guideline link and the design version?


## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed contribution guidelines.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we have to update the CONTRIBUTING.md because it doesn't seems to be up-to-date.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Publish an AGENTS.md file

2 participants