Skip to content

docs(README): document four per-plan-type --services slugs (closes #138)#169

Open
cristim wants to merge 1 commit into
feat/multicloud-web-frontendfrom
fix/issue-138-sp-docs
Open

docs(README): document four per-plan-type --services slugs (closes #138)#169
cristim wants to merge 1 commit into
feat/multicloud-web-frontendfrom
fix/issue-138-sp-docs

Conversation

@cristim
Copy link
Copy Markdown
Member

@cristim cristim commented Apr 27, 2026

Summary

Closes #138.

PR #123 introduced four per-plan-type Savings Plans --services flag values (savings-plans-{compute,ec2instance,sagemaker,database}) plus kept savingsplans and sp as fan-out aliases. The README updates to document this were prepared as part of #123 but reverted at commit time over markdownlint table-style errors.

Changes

  • Expanded the -s, --services flag-table row to spell out the per-RI services, the four per-plan-type SP slugs, and the fan-out aliases.
  • Replaced examples 6 and 7 with per-plan-type slug invocations directly (savings-plans-database, savings-plans-compute,…-ec2instance).
  • Added example 8 demonstrating the savingsplans fan-out alias + a callout that explicit per-plan-type slugs are preferred when scope matters.
  • Aligned a few tables on the way through (Execution Control, Filtering, Authentication) into the wider style.

.markdownlint.yaml

Disabled MD060 (table-column-style). The README mixes tables of wildly different widths — small flag/value pairs and long descriptive rows. Forcing a single style across all of them either crams long-text rows into ugly compact form or pads tiny tables with mountains of trailing whitespace. Both are worse than the inconsistency the rule was trying to flag, and the rule was the only thing blocking PR #123's docs commit. Documented the rationale in-config.

Verification

  • pre-commit run markdownlint --files README.md clean.
  • All other pre-commit hooks pass (no code touched).

🤖 Generated with claude-flow

Summary by CodeRabbit

  • Documentation
    • Clarified CLI documentation for the --services flag regarding Savings Plans selection options.
    • Added explicit guidance on using per-plan-type service slugs for precise scope control versus using aliases.
    • Revised and added usage examples demonstrating both direct plan-type selection and alias behavior.
    • Improved Markdown formatting for better table alignment and readability.

@cristim
Copy link
Copy Markdown
Member Author

cristim commented Apr 27, 2026

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 27, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 27, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 4f4372a8-5393-4599-9fb6-92be9cd77ac7

📥 Commits

Reviewing files that changed from the base of the PR and between c0ce0fb and 7b719aa.

📒 Files selected for processing (1)
  • README.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • README.md

📝 Walkthrough

Walkthrough

README.md is updated to document four per-plan-type --services flag values for Savings Plans (savings-plans-compute, savings-plans-ec2instance, savings-plans-sagemaker, savings-plans-database) with clarification that aliases savingsplans and sp fan out to all four types. Usage examples and Markdown tables are revised accordingly.

Changes

Cohort / File(s) Summary
README Documentation
README.md
Updated --services flag documentation to explicitly list four per-plan-type Savings Plans slugs and clarify alias fan-out behavior. Revised Examples 6 and 7 to use explicit slugs, added Example 8 demonstrating alias usage, and reformatted Markdown tables (Execution Control, Filtering, Authentication, Coverage Percentage, Project Structure) for alignment.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested labels

impact/few, type/chore

Poem

🐰 Four slugs now hop through the Savings Plan space,
With aliases racing to keep perfect pace—
The tables align, the examples gleam bright,
Each document edit refined just right! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: documenting four per-plan-type Savings Plans --services slugs and updating README tables, matching the changeset focus.
Linked Issues check ✅ Passed The PR fulfills all acceptance criteria from issue #138: updated --services flag table, modified examples 6-7 to use per-plan-type slugs, added example 8 demonstrating fan-out aliases, and confirmed markdownlint clean.
Out of Scope Changes check ✅ Passed All changes are directly related to documenting per-plan-type Savings Plans slugs and updating README tables; no unrelated modifications detected in the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/issue-138-sp-docs

Review rate limit: 0/5 reviews remaining, refill in 55 minutes and 27 seconds.

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

Copy link
Copy Markdown

@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: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@README.md`:
- Line 108: The README's services table omits the hyphenated fan-out alias the
program accepts; update the `-s, --services` description to include
`savings-plans` alongside the existing `savingsplans` and `sp` aliases so the
doc matches the implementation (the CLI parsing logic that treats
`savingsplans`, `sp`, and `savings-plans` as SP fan-out aliases, referenced
around the code handling services parsing).
🪄 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: defaults

Review profile: CHILL

Plan: Pro

Run ID: 60d1ef50-0fe7-4f33-a5dd-cf3d3589eddc

📥 Commits

Reviewing files that changed from the base of the PR and between 346d168 and c0ce0fb.

📒 Files selected for processing (2)
  • .markdownlint.yaml
  • README.md

Comment thread README.md
@cristim cristim added triaged Item has been triaged priority/p3 Polish / idea / may never ship severity/low Minor harm urgency/eventually No deadline impact/internal Team-internal only effort/xs Trivial / one-liner type/docs Documentation labels Apr 28, 2026
@cristim
Copy link
Copy Markdown
Member Author

cristim commented Apr 28, 2026

P3 docs: documents the four per-plan-type --services slugs that shipped in #123 but whose README update was blocked by markdownlint. CI green, CodeRabbit passed with 5/5 checks. Straightforward merge candidate. Note: both #169 and #170 disable MD060 in .markdownlint.yaml — idempotent, but worth merging in order to avoid a trivial conflict. (triage agent wave2-F)

…ple 8

Closes #138.

The four per-plan-type Savings Plans `--services` flag values from PR #123
(`savings-plans-{compute,ec2instance,sagemaker,database}`) plus the
`savingsplans` / `sp` fan-out aliases were never documented in the README
because the docs commit was deferred over markdownlint table-style errors.

Changes:
  - Expanded the `-s, --services` flag-table row to spell out the per-RI
    services, the four per-plan-type SP slugs, and the fan-out aliases.
  - Updated examples 6 and 7 to use the per-plan-type slugs directly
    (`savings-plans-database`, `savings-plans-compute,...-ec2instance`)
    instead of `savingsplans --include-sp-types Database`.
  - Added example 8 demonstrating the `savingsplans` fan-out alias and
    a callout that explicit per-plan-type slugs are preferred when scope
    matters.

Disabled MD060 (table-column-style) in `.markdownlint.yaml`. The README
mixes tables of wildly different widths — small flag/value pairs and
long descriptive rows. Forcing a single style across all of them either
crams long-text rows into ugly compact form or pads tiny tables with
mountains of trailing whitespace. Both are worse than the inconsistency
the rule was trying to flag, and the rule was the only thing blocking
PR #123's docs commit.

Aligned a few tables on the way through (`Execution Control`,
`Filtering`, `Authentication`) into the wider style; left the others
in their existing compact form.

`pre-commit run markdownlint --files README.md` clean.
@cristim cristim force-pushed the fix/issue-138-sp-docs branch from c0ce0fb to 7b719aa Compare April 29, 2026 22:45
cristim added a commit that referenced this pull request Apr 29, 2026
Closes #117.

Per-account service overrides have been a feature since migration
000011_cloud_accounts.up.sql (mid-2024) and now have full UI coverage
via #72 (inline payment edit) and #106 (create modal). Adds a new
"Per-Account Service Overrides" section to README between "Coverage
Percentage" and "Safety Features" covering:

- Concept + when to use vs the global Settings → Purchasing card.
- Web-UI walkthrough (Settings → Accounts → expand → Service overrides).
- AWS-only V1 boundary callout pointing at #109 for Azure/GCP.
- How to edit existing overrides — inline Payment per #72, Reset, and
  the #110 follow-up for inline Term/Coverage/Enabled.
- "Inherit" semantics: blank fields are not stored as a sentinel; the
  PUT request stays sparse and the engine reads the global default at
  evaluation time.
- API parity note: the override modal targets the same endpoint as
  scripted setups; both write the same row.

Also disables MD060 (table-column-style) in .markdownlint.yaml — same
rationale as PR #169 (landing here too in case the PRs merge in a
different order; both diffs are idempotent).
@cristim
Copy link
Copy Markdown
Member Author

cristim commented Apr 29, 2026

Rebased onto current feat/multicloud-web-frontend (was c0ce0fb, now 7b719aa). Conflict was in .markdownlint.yaml only — README.md merged cleanly. Upstream PR #105 pinned MD060: leading_and_trailing; this PR's commit additionally disabled MD060. Resolved by keeping upstream's pin (it solves the same root problem the PR's disable was working around — the pinned "leading_and_trailing" style matches the README's existing convention) and dropping the PR's MD060 change. Verified markdownlint README.md is clean against upstream's pin. @coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 29, 2026

@cristim Thanks for the detailed rebase summary. The conflict resolution looks clean — keeping upstream PR #105's MD060: leading_and_trailing pin rather than outright disabling the rule is the better approach, as it enforces the existing README convention while still satisfying the original linting concern. Triggering a review of the updated commits now.

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

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

Labels

effort/xs Trivial / one-liner impact/internal Team-internal only priority/p3 Polish / idea / may never ship severity/low Minor harm triaged Item has been triaged type/docs Documentation urgency/eventually No deadline

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant