Add Figma plugin v1.1.0 for monitoring teams, projects, components and styles#89
Add Figma plugin v1.1.0 for monitoring teams, projects, components and styles#89conor-richey wants to merge 2 commits into
Conversation
…d styles Indexes Figma Projects, Components, and Styles via the REST API, with dashboards for an account-wide overview, per-project file browsing, and a manual project/file picker for version history and comments (Figma has no team-wide file-list endpoint, so files can't be indexed as objects).
📝 WalkthroughWalkthroughChangesFigma integration
Sequence Diagram(s)sequenceDiagram
participant FigmaAPI
participant DataStreams
participant IndexDefinitions
participant Dashboards
FigmaAPI->>DataStreams: Return team and file data
DataStreams->>IndexDefinitions: Map team records to Figma object types
DataStreams->>Dashboards: Supply projects, files, versions, and comments
Dashboards->>Dashboards: Render configured tables, counts, charts, and properties
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@plugins/Figma/v1/docs/README.md`:
- Around line 3-13: Update the “What gets indexed” table in the Figma README to
remove the Figma File row, or explicitly clarify that files are surfaced through
data streams rather than indexed as an object type; retain the entries for Figma
Project, Figma Component, and Figma Style.
- Around line 33-37: Add the `text` language identifier to the fenced code block
containing the Figma Team URL and explanatory marker in the documentation.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI (base), Organization UI (inherited)
Review profile: ASSERTIVE
Plan: Pro
Run ID: d1a510e8-7f63-4e83-868d-7667035b42c3
⛔ Files ignored due to path filters (1)
plugins/Figma/v1/icon.svgis excluded by!**/*.svg
📒 Files selected for processing (22)
plugins/Figma/v1/configValidation.jsonplugins/Figma/v1/custom_types.jsonplugins/Figma/v1/dataStreams/fileComments.jsonplugins/Figma/v1/dataStreams/fileSummary.jsonplugins/Figma/v1/dataStreams/fileVersions.jsonplugins/Figma/v1/dataStreams/filesInProject.jsonplugins/Figma/v1/dataStreams/projectFiles.jsonplugins/Figma/v1/dataStreams/projectsPicker.jsonplugins/Figma/v1/dataStreams/teamComponents.jsonplugins/Figma/v1/dataStreams/teamProjects.jsonplugins/Figma/v1/dataStreams/teamStyles.jsonplugins/Figma/v1/defaultContent/componentDashboard.dash.jsonplugins/Figma/v1/defaultContent/fileExplorer.dash.jsonplugins/Figma/v1/defaultContent/manifest.jsonplugins/Figma/v1/defaultContent/overview.dash.jsonplugins/Figma/v1/defaultContent/projectDashboard.dash.jsonplugins/Figma/v1/defaultContent/scopes.jsonplugins/Figma/v1/defaultContent/styleDashboard.dash.jsonplugins/Figma/v1/docs/README.mdplugins/Figma/v1/indexDefinitions/default.jsonplugins/Figma/v1/metadata.jsonplugins/Figma/v1/ui.json
clarkd
left a comment
There was a problem hiding this comment.
Two minor comments but not dealbreakers - nice work!
| "displayName": "Figma", | ||
| "version": "1.1.0", | ||
| "author": { | ||
| "name": "@conor-richey-squaredup", |
There was a problem hiding this comment.
| "name": "@conor-richey-squaredup", | |
| "name": "@conor-richey", |
- README's "What gets indexed" table incorrectly listed Figma File as an indexed object type; it isn't (no team-wide file-list endpoint). Clarified how file data is still surfaced instead. - Corrected author handle in metadata.json to @conor-richey.
Thanks @clarkd , both should be sorted |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
plugins/Figma/v1/docs/README.md (3)
17-28: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winAdd links to the official Figma setup and token-scope documentation.
The setup steps are useful, but this README currently provides no direct third-party references for generating tokens or selecting scopes. Add the relevant Figma documentation links.
As per coding guidelines, documentation should include relevant third-party links.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@plugins/Figma/v1/docs/README.md` around lines 17 - 28, Add official Figma documentation links to the personal access token setup section, linking the token-generation instructions and token-scope reference near the corresponding steps in the README. Keep the existing setup instructions and scope list unchanged.Source: Coding guidelines
55-55: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winSeparate the Variables and Activity Logs requirements.
Activity Logs require Enterprise org-admin OAuth, but Variables are a separate feature; describe them as unsupported by this plugin instead of attributing the limitation to unavailable OAuth scopes.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@plugins/Figma/v1/docs/README.md` at line 55, Update the README limitation statement to separate Activity Logs from Variables: attribute Activity Logs’ restriction to Enterprise org-admin OAuth requirements, and describe Variables independently as unsupported by this plugin without citing unavailable personal-access-token scopes.
52-52: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winCorrect the Figma rate-limit note. The current limits vary by seat, plan, and endpoint tier, and some endpoints are limited to 6 requests/month. Link the official rate-limit docs instead of presenting a single
10–150 requests/minuterange.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@plugins/Figma/v1/docs/README.md` at line 52, Update the “Rate limits” note in the README to describe limits as varying by seat, plan, and endpoint tier, including endpoints limited to 6 requests per month. Replace the unsupported 10–150 requests/minute range with a link to Figma’s official rate-limit documentation.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@plugins/Figma/v1/docs/README.md`:
- Around line 17-28: Add official Figma documentation links to the personal
access token setup section, linking the token-generation instructions and
token-scope reference near the corresponding steps in the README. Keep the
existing setup instructions and scope list unchanged.
- Line 55: Update the README limitation statement to separate Activity Logs from
Variables: attribute Activity Logs’ restriction to Enterprise org-admin OAuth
requirements, and describe Variables independently as unsupported by this plugin
without citing unavailable personal-access-token scopes.
- Line 52: Update the “Rate limits” note in the README to describe limits as
varying by seat, plan, and endpoint tier, including endpoints limited to 6
requests per month. Replace the unsupported 10–150 requests/minute range with a
link to Figma’s official rate-limit documentation.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI (base), Organization UI (inherited)
Review profile: ASSERTIVE
Plan: Pro
Run ID: 89b00493-8a80-451b-8d65-3e8dd8aa9827
📒 Files selected for processing (2)
plugins/Figma/v1/docs/README.mdplugins/Figma/v1/metadata.json
What does this do?
Adds a new SquaredUp plugin for Figma. It indexes Figma Projects, Components, and Styles from a configured team via Figma's REST API, and ships dashboards for an account-wide overview, per-project file browsing, and per-object (Project/Component/Style) perspectives.
Why is it useful?
Lets teams monitor their Figma workspace alongside other tools in SquaredUp — see project/file activity, track published design-system components and styles, and drill into file version history and comments without leaving SquaredUp.
Known limitations
Testing performed
squaredup validatepasses.squaredup test), including pagination (up to 729 rows / 25 pages onfileVersions) and the two-object scoping check on object-scoped streams.Summary by CodeRabbit