Skip to content

Conversation

@eliykat
Copy link
Member

@eliykat eliykat commented Dec 29, 2025

🎟️ Tracking

https://bitwarden.atlassian.net/browse/PM-30298

📔 Objective

Add initial documentation for how to add new plan features. More detail will follow, this is just to get some basic guidance close to code.

📸 Screenshots

⏰ Reminders before review

  • Contributor guidelines followed
  • All formatters and local linters executed and passed
  • Written new unit and / or integration tests where applicable
  • Protected functional changes with optionality (feature flags)
  • Used internationalization (i18n) for all UI strings
  • CI builds passed
  • Communicated to DevOps any deployment requirements
  • Updated any necessary documentation (Confluence, contributing docs) or informed the documentation team

🦮 Reviewer guidelines

  • 👍 (:+1:) or similar for great changes
  • 📝 (:memo:) or ℹ️ (:information_source:) for notes or general info
  • ❓ (:question:) for questions
  • 🤔 (:thinking:) or 💭 (:thought_balloon:) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion
  • 🎨 (:art:) for suggestions / improvements
  • ❌ (:x:) or ⚠️ (:warning:) for more significant problems or concerns needing attention
  • 🌱 (:seedling:) or ♻️ (:recycle:) for future improvements or indications of technical debt
  • ⛏ (:pick:) for minor or nitpick changes

@eliykat eliykat requested a review from a team as a code owner December 29, 2025 21:52
@eliykat eliykat requested a review from JimmyVo16 December 29, 2025 21:52
@github-actions
Copy link
Contributor

github-actions bot commented Dec 29, 2025

Logo
Checkmarx One – Scan Summary & Detailsb0b39d37-67b6-48ba-be8c-aa720f24394b

Great job! No new security vulnerabilities introduced in this pull request

@eliykat eliykat added the ai-review Request a Claude code review label Dec 29, 2025
@codecov
Copy link

codecov bot commented Dec 29, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 54.83%. Comparing base (3b5bb76) to head (5955464).
⚠️ Report is 11 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6781      +/-   ##
==========================================
- Coverage   54.83%   54.83%   -0.01%     
==========================================
  Files        1920     1920              
  Lines       85259    85255       -4     
  Branches     7634     7633       -1     
==========================================
- Hits        46756    46753       -3     
+ Misses      36722    36721       -1     
  Partials     1781     1781              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@claude
Copy link
Contributor

claude bot commented Dec 29, 2025

Claude finished @eliykat's task in 4m 13s —— View job


Overall Assessment: APPROVE

This PR adds helpful documentation for the OrganizationAbility pattern, explaining how to add new plan-gated features. The documentation accurately reflects the codebase patterns and provides clear guidance for developers. The file was moved to co-locate with the OrganizationAbility class while intentionally maintaining the original namespace for backward compatibility.

Code Review Details
  • QUESTION: Step 5 lacks clarity on updating organization license claims
    • src/Core/AdminConsole/OrganizationFeatures/OrganizationAbility/README.md:112

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 4.5 [email protected]

@eliykat eliykat added ai-review Request a Claude code review and removed ai-review Request a Claude code review labels Dec 30, 2025

4. **Update organization creation/upgrade logic** — Ensure the ability is set based on the plan.

5. **Update the organization license claims** (if applicable) - to make the feature available on self-hosted instances.
Copy link
Contributor

Choose a reason for hiding this comment

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

QUESTION: What does "Update the organization license claims (if applicable)" mean and when is it applicable?

Context

This step lacks specificity for developers unfamiliar with the self-hosted licensing system. Based on the codebase, it appears to involve:

  1. Adding a constant to OrganizationLicenseConstants.cs
  2. Adding a claim in OrganizationLicenseClaimsFactory.GenerateClaims()

However, the documentation doesn't explain:

  • What files need updating
  • When this step is required vs optional
  • What "if applicable" means (all organization abilities? only certain ones?)

Could you clarify this step or provide more specific guidance? This would help developers know exactly what to do for self-hosted deployments.

Copy link
Member Author

@eliykat eliykat Dec 30, 2025

Choose a reason for hiding this comment

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

We are going to discuss this with Billing Team and provide more detail here in a separate PR.

@eliykat eliykat merged commit e9d53c0 into main Jan 2, 2026
57 checks passed
@eliykat eliykat deleted the ac/pm-30298/initial-documentation-for-organizationability-pattern branch January 2, 2026 21:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-review Request a Claude code review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants