Skip to content

Conversation

@pitzcarraldo
Copy link
Contributor

@pitzcarraldo pitzcarraldo commented Jan 28, 2026

Summary

Add comprehensive Notification Service Extension (NSE) setup guidance to iOS-related commands, aligning with the official Clix iOS SDK documentation.

Details

Changes:

  • Updated NotificationService.swift template to use ClixNotificationServiceExtension inheritance (SDK README-aligned)
  • Added register(projectId:) API call in the template
  • Added CocoaPods and SPM dependency setup instructions for extension targets
  • Added ENABLE_USER_SCRIPT_SANDBOXING build setting guidance for Xcode 15+
  • Added React Native + Firebase build phase ordering note
  • Added NSE setup section to install skill for consistency across commands
  • Regenerated embedded-skills.ts with updated local skills

Files modified:

  • src/lib/ios/agent-prompt-generator.ts - Core NSE template and instructions
  • src/lib/skills/ios-setup/SKILL.md - Phase 3.5 NSE setup section
  • src/lib/skills/install/SKILL.md - NSE reference section
  • src/lib/embedded-skills.ts - Auto-regenerated

Related Issues

Related to SDK documentation sync: https://docs.clix.so/sdk-ios-nse

How to Validate

  1. Run DEBUG=1 bun run dev ios-setup and verify the agent prompt includes:
    • ClixNotificationServiceExtension inheritance
    • register(projectId: "YOUR_PROJECT_ID") call
    • CocoaPods and SPM setup instructions
    • ENABLE_USER_SCRIPT_SANDBOXING build setting note
  2. Run DEBUG=1 bun run dev install and verify NSE section appears in output
  3. Run bun run check - should pass with existing warnings only
  4. Run bun test - unit tests should pass (E2E tests require build)

Pre-Merge Checklist

Code Quality

  • Code builds without errors (bun run build)
  • Types check correctly (bun run typecheck)
  • Linter passes (bun run lint)
  • Tests pass (bun test)
  • Added/updated tests for new functionality (if applicable)

Documentation

  • Updated relevant documentation (if needed)
  • Updated CLAUDE.md if architecture changed (if needed)

Commit Standards

  • Commits follow Conventional Commits format
  • No breaking changes, OR breaking changes are documented

Platform Validation

  • macOS
  • Linux

Summary by CodeRabbit

  • New Features

    • Added embedded iOS Notification Service Extension setup instructions and streamlined extension naming/registration steps.
  • Documentation

    • Expanded iOS setup docs with step-by-step NSE creation, SDK integration options (CocoaPods/SPM), entitlements/App Groups guidance, Xcode 15+ build-setting notes, RN+Firebase considerations, updated step ordering, and an interactive ios-setup prompt.

✏️ Tip: You can customize this high-level summary in your review settings.

- Update NotificationService.swift template to use ClixNotificationServiceExtension
- Add CocoaPods and SPM dependency setup instructions for extension target
- Add ENABLE_USER_SCRIPT_SANDBOXING build setting guidance for Xcode 15+
- Add NSE setup section to install skill for consistency
- Regenerate embedded-skills.ts with updated local skills
@coderabbitai
Copy link

coderabbitai bot commented Jan 28, 2026

Walkthrough

Adds iOS Notification Service Extension setup and integration instructions across docs and prompts, simplifies the NotificationService.swift scaffold to call Clix SDK registration, reorders extension setup steps and build-setting guidance, and inserts new embedded skills entries in the registry.

Changes

Cohort / File(s) Summary
Embedded skills registry
src/lib/embedded-skills.ts
Added new embedded skill entries and frontmatter; content-only additions to registry strings.
iOS setup & install docs
src/lib/skills/install/SKILL.md, src/lib/skills/ios-setup/SKILL.md, README.md, llms.txt
Added Phase 3.5 / NSE instructions: create Notification Service Extension target, App Groups entitlements, integrate Clix SDK into extension (CocoaPods/SPM), sample NotificationService.swift calling register(projectId:), Xcode 15+ build-setting notes, and CLI clix ios-setup mention.
iOS agent prompt generator
src/lib/ios/agent-prompt-generator.ts
Reworked extension naming templating, replaced manual NotificationService.swift implementation with ClixNotificationServiceExtension scaffold that calls register(projectId:), reordered steps (Add SDK, entitlements, Info.plist, build settings), and updated RN+Firebase/build guidance.

Possibly related PRs

Suggested reviewers

  • JeongwooYoo
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: adding NSE setup guidance with SDK-aligned implementation for iOS.
Description check ✅ Passed The description covers all required template sections: Summary, Details, Related Issues, How to Validate, and Pre-Merge Checklist with comprehensive information about changes and validation steps.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai bot requested a review from JeongwooYoo January 28, 2026 02:26
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: dc4028f7e7

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@src/lib/embedded-skills.ts`:
- Around line 1971-1990: Add the two new skills (folder/name/commandName values:
auditing-deep-link-contracts and auditing-permission-ux) to the README.md and
llms.txt docs: insert interactive command entries for
/auditing-deep-link-contracts and /auditing-permission-ux in the interactive
skills section with short descriptions matching the code ("Audits deep link
contracts and routing behavior" and "Audits notification permission request
flows"), and update any summary counts and command listing text that say "5
interactive skills" to "7 interactive skills" (overview and command listing) so
documentation matches the new entries.

In `@src/lib/ios/agent-prompt-generator.ts`:
- Around line 56-90: The docs show two different extension target names causing
a mismatch: update all occurrences (the Podfile target
'${context.appName}NotificationServiceExtension' and the entitlements path
'${context.iosDir}/NotificationServiceExtension/NotificationServiceExtension.entitlements',
plus any SPM/Xcode steps) to use a single consistent placeholder like
'${context.notificationExtensionTarget}' (or another agreed variable), and
ensure examples (Podfile snippet, entitlements path, and SPM step text)
reference that same symbol so the user’s chosen extension target name is
consistent across Steps 2, 4, and 5.

Remove alternative target name option to prevent mismatch between
Podfile target, entitlements path, and actual extension target name.
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@src/lib/skills/ios-setup/SKILL.md`:
- Line 161: The README contains a bare URL "https://console.clix.so/" which
triggers markdownlint MD034; update the line in SKILL.md (the note that says
"Replace `YOUR_PROJECT_ID` with your actual Clix project ID from
https://console.clix.so/") to use a proper Markdown link or angle-bracketed URL
(for example "from [Clix Console](https://console.clix.so/)" or "from
<https://console.clix.so/>") so the bare-URL lint error is resolved.
- Around line 131-185: The README.md and llms.txt need explicit mention that the
ios-setup skill now includes a full Notification Service Extension (NSE) setup;
update README.md to expand the short description ("Configure iOS
capabilities...") to list NSE setup steps/coverage (creating the Notification
Service Extension target, implementing NotificationService.swift using
ClixNotificationServiceExtension and register(projectId: "..."), Podfile/SPM
instructions, and Xcode build setting notes) and update llms.txt to include NSE
as a distinct component under /ios-setup (mention NotificationService.swift, the
target name convention like {AppName}NotificationServiceExtension, dependency
instructions, and ENABLE_USER_SCRIPT_SANDBOXING guidance) so downstream docs and
prompts reflect the new major feature.

- Update README.md ios-setup section with NSE setup details
- Update llms.txt with comprehensive NSE configuration guide
- Fix bare URL markdown lint issue in SKILL.md
@JeongwooYoo
Copy link

Looking good! Let me know when it's ready for the test. I want to try this one.

@pitzcarraldo pitzcarraldo merged commit 498b32a into main Jan 28, 2026
5 checks passed
@pitzcarraldo pitzcarraldo deleted the feat/ios-nse-setup branch January 28, 2026 04:17
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