Releases
v0.1.0
Compare
Sorry, something went wrong.
No results found
Changelog
New features
7273547 feat(agents): allow dashboard token override via RC_AGENT_AUTH_TOKEN
a929438 feat(api): error-type predicates + fix rate-limit exit code (#122 )
1694e03 feat(api): generate types from OpenAPI spec via oapi-codegen
35976c7 feat(api): model store-state response + capture raw_store_status (#125 )
ac5f6af feat(api): send version + platform in User-Agent on every API request
3777276 feat(apple): ask before touching a fully configured app
ec07628 feat(apps): add Apple setup dry run
dd770de feat(apps): configure Apple credentials
988c060 feat(apps): confirm before setting the fetched vendor number
36c6840 feat(apps): consume the new App read-model fields
20b9039 feat(apps): explain Apple credential handling
61ac4ed feat(apps): explicit per-key decisions in apple setup
093d9ce feat(apps): export StoreKit configuration
b43f200 feat(apps): fetch the vendor number from Apple during setup
78cd9da feat(apps): narrate each key apple setup creates
1973149 feat(apps): offer to create the App Store Connect app in setup
e38ba68 feat(apps): plan, narration, and vendor number in apple setup
6c69cac feat(apps): surface Apple credential readiness in list/show
9d25f3f feat(apps): surface the human-only nature of apple setup
3919879 feat(auth): add agentic signup
eb7e946 feat(auth): import RevenueCat credential from an agent's MCP config
5b35dac feat(auth): name the active credential's source in auth status (#114 )
b16ba41 feat(auth): store credentials in the OS keyring, not a plaintext file
ee55071 feat(bootstrap): add project creation and richer app setup
9c03486 feat(bootstrap): complete SDK-ready catalog setup
e4b60eb feat(cli): add packages list, products create, api passthrough, schema caps
817f01e feat(cli): add rc skills — browsable workflow guides installable as Claude Code commands
93daba6 feat(cli): add requireID pattern for interactive resource pickers
bdd480d feat(cli): bare rc shows getting-started help and the full command surface (#59 )
e738207 feat(cli): decide() primitive for branching choices
b188c82 feat(cli): onboarding surface — scoped commands, rc capital, hardened setup
09bd2cd feat(cli): tag v2 API requests with usage-analytics headers (#129 )
e207e21 feat(cli): wire requireID pickers into packages and products commands
4eceb70 feat(codegen): merge a hand-maintained beta spec overlay for store_state (#64 )
c172986 feat(config): per-directory project binding via .revenuecat.json (#117 )
67e32d9 feat(customers): surface active entitlements from simulate-purchase (#145 )
01477a0 feat(design): consolidate the design system and enforce its boundaries
35ad435 feat(dist): publish the CLI to npm
f1ceb1f feat(google): OAuth + Cloud/Play bootstrap library (#141 )
9c6c447 feat(open): rc open deep-links the dashboard
7e7c8a9 feat(output): RevenueCat brand palette and output rhythm
4ea2a42 feat(output): answer receipts for interactive prompts
6144d59 feat(output): guided-command pattern
b829fd7 feat(output): humanize all structured output; audit-driven design pass
2ca808e feat(output): orient guided flows with a Lead paragraph
ef74788 feat(output): surface recovery hints to agents in --json errors
ce1ad03 feat(paywalls): add --standalone to paywalls generate
52a3efb feat(paywalls): add AI generate/edit via Astra
d3c8878 feat(paywalls): add attach and detach commands
e7788bb feat(paywalls): add unpublish command
9ce123d feat(paywalls): persist AI designs to the RevenueCat draft
1350d4f feat(paywalls): show an offering picker on generate when omitted in a TTY
226f0ab feat(paywalls): standalone create, duplicate-offering, edit/attachment polish
bb47f0c feat(paywalls): store session files and screenshots in the CLI data dir
2c8f986 feat(products): add persisted store plan workflow
8510968 feat(products): live store readiness after apply + price equalization (#126 )
a11d04a feat(products): read live store state in products show
43f8f20 feat(products): sync store state from CSV
3c46046 feat(rico): absolute clickable dashboard URLs
c07c3c1 feat(rico): add --resume conversation picker
dde9d6d feat(rico): add Rico AI assistant commands
1560a9b feat(rico): full-screen chat window
8cf4943 feat(rico): linkify bare dashboard paths in chat
5232ce8 feat(rico): polish chat window and add --continue
6d0b16c feat(rico): relative last-activity times in picker and list
308973d feat(schema): rc commands --schemas — whole surface in one call
16935a5 feat(setup): add agentic catalog verification
e56db53 feat(setup): complete Test Store bootstrap primitives
149aa6a feat(setup): guided agent-driven onboarding entry point
dd64ab8 feat(setup): guided rail + rc setup google on it (#139 )
7983d25 feat(setup): platform-aware stages — Android apps get the Play path
84bc281 feat(setup): promote apple setup to rc setup apple (#143 )
b58511a feat(setup): put rc apps apple on the guided rail tier (#140 )
52c1e14 feat(setup): put rc setup on the guided rail (#144 )
a89003c feat(setup): rc setup google — bootstrap Google Play credentials (#135 )
0db3606 feat(setup): stage-aware prompts — rc setup always hands over the next step
a1884ff feat(skills): add copy-ready starter prompts
05f5a5a feat(skills): explain discovery and triggering
2aafb64 feat(skills): support branch installs
28ffdc4 feat(specs): add OpenAPI spec snapshots and weekly sync workflow
72b7762 feat(specs): deep diff with severity levels and CLI coverage map
b517b04 feat(store-state): plan recovery and error guidance from agent feedback
0b1d4a7 feat(store-state): surface App Store submission requirements
8f3b89c feat(store-state): upload real App Review screenshots
fe9da8a feat(tui): brand the browser, prompts, and pickers
0692c00 feat(tui): interactive stack-based browser for list/show commands
76a6953 feat(tui): step ledger primitive (#138 )
2b42381 feat(tui): table mode, embedded chart viewer, and browser quality fixes
d78f101 feat: add rc update command and install.sh for Xcode-free install
256615e feat: install the command as both rc and revenuecat (#149 )
Bug fixes
adaba6b fix 409 conflict check when no offering-id
41c4f05 fix api key URL to point to projects page
5ad70a0 fix media asset format fields to use pointers for dimensions
b9caaa6 fix media asset format fields to use pointers for dimensions
834b96d fix offering-id hint when Astra echoes null
4e75940 fix(agents): drop the RC_AGENT_AUTH_TOKEN escape hatch
f0e0a6d fix(api): align customer and subscription paths with v2 docs
a54cbae fix(api): align grant, webhooks, and required inputs with the v2 spec
5c64270 fix(api): correct SetAttributes body shape and OverrideOffering path
634e975 fix(api): correct store-state screenshot upload path (#70 )
3221bb0 fix(api): wire --duration flag through to product create subscription field
de3169e fix(apple): create ASC apps via the modern iris API
d31c685 fix(apple): lead names App Store Connect too
fc937e0 fix(apple): make the credential notice name its referents
861db8f fix(apple): make the credential privacy statement unmissable
cef85fb fix(apple): name the service — App Store Connect, not 'Apple'
fdb3175 fix(apple): register bundle IDs through the Developer Portal
cb2bb88 fix(apple): state that Apple credentials are never saved
7bdba28 fix(apple): tighten setup status and plan copy
91f9ffc fix(apple): use the modern portal provisioning API for bundle IDs
fc0d47e fix(apps apple): non-fatal key creation that explains Apple's key limits (#112 )
28b8f62 fix(apps): --json/--no-input correctness for create + apple setup key labels (#121 )
8d3d66c fix(apps): allow verify-only apple setup runs
09dd8e5 fix(apps): don't let App Store app-record setup abort Apple key setup (#98 )
ba3fd03 fix(apps): drop mac_app_store from create (dashboard-only, no API to enable) (#107 )
6f40992 fix(apps): explain when apple setup has nothing to create
d2ddb03 fix(apps): human-readable apple setup output
778b2cc fix(auth): bounds-check MCP credential selection index
e0eb489 fix(auth): clear saved project when credentials change
16ed663 fix(auth): drop internal "identity is not cached" line from auth status (#104 )
59dd6af fix(auth): hide structured output in human mode
17bb73e fix(auth): improve interactive signup UX
0c73e21 fix(auth): polish signup prompts and handoff
5d971f2 fix(auth): recommend Keychain storage
1153037 fix(auth): request full CLI OAuth scope
11c9090 fix(auth): save generated password without prompt
bc2db7d fix(auth): send signup CSRF header
4bed4ef fix(auth): show cached account identity
e8fdaf8 fix(auth): stop RC_API_KEY from shadowing an OAuth login (DX-940) (#97 )
032305d fix(auth): store passwords through Keychain Services
4b4c8e1 fix(auth): use native macOS Keychain API
0dea9d3 fix(auth): validate MCP token before clearing project / move recovery to hint
e200f5b fix(auth): validate imported MCP token before saving it
aec3894 fix(auth): validate the API key on login before saving
de90ada fix(benchmarks): remove rc benchmarks — endpoint deleted from the API (#63 )
0e26831 fix(catalog): align package and product endpoints with v2 docs
487c879 fix(ci): add oapi-codegen go.sum entries so make gen runs
ce6e1e7 fix(ci): repoint spec-sync at current OpenAPI URLs and regenerate types (#62 )
c598eb8 fix(cli): --no-input errors instead of silently picking a select's first option (#106 )
82690e3 fix(cli): derive capabilities from the command tree (DX-918) (#95 )
82c5675 fix(cli): give paywall AI run-failed errors an actionable hint (#87 )
9cf6896 fix(cli): guard rc browse against non-interactive contexts
a77b973 fix(cli): make customers the canonical command, customer an alias (#108 )
cf88f48 fix(cli): make products create store-aware (--type / --duration / --title) (DX-920) (#99 )
9f5c310 fix(cli): map HTTP 4xx/5xx to semantic exit codes in rc api
786b624 fix(cli): render ISO durations as human text in TTY output (DX-916) (#94 )
8448162 fix(cli): stop rico chat from garbling input on launch (#88 )
4a8e4a8 fix(cli): strip only the proj prefix in dashboardProjectID (DX-933) (#93 )
a19dae7 fix(cli): unify --help + home screen grouping (group on the command) (#103 )
5bcbdb6 fix(cli): unknown subcommands error with exit 2 instead of silent help (#109 )
fb443e4 fix(cli): use command context in silentRefresh and pickProjectInteractive
e29b252 fix(config): don't persist ephemeral env overrides on save
4474c16 fix(config): reject unsafe profile names
204056a fix(config): scope keyring entry to config dir, not profile name alone
1ac1f84 fix(config): store profiles under ~/.config/revenuecat everywhere
a43bd8c fix(lint): remove unused packagePickerItems (U1000)
d905d54 fix(output): adopt the terminal color standard
8859b29 fix(output): distribute education onto field annotations
6bb6487 fix(output): don't silently swallow the --json error encode failure
c62ab22 fix(paywalls): error on a missing draft revision instead of sending 0 (#123 )
3ebf12c fix(paywalls): explain the beta gate on publish/unpublish 404s
d5bc68d fix(paywalls): keep one Astra session across edit turns (DX-939) (#96 )
bcbdfae fix(paywalls): lowercase error strings (staticcheck ST1005)
8119f99 fix(paywalls): make picker labels distinguishable (#78 )
d7092e3 fix(paywalls): note that restore buttons are hidden in preview screenshots
1b7bc7e fix(paywalls): remove redundant restore note from group help
36bb6eb fix(paywalls): strip the .paywall.json suffix for screenshot base names
7d17aa1 fix(paywalls): working live Astra runs
810828d fix(release): add branch: main to homebrew tap config and fix test syntax
6ab9947 fix(release): fix GoReleaser v2 deprecations for v0.1.0
9b3ce6e fix(release): revert homebrew → brews (homebrew key doesn't exist in v2)
26847b5 fix(rico): altscreen resume picker and live activity indicator
0c71156 fix(rico): list all conversations in --resume picker
11e664c fix(rico): message spacing and live markdown in chat
92d2247 fix(setup): classify the project directory and find a single app one level down (#116 )
50a2524 fix(setup): drop dead appName assignment (staticcheck SA4006)
7eb422b fix(setup): reframe account signup as user-consented in the handback note (#115 )
de8d3bf fix(setup): resolve auth before the agent gets the terminal, pin agents to the CLI
25b5d42 fix(skills): avoid unsupported global targets
79ee165 fix(skills): install for supported agents
7159468 fix(skills): isolate global installs
80968e5 fix(skills): make core install effortless
1a0b0a5 fix(skills): separate install and prompts
ce41743 fix(skills): test-store-ready prompt states the user outcome
ff41a13 fix(specs): classify type changes as critical in spec diffs
f7fab37 fix(store-state): show conflicting values in CSV merge errors
1205641 fix(tui): add project-scoped web URLs to all browser items
9584895 fix(tui): address review findings on the browser
b50a120 fix(tui): prompts own their spacing
50fe617 fix(tui): rebuild the form theme from the neutral base
05c5206 fix(tui): replace bordered link buttons with plain cursor-style list
a058638 fix(tui): strip proj_ prefix from project ID in dashboard web URLs
50f5e2c fix: add symlink check to install.sh for defense-in-depth
a3a9fb7 fix: address Copilot review comments on rc update and install.sh
352c738 fix: address PR review feedback
ff4464b fix: address fourth round of Copilot review comments
42661ed fix: address fourth round of Copilot review comments
01af9f3 fix: address remaining Copilot review comments
6d31f9b fix: address second round of Copilot review comments
9d98094 fix: address spec-codegen review findings
e02e3eb fix: address third round of Copilot review comments
9e836e6 fix: close error on extracted binary, portable mktemp in install.sh
ab98261 fix: correct HTTP status handling, product type validation, and auth comment
6be6d0f fix: foundation robustness (BaseURL, exit codes, pagination)
acd96ef fix: gofmt oauth.go and add --project-id global flag
a0b44ce fix: linter errors and security vulnerabilities
7823e7f fix: remove unused stream function
c894025 fix: wire --quiet, store cmd context in Runtime, remove dead code
Other
5ad04e7 Add Roadmap section to README
d158420 Add apps, customer tail, catalog archive/attach/push verbs, packages CRUD
97194a3 Add cookbook, refresh README, lock JSON-error and schema contracts with tests
3de7186 Add docs/plan.md: phased UX plan with decisions locked in
53d54ea Add subscriptions, purchases, invoices, webhooks, paywalls, charts, metrics, audit, benchmarks
f16e3c0 Add test foundation, gofmt cleanup, real --no-color fix, and CI checks
4b4281e Apply structured docs template to ~17 destructive + paired verbs
b24fcd9 Document release process in README and CONTRIBUTING
29488ff Expand README dev section: setup, dev loop, real-API testing, fixture capture
64dfb36 Fix CI: add --project-id global flag, include inherited flags in schema
89451ea Fix JSON error envelope + complete rc schema + add Long/Example help
a5a27f2 Fix code review issues before public launch
349d329 Fix misleading comments and version mismatch
a145026 Fix pre-commit hook: activate mise shims so go is in PATH
a8fae20 Fix stale /auth/beta/token comment → /oauth2/token
4484ae0 Fix staticcheck failures and switch OAuth to /oauth2/* endpoints
a9ffe93 Initial commit
c49bb59 Initial commit: hand-crafted RevenueCat v2 CLI scaffold
a4096e3 Introduce rc auth namespace: login, logout, status
01b1867 Make rc rico the agent command (drop rc rico chat) (#83 )
b28b3fb Make rc setup discoverable in help, home, and README (#91 )
4e43175 Merge branch 'pr-01-foundation' into pr-02-auth-tui
51bd2c1 Merge branch 'pr-01-foundation' into pr-02-auth-tui
0bac67f Merge branch 'pr-01-foundation' into pr-02-auth-tui
d7c6d93 Merge branch 'pr-02-auth-tui' into pr-03-docs-tooling
280efdb Merge branch 'pr-02-auth-tui' into pr-03-docs-tooling
64fcec5 Merge branch 'pr-02-auth-tui' into pr-03-docs-tooling
045ab26 Merge branch 'pr-02-auth-tui' into pr-03-docs-tooling
318fdaa Merge branch 'pr-02-auth-tui' into pr-03-docs-tooling
4034de1 Merge branch 'pr-02-auth-tui' into pr-03-docs-tooling
43a0aab Merge branch 'pr-03-docs-tooling' into pr-04-release-tooling
10d02aa Merge branch 'pr-03-docs-tooling' into pr-04-release-tooling
1b5efc1 Merge branch 'pr-03-docs-tooling' into pr-04-release-tooling
c2b0a7b Merge branch 'pr-03-docs-tooling' into pr-04-release-tooling
1ea8fc8 Merge branch 'pr-03-docs-tooling' into pr-04-release-tooling
5dfa33b Merge branch 'pr-03-docs-tooling' into pr-04-release-tooling
e3dcecb Merge branch 'pr-04-release-tooling' into pr-06-tui-browser
af1ed51 Merge branch 'pr-04-release-tooling' into pr-06-tui-browser
80901d1 Merge branch 'pr-04-release-tooling' into pr-06-tui-browser
dee4f7c Merge branch 'pr-04-release-tooling' into pr-06-tui-browser
6b00689 Merge branch 'pr-04-release-tooling' into pr-06-tui-browser
e416117 Merge branch 'pr-04-release-tooling' into pr-06-tui-browser
dc956d0 Merge branch 'pr-06-tui-browser' into pr-07-packages-skills
30ab6fd Merge branch 'pr-06-tui-browser' into pr-07-packages-skills
73deb53 Merge branch 'pr-06-tui-browser' into pr-07-packages-skills
230fb86 Merge branch 'pr-06-tui-browser' into pr-07-packages-skills
d86ce5d Merge branch 'pr-06-tui-browser' into pr-07-packages-skills
b05c949 Merge branch 'pr-06-tui-browser' into pr-07-packages-skills
1ac6e6f Merge branch 'pr-07-packages-skills' into pr-08-specs-codegen
a6a98fc Merge branch 'pr-07-packages-skills' into pr-08-specs-codegen
ac6fd9a Merge branch 'pr-07-packages-skills' into pr-08-specs-codegen
afcd727 Merge branch 'pr-07-packages-skills' into pr-08-specs-codegen
8648749 Merge branch 'pr-07-packages-skills' into pr-08-specs-codegen
30b0a50 Merge branch 'pr-07-packages-skills' into pr-08-specs-codegen
3811585 Merge branch 'pr-08-specs-codegen' into pr-09-bootstrap-primitives
8e81000 Merge branch 'pr-08-specs-codegen' into pr-09-bootstrap-primitives
c9f3ac3 Merge branch 'pr-08-specs-codegen' into pr-09-bootstrap-primitives
e9fd57d Merge branch 'pr-08-specs-codegen' into pr-09-bootstrap-primitives
ba9fc7a Merge branch 'pr-08-specs-codegen' into pr-09-bootstrap-primitives
37ddb66 Merge branch 'pr-08-specs-codegen' into pr-09-bootstrap-primitives
7651209 Merge branch 'pr-08-specs-codegen' into pr-09-bootstrap-primitives
ddc84f2 Merge branch 'pr-08-specs-codegen' into pr-09-bootstrap-primitives
f4a0bbb Merge branch 'pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
46079f9 Merge branch 'pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
64e8cd2 Merge branch 'pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
0c9e10d Merge branch 'pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
4fc10cf Merge branch 'pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
fcf7878 Merge branch 'pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
0b1fe1b Merge branch 'pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
d8fbdb1 Merge branch 'pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
79e8575 Merge branch 'pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
40496ec Merge branch 'pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
cda953a Merge branch 'pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
b790b1c Merge branch 'pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
d5beccb Merge branch 'pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
e6acbfa Merge branch 'pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
5ce9050 Merge branch 'pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
5bb8d88 Merge branch 'pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
2f47551 Merge branch 'pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
0cd13f7 Merge branch 'pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
00186e4 Merge branch 'pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
77d01ea Merge branch 'pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
d40c6c2 Merge branch 'pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
c15b978 Merge branch 'pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
c35fdf2 Merge branch 'pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
390ac80 Merge branch 'pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
a9f781f Merge branch 'pr-12-agentic-signup-poc' into pr-13-astra-rico
6576879 Merge branch 'pr-12-agentic-signup-poc' into pr-13-astra-rico
d289b51 Merge branch 'pr-12-agentic-signup-poc' into pr-13-astra-rico
2056aea Merge branch 'pr-12-agentic-signup-poc' into pr-13-astra-rico
84c2fcb Merge branch 'pr-12-agentic-signup-poc' into pr-13-astra-rico
21c7f87 Merge branch 'pr-12-agentic-signup-poc' into pr-13-astra-rico
e23d96b Merge branch 'pr-12-agentic-signup-poc' into pr-13-astra-rico
d2c7b1a Merge branch 'pr-12-agentic-signup-poc' into pr-13-astra-rico
c97bbe2 Merge branch 'pr-13-astra-rico' into pr-14-npm-distribution
8f5eaf3 Merge branch 'pr-13-astra-rico' into pr-14-npm-distribution
2327918 Merge branch 'pr-13-astra-rico' into pr-14-npm-distribution
2eaa1cb Merge branch 'pr-13-astra-rico' into pr-14-npm-distribution
62d65fc Merge branch 'pr-13-astra-rico' into pr-14-npm-distribution
43227dc Merge branch 'pr-13-astra-rico' into pr-14-npm-distribution
44bb83b Merge branch 'pr-13-astra-rico' into pr-14-npm-distribution
e742c56 Merge branch 'pr-13-astra-rico' into pr-14-npm-distribution
ca749c7 Merge branch 'pr-13-astra-rico' into pr-14-npm-distribution
3270098 Merge branch 'pr-14-npm-distribution' into pr-15-design
326605d Merge branch 'pr-14-npm-distribution' into pr-15-design
537d270 Merge branch 'pr-14-npm-distribution' into pr-15-design
916a11c Merge branch 'pr-14-npm-distribution' into pr-15-design
93a37ed Merge branch 'pr-14-npm-distribution' into pr-15-design
439fe2b Merge branch 'pr-14-npm-distribution' into pr-15-design
1eb2769 Merge branch 'pr-14-npm-distribution' into pr-15-design
e1c2b1d Merge branch 'pr-14-npm-distribution' into pr-15-design
1ed36a8 Merge branch 'pr-14-npm-distribution' into pr-15-design
95f5a9f Merge branch 'pr-15-design' into pr-16-store-submission
2bbcea9 Merge branch 'pr-15-design' into pr-16-store-submission
02252b9 Merge branch 'pr-15-design' into pr-16-store-submission
73667aa Merge branch 'pr-15-design' into pr-16-store-submission
a077c6f Merge branch 'pr-15-design' into pr-16-store-submission
52fc3ed Merge branch 'pr-15-design' into pr-16-store-submission
5d0655b Merge branch 'pr-15-design' into pr-16-store-submission
7e46281 Merge branch 'pr-15-design' into pr-16-store-submission
185d07c Merge branch 'pr-15-design' into pr-16-store-submission
a7e926d Merge branch 'pr-16-store-submission' into pr-17-store-direct
a813c3f Merge branch 'pr-16-store-submission' into pr-17-store-direct
e37e0da Merge branch 'pr-16-store-submission' into pr-17-store-direct
9a623bb Merge branch 'pr-16-store-submission' into pr-17-store-direct
ec44769 Merge branch 'pr-16-store-submission' into pr-17-store-direct
eeea6b7 Merge branch 'pr-16-store-submission' into pr-17-store-direct
0a206c2 Merge branch 'pr-16-store-submission' into pr-17-store-direct
3dcaf19 Merge branch 'pr-16-store-submission' into pr-17-store-direct
452e9f2 Merge branch 'pr-16-store-submission' into pr-17-store-direct
43d613f Merge branch 'pr-17-store-direct' into pr-18-agent-dx
f0094a0 Merge branch 'pr-17-store-direct' into pr-18-agent-dx
f526b64 Merge branch 'pr-17-store-direct' into pr-18-agent-dx
d5f8e0c Merge branch 'pr-17-store-direct' into pr-18-agent-dx
48204c5 Merge branch 'pr-17-store-direct' into pr-18-agent-dx
3d695a4 Merge branch 'pr-17-store-direct' into pr-18-agent-dx
c56c78f Merge branch 'pr-17-store-direct' into pr-18-agent-dx
3f940e6 Merge branch 'pr-17-store-direct' into pr-18-agent-dx
6b7e329 Merge branch 'pr-17-store-direct' into pr-18-agent-dx
01fa179 Merge branch 'pr-17-store-direct' into pr-18-agent-dx
426cbe4 Merge branch 'pr-18-agent-dx' into pr-19-setup
a006190 Merge branch 'pr-18-agent-dx' into pr-19-setup
8894e24 Merge branch 'pr-18-agent-dx' into pr-19-setup
44d5188 Merge branch 'pr-18-agent-dx' into pr-19-setup
ec50376 Merge branch 'pr-18-agent-dx' into pr-19-setup
b22c887 Merge branch 'pr-18-agent-dx' into pr-19-setup
8a00b41 Merge branch 'pr-18-agent-dx' into pr-19-setup
75477fb Merge branch 'pr-18-agent-dx' into pr-19-setup
394ed4a Merge branch 'pr-18-agent-dx' into pr-19-setup
0ad3f22 Merge branch 'pr-18-agent-dx' into pr-19-setup
e33b348 Merge branch 'pr-19-setup' into pr-20-onboarding-surface
dc2f9d2 Merge branch 'pr-19-setup' into pr-20-onboarding-surface
1cc7330 Merge branch 'pr-19-setup' into pr-20-onboarding-surface
86952b3 Merge branch 'pr-19-setup' into pr-20-onboarding-surface
5b0eb47 Merge branch 'pr-19-setup' into pr-20-onboarding-surface
af49060 Merge branch 'pr-19-setup' into pr-20-onboarding-surface
a7ef6b2 Merge branch 'pr-19-setup' into pr-20-onboarding-surface
f3baa4a Merge branch 'pr-19-setup' into pr-20-onboarding-surface
ef7592f Merge branch 'pr-19-setup' into pr-20-onboarding-surface
a3d1097 Merge branch 'pr-19-setup' into pr-20-onboarding-surface
dea79e4 Merge branch 'pr-20-onboarding-surface' into pr-21-decide
ce8490e Merge branch 'pr-20-onboarding-surface' into pr-21-decide
6263ab5 Merge branch 'pr-20-onboarding-surface' into pr-21-decide
c249d99 Merge branch 'pr-20-onboarding-surface' into pr-21-decide
95c80f3 Merge branch 'pr-20-onboarding-surface' into pr-21-decide
5f46b65 Merge branch 'pr-20-onboarding-surface' into pr-21-decide
4510af0 Merge branch 'pr-20-onboarding-surface' into pr-21-decide
52407d6 Merge branch 'pr-20-onboarding-surface' into pr-21-decide
1e5483b Merge branch 'pr-20-onboarding-surface' into pr-21-decide
be117b6 Merge branch 'pr-20-onboarding-surface' into pr-21-decide
1318ad5 Merge branch 'pr-21-decide' into pr-22-paywalls
d14a958 Merge branch 'pr-21-decide' into pr-22-paywalls
862cba3 Merge branch 'pr-21-decide' into pr-22-paywalls
122d8e8 Merge branch 'pr-21-decide' into pr-22-paywalls
01fb75e Merge branch 'pr-21-decide' into pr-22-paywalls
4f746cc Merge branch 'pr-21-decide' into pr-22-paywalls
3975af9 Merge branch 'pr-21-decide' into pr-22-paywalls
9269613 Merge branch 'pr-21-decide' into pr-22-paywalls
01ad582 Merge branch 'pr-21-decide' into pr-22-paywalls
7d9296b Merge branch 'pr-21-decide' into pr-22-paywalls
c6f6b43 Merge branch 'pr-21-decide' into pr-22-paywalls
83ddb6f Merge branch 'pr-23-mcp-import' into pr-24-ci-security
ed4ef58 Merge branch 'pr-23-mcp-import' into pr-24-ci-security
50dd3bf Merge branch 'pr-23-mcp-import' into pr-24-ci-security
457883c Merge branch 'pr-24-ci-security' into pr-25-foundation-robustness
2e94b64 Merge branch 'pr-24-ci-security' into pr-25-foundation-robustness
2885488 Merge branch 'pr-24-ci-security' into pr-25-foundation-robustness
b80976b Merge branch 'pr-25-foundation-robustness' into pr-26-surface-test
f0c2ea1 Merge branch 'pr-25-foundation-robustness' into pr-26-surface-test
11d4e68 Merge branch 'pr-25-foundation-robustness' into pr-26-surface-test
2964399 Merge branch 'pr-26-surface-test' into pr-27-doc-cleanup
7c22fa3 Merge branch 'pr-26-surface-test' into pr-27-doc-cleanup
c804b7a Merge branch 'pr-26-surface-test' into pr-27-doc-cleanup
faf1753 Merge branch 'tmp-pr100' into popcorn/pwai-348-steer-ai-agents-from-command-descriptions
61b86ea Merge pull request #101 from RevenueCat/popcorn/pwai-348-steer-ai-agents-from-command-descriptions
5f0fc3d Merge pull request #110 from RevenueCat/popcorn/pwai-357-restore-link-visibility
7ec4144 Merge pull request #111 from RevenueCat/pwai-351-allow-attaching-and-detaching-offerings-to-paywalls-via-cli
9ecfe4a Merge pull request #36 from RevenueCat/pr-22-paywalls
3498c7c Merge pull request #41 from RevenueCat/pr-27-doc-cleanup
9f1eae9 Merge pull request #44 from RevenueCat/popcorn/pwai-282-remove-rc-paywalls-create-generate-is-the-only-way-in
5cd8de8 Merge pull request #48 from RevenueCat/dependabot/go_modules/go-dependencies-8e2838caef
f3fc130 Merge pull request #49 from RevenueCat/popcorn/pwai-290-land-joshs-dropped-astra-wording-cleanup-on-main
6e65875 Merge pull request #50 from RevenueCat/popcorn/pwai-288-paywalls-edit-cli-silently-clobbers-draft-changes-made-in
df704fa Merge pull request #51 from RevenueCat/popcorn/pwai-281-rc-login-points-to-a-dead-api-keys-url
f442cda Merge pull request #52 from RevenueCat/popcorn/cli-paywall-screenshot-verify
88be6cc Merge pull request #57 from RevenueCat/joshholtz/dx-860-decide-on-offering-picker-for-paywalls-generate-add-it-or
89a5394 Merge pull request #60 from RevenueCat/dependabot/go_modules/go-dependencies-9eda01c76a
51e61be Merge pull request #65 from RevenueCat/popcorn/pwai-294-upload-media-assets-from-the-cli-via-the-v2-media_assets
74108ef Merge pull request #66 from RevenueCat/popcorn/pwai-297-wire-up-font-upload-in-the-rc-cli
11fae7f Merge pull request #73 from RevenueCat/joshholtz/dx-api-paths-from-spec
d959b4e Merge pull request #76 from RevenueCat/popcorn/pwai-346-list-fonts-from-the-cli-rc-fonts-list
9daf741 Merge remote-tracking branch 'origin/main' into tmp-pr100
680a650 Merge remote-tracking branch 'origin/popcorn/pwai-294-upload-media-assets-from-the-cli-via-the-v2-media_assets' into popcorn/pwai-297-wire-up-font-upload-in-the-rc-cli
2470f5f Merge remote-tracking branch 'origin/pr-01-foundation' into pr-02-auth-tui
dc1d826 Merge remote-tracking branch 'origin/pr-02-auth-tui' into pr-03-docs-tooling
57b4b1e Merge remote-tracking branch 'origin/pr-03-docs-tooling' into pr-04-release-tooling
06732b3 Merge remote-tracking branch 'origin/pr-04-release-tooling' into pr-05-update-install
f0ebeb6 Merge remote-tracking branch 'origin/pr-05-update-install' into pr-06-tui-browser
27a26ea Merge remote-tracking branch 'origin/pr-06-tui-browser' into pr-07-packages-skills
6e087ea Merge remote-tracking branch 'origin/pr-06-tui-browser' into pr-07-packages-skills
ad7fb6e Merge remote-tracking branch 'origin/pr-06-tui-browser' into pr-07-packages-skills
3f1036d Merge remote-tracking branch 'origin/pr-07-packages-skills' into pr-08-specs-codegen
6cfed27 Merge remote-tracking branch 'origin/pr-07-packages-skills' into pr-08-specs-codegen
90086ea Merge remote-tracking branch 'origin/pr-07-packages-skills' into pr-08-specs-codegen
c7b1a8a Merge remote-tracking branch 'origin/pr-07-packages-skills' into pr-08-specs-codegen
6764d40 Merge remote-tracking branch 'origin/pr-08-specs-codegen' into pr-09-bootstrap-primitives
4f0c3d3 Merge remote-tracking branch 'origin/pr-08-specs-codegen' into pr-09-bootstrap-primitives
c5dd1bc Merge remote-tracking branch 'origin/pr-08-specs-codegen' into pr-09-bootstrap-primitives
2d0bcb4 Merge remote-tracking branch 'origin/pr-08-specs-codegen' into pr-09-bootstrap-primitives
c7e7e6c Merge remote-tracking branch 'origin/pr-08-specs-codegen' into pr-09-bootstrap-primitives
e59364f Merge remote-tracking branch 'origin/pr-08-specs-codegen' into pr-09-bootstrap-primitives
6052b16 Merge remote-tracking branch 'origin/pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
96ea29b Merge remote-tracking branch 'origin/pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
79b50b9 Merge remote-tracking branch 'origin/pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
81d3cb1 Merge remote-tracking branch 'origin/pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
caf8a4a Merge remote-tracking branch 'origin/pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
4187f9f Merge remote-tracking branch 'origin/pr-09-bootstrap-primitives' into pr-10-store-state-csv-sync
b28fd86 Merge remote-tracking branch 'origin/pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
89a07cf Merge remote-tracking branch 'origin/pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
aab9750 Merge remote-tracking branch 'origin/pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
ff73492 Merge remote-tracking branch 'origin/pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
6d280f4 Merge remote-tracking branch 'origin/pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
98a7888 Merge remote-tracking branch 'origin/pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
eec0103 Merge remote-tracking branch 'origin/pr-10-store-state-csv-sync' into pr-11-apple-credentials-poc
11610f0 Merge remote-tracking branch 'origin/pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
c59aaaf Merge remote-tracking branch 'origin/pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
9898398 Merge remote-tracking branch 'origin/pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
b1b0b98 Merge remote-tracking branch 'origin/pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
3d59085 Merge remote-tracking branch 'origin/pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
bcf3104 Merge remote-tracking branch 'origin/pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
c868d56 Merge remote-tracking branch 'origin/pr-11-apple-credentials-poc' into pr-12-agentic-signup-poc
92f8631 Merge remote-tracking branch 'origin/pr-12-agentic-signup-poc' into pr-13-astra-rico
cd2cf3b Merge remote-tracking branch 'origin/pr-12-agentic-signup-poc' into pr-13-astra-rico
9eb6e9f Merge remote-tracking branch 'origin/pr-12-agentic-signup-poc' into pr-13-astra-rico
95ccab0 Merge remote-tracking branch 'origin/pr-12-agentic-signup-poc' into pr-13-astra-rico
d8bb9f1 Merge remote-tracking branch 'origin/pr-12-agentic-signup-poc' into pr-13-astra-rico
f5855d1 Merge remote-tracking branch 'origin/pr-12-agentic-signup-poc' into pr-13-astra-rico
81b0d5f Merge remote-tracking branch 'origin/pr-12-agentic-signup-poc' into pr-13-astra-rico
6a0c9d6 Merge remote-tracking branch 'origin/pr-13-astra-rico' into pr-14-npm-distribution
0f7b12c Merge remote-tracking branch 'origin/pr-13-astra-rico' into pr-14-npm-distribution
723f252 Merge remote-tracking branch 'origin/pr-13-astra-rico' into pr-14-npm-distribution
04e5535 Merge remote-tracking branch 'origin/pr-13-astra-rico' into pr-14-npm-distribution
7cffa5b Merge remote-tracking branch 'origin/pr-13-astra-rico' into pr-14-npm-distribution
fbe8276 Merge remote-tracking branch 'origin/pr-13-astra-rico' into pr-14-npm-distribution
a421ca1 Merge remote-tracking branch 'origin/pr-13-astra-rico' into pr-14-npm-distribution
9d9009c Merge remote-tracking branch 'origin/pr-13-astra-rico' into pr-14-npm-distribution
7ccf7f4 OAuth login, interactive chart TUI, ETag caching, filterable project picker
9abca42 Phase 1: --format via gojq, actionable error hints, rc profiles, pretty customer show
2f9e950 README: clarify rc projects use supports both single and multi-project workflows
8e9afa0 README: number quick start steps to make login+project required
61bbdd1 Redesign rc setup: defer Apple, cleaner stepped flow (#86 )
13020d5 Replace manual pre-commit script with lefthook
2a0f9fc Revert "style: gofmt with go1.27 (CI toolchain bumped to 1.27)"
961af2f Rewrite README for public audience; expand CONTRIBUTING with dev setup
3a28c13 Security and correctness fixes for OAuth and agent contract
d5f7da8 Send custom HTTP headers on every request via RC_HEADERS (#71 )
34e522e Setup quick wins: session name, Auto autonomy, skills nudge (#89 )
c0142fd Stop listing Rico state files as phantom profiles (#85 )
5cf7f5b Style command help and collapse repeated global flags (#82 )
f2a937f add font upload command
eec5dc1 add fonts list command
0a14800 add media-assets list command
b25a2bc add media-assets upload command
3a8c3e0 add media-assets upload command
7af59ad align EditorRequest struct fields
52a2551 always seed revision from server in seedSessionFromServer
797fd41 chore(deps): bump github.com/oapi-codegen/runtime (#130 )
bebbcbd chore(deps): bump github.com/spf13/pflag in the go-dependencies group
56f06f0 chore(deps): bump kin-openapi to v0.144.0 (Wiz critical)
dccd2d3 chore(deps): bump the go-dependencies group with 8 updates
df9747e chore(spec): resync v2 snapshot to current + regenerate types (#68 )
e8a3199 chore(specs): update cli-coverage.yaml to match actual implementation
2148eb4 ci(release): harden npm publish (provenance + idempotent skip) (#150 )
9a69ce5 clean up agents_test
9055f30 cli: bare rc shows a getting-started screen (#81 )
efff1e6 cli: shared pagination helper for list commands (#80 )
a831865 consolidate test helpers and move them to top
d70afa2 docs(auth): document agentic Keychain signup
4ed7666 docs(auth): show agentic Keychain signup
45fd2a5 docs(cli): normalize all command help to RevenueCat's product voice (#61 )
b6c0329 docs(paywalls): honest messaging about design persistence
6ee6de3 docs(previews): render the apple setup golden
eb7b7f2 docs(readme): add packages, products, rc api, and rc skills to README
a681ec0 docs(skills): explain install and triggering
90801ab drop internal codename from test error message
f58ac94 drop null-revision test
edcc518 hint to republish after attach if paywall was published
7e318c2 media-assets: simplify asset URL wording in upload help
a2f10f7 move confirmOrAbort decline detail to rt.Out hint
675597a move start-fresh hint to rt.Out in loadAstraSession
cc3a768 null-revision and generate conflict coverage
c8dda83 output full asset URL in upload hint
0fdb229 output full asset URL in upload hint
4028be2 pass projectID into seedSessionFromServer
1a00fd3 pass revision when attaching or detaching an offering
476428c paywalls delete: guard attached/published paywalls behind --force
ee64ce4 paywalls edit: clarify screenshot feedback bullet
2dc426d paywalls edit: drop speculative resend warning
451cfc9 paywalls: add agent steering guidance to command descriptions
d1246d0 paywalls: add custom font upload guidance to generate/edit
ae33475 paywalls: add media asset upload guidance to generate/edit
939eaab paywalls: drop direct-PATCH route for asset wiring, edit prompts only
90f6eeb paywalls: interactive generate/edit picker on npx launches (#74 )
75c2844 paywalls: name generate/edit in over-prompting warning
a642a1b paywalls: simplify font wiring guidance
f376388 paywalls: soften iteration guidance
1526b92 paywalls: survive a dropped editor stream (#79 )
7b594f8 paywalls: trim group help to workflow map, defer detail to subcommands
1de94e9 preflight revision check on stale session files
09ee7e8 refactor(api): fail make gen if preprocess fails; note singularize limits
fce3fff refactor(api): generate path builders from the spec
edbcafd refactor(api): use the generated pathProjects builder in ProjectsService
ce5c885 refactor(apps): defer small business dates
9a336b2 refactor(apps): sign in to Apple before asking key decisions
7741b84 refactor(apps): split Apple check and setup
7c0bc6d refactor(auth): api-key recovery to a hint; trim validation comments
52937be refactor(cli): one rt.CanPrompt() for the --json/--no-input/TTY gate (#120 )
6afe778 refactor(codegen): make the beta overlay path-only
d51e7ef refactor(paywalls): drop --standalone, make standalone the default
a356a54 refactor(paywalls): drop the "astra" codename from the Paywall AI CLI
24b4153 refactor(paywalls): drop the reasoning comment on defaultPaywallSessionPath
945ab1b refactor(products): keep workflows in the AI toolkit
c16bb4e refactor(rico): drop --continue in favor of --resume
d363869 refactor(skills): install toolkit globally by default
67f4724 refactor(skills): one store-agnostic catalog sync prompt
2fbbdae refactor(skills): use the official AI toolkit
571a8d9 refine screenshot UX hints to emphasize iterating on design
5408c0f refresh offering-id from server after persist
126eb78 reject null-revision sessions at load time
aa5fb90 remove comment
2729c87 remove paywalls create, generate is the only way in
b7a024d remove unnecessary comments
b26c02f remove unnecessary comments
87c8b27 rename test to drop internal codename
7a9fb66 revert: pull self-updater and install.sh from the train for now
ea3fb4f save result screenshots next to session file after each turn
f2d33dc security: pin GitHub Actions to SHA hashes
2a4be01 show 409 hints via rt.Out instead of error message
0ad3d67 simplify media assets tests
c70abb1 simplify media assets tests
4942481 style(apple): normalize error messages
c38ebc6 test(api): fixture tests for all resources + CI gen idempotency check
1c64ecd test(apple): snapshot the Apple setup opening
f10b87f test(apps): prove Apple check is read only
39c98ba test(cli): add coverage for skills, api, schema capabilities, and new commands
a600efb test(cli): cover command-surface curation rules
b8c3a9b test(cli): cover decide() preset + no-input paths
ad80347 test(cli): mock OS keyring so tests never read the real keychain
ba8b884 test(output): golden snapshots and SVG preview gallery
5b8d8d5 test(paywalls): cover attach/detach error hints and published-attach confirmation
6d3ede7 test(setup): assert the launched Claude session gets -n (#105 )
acc0d86 tighten comments
7ab3ee7 tighten comments in screenshot save path
c8544d4 track fonts endpoints in spec coverage
90bd492 trim RefreshesOfferingFromServer to just the generate half
36a69b2 unify paywall creation via CreateFromComponents
ead466c update fonts spec comment
963d757 use generated media asset types
1e92222 use sentinel deeplink for API keys URL
06f09aa use sentinel error for oversized media asset uploads
8857218 use sentinel error for oversized media asset uploads
You can’t perform that action at this time.