Skip to content

Add PageInput support to genpage skill#45

Merged
10 commits merged intomainfrom
feature/genpage-pageinput-support
Apr 10, 2026
Merged

Add PageInput support to genpage skill#45
10 commits merged intomainfrom
feature/genpage-pageinput-support

Conversation

@ghost
Copy link
Copy Markdown

@ghost ghost commented Mar 6, 2026

Port PageInput feature from AIBuilder CoderAgent. The generated component can now accept an optional pageInput prop with entityName, recordId, and arbitrary data from the hosting page.

  • genpage-rules-reference.md: add Page Input section with interface definition, usage rules, and code examples for record retrieval and safe type casting of data values
  • SKILL.md: include pageInput in Component Template destructuring

@ghost ghost self-requested a review as a code owner March 6, 2026 00:29
Copilot AI review requested due to automatic review settings April 6, 2026 22:48
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds guidance and template updates to support an optional pageInput prop in the genpage skill, aligning generated GenUX components with page-provided context (entity + record + custom data) and reinforcing navigation/OData best practices.

Changes:

  • Updated the genpage component template to destructure pageInput from props.
  • Expanded genpage rules reference with a new Page Input section (interface, rules, and examples).
  • Added/clarified rules around Xrm.Navigation.navigateTo navigation and lookup display-name selection behavior.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
plugins/model-apps/skills/genpage/SKILL.md Updates the component template to include pageInput in props destructuring.
plugins/model-apps/references/genpage-rules-reference.md Adds Page Input guidance/examples and strengthens navigation + OData lookup selection rules.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread plugins/model-apps/references/genpage-rules-reference.md
Comment thread plugins/model-apps/references/genpage-rules-reference.md
Comment thread plugins/model-apps/references/genpage-rules-reference.md Outdated
Copilot AI review requested due to automatic review settings April 8, 2026 18:10
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread plugins/model-apps/references/genpage-rules-reference.md
Comment thread plugins/model-apps/references/genpage-rules-reference.md Outdated
Comment thread plugins/model-apps/references/genpage-rules-reference.md
Comment thread plugins/model-apps/references/genpage-rules-reference.md
Comment thread plugins/model-apps/references/genpage-rules-reference.md
Copilot AI review requested due to automatic review settings April 8, 2026 18:32
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread plugins/model-apps/references/genpage-rules-reference.md
Comment thread plugins/model-apps/references/genpage-rules-reference.md
Comment thread plugins/model-apps/references/genpage-rules-reference.md
akshay-viz and others added 7 commits April 9, 2026 12:47
Port PageInput feature from AIBuilder CoderAgent. The generated component
can now accept an optional pageInput prop with entityName, recordId, and
arbitrary data from the hosting page.

- genpage-rules-reference.md: add Page Input section with interface
  definition, usage rules, and code examples for record retrieval and
  safe type casting of data values
- SKILL.md: include pageInput in Component Template destructuring

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…up $select rules

- Rule 11: Warn about React 17 double-render flicker when using FluentProvider
- Rule 13: Require Xrm.Navigation.navigateTo for all in-app navigation
- Add GenUX Page Navigation pattern (entity records + genux-to-genux)
- Add Dark Mode Toggle pattern using themeToVars instead of FluentProvider
- Add pageInput rendering guidelines (sync prop derivation, no delays, early returns)
- Add DataAPI Rule 11: lookup *name/*yominame fields cannot be in $select

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…lass entityName/recordId (#83)

Co-authored-by: Jason Green <jasongre@microsoft.com>
The previous wording used a single example (regardingobjectidname) which
led to the rule being applied inconsistently. Updated to make clear that
ALL *name/*yominame lookup fields are OData annotations and cannot be
selected, with multiple concrete examples.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…sion to 1.0.6

Adds pageInput to the canonical destructuring in the rules reference
Component Structure section, matching the SKILL.md template. Bumps
plugin version to 1.0.6.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 9, 2026 20:10
@ghost ghost force-pushed the feature/genpage-pageinput-support branch from e4b8127 to 57d6427 Compare April 9, 2026 20:10
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread plugins/model-apps/references/genpage-rules-reference.md
akshay-viz and others added 2 commits April 9, 2026 13:16
Extracts the full list-page and detail-page caching code into
samples/9-data-caching.tsx. Rules reference now has condensed
key rules + link to the sample. Reduces genpage-rules-reference.md
by ~60 lines while keeping the complete patterns accessible.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Removes the full component boilerplate (imports, DataGrid, makeStyles)
and keeps only the list-page array cache and detail-page Map cache
patterns with header comments explaining when to use each.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 10, 2026 17:29
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread plugins/model-apps/samples/9-data-caching.tsx
Comment thread plugins/model-apps/references/genpage-rules-reference.md
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ghost ghost enabled auto-merge (squash) April 10, 2026 18:29
@ghost ghost merged commit 1132a35 into main Apr 10, 2026
2 checks passed
@ghost ghost deleted the feature/genpage-pageinput-support branch April 10, 2026 18:33
This pull request was closed.
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.

3 participants