Skip to content

Commit 136f20f

Browse files
author
Alex Perez
committed
docs: expand CLAUDE.md with detailed release management processes for API Console
- Added comprehensive sections on the development cycle, branch naming conventions, and release processes for both v6 and v7 of the API Console. - Included guidelines for managing component fixes, scheduling releases, and related team contacts to streamline collaboration. - Enhanced troubleshooting information for common issues related to NPM registry authentication and component version mismatches. This update aims to improve clarity and efficiency in the release management workflow, ensuring all team members are aligned on processes and responsibilities.
1 parent 586a51a commit 136f20f

File tree

1 file changed

+111
-0
lines changed

1 file changed

+111
-0
lines changed

CLAUDE.md

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,117 @@ git log --show-signature -1
356356

357357
**npm Package**: [`api-console`](https://www.npmjs.com/package/api-console)
358358

359+
## Release Management
360+
361+
### Development Cycle (GUS Workflow)
362+
363+
**Component Fix → Release Process**:
364+
1. PR with changes **must include version bump** in component's `package.json`
365+
2. Once merged → auto-published to npm
366+
3. Add comment to GUS ticket: `Fixed in @advanced-rest-client/authorization@0.1.8`
367+
4. Update ticket status: `Pending Release`
368+
5. After api-console release includes the component → Close ticket
369+
370+
**Branch Naming**:
371+
- Component fixes: feature branches (e.g., `feat/W-12345678-fix-auth`)
372+
- api-console releases: `build/<build-number>` (v6) or `feat/<release-ticket>/<version>` (v7)
373+
374+
**Note**: Some components use older branches:
375+
- `advanced-rest-client/authorization` → use `support/0.1` branch (NOT master)
376+
377+
### v6 Release Process
378+
379+
**Schedule**: Every 3 weeks on Fridays
380+
**Calendar**: [API Designer release calendar](https://salesforce.quip.com/link-to-calendar)
381+
382+
**Steps**:
383+
1. Checkout `api-console` master branch
384+
2. Create branch: `build/<build-number>`
385+
3. Check GUS build version for tickets with component+version comments
386+
4. Update components: `npm update <component-name>` for each fix
387+
- Find component updates: Search ticket number in `mulesoft/*` or `advanced-rest-client/*` orgs
388+
5. Bump api-console version: `npm version patch`
389+
6. Create PR → wait for approval → merge
390+
7. Auto-published to npm
391+
8. **Update anypoint-api-console wrapper**:
392+
- Checkout `anypoint-api-console` master
393+
- Update `builder/package.json` with new api-console version
394+
- Verify component versions: `npm ls @api-components/api-type-document`
395+
- **If component not updated**: Delete `package-lock.json` + `node_modules/` in `builder/`, run `npm i`, verify again
396+
- Create PR → merge
397+
9. Announce in `#api-console-cloud-sync`
398+
10. Update [API Console releases list](https://salesforce.quip.com/link-to-releases)
399+
400+
**Adopt in ACM** (downstream):
401+
```bash
402+
npm update api-console
403+
npm run prepare:api-console
404+
```
405+
406+
**Useful Tool**: Use `/update-api-console-components` skill for complete release workflow automation
407+
408+
### v7 Release Process
409+
410+
**Schedule**: Every 4 weeks on Tuesdays
411+
**Repository**: `api-console-lwc`
412+
413+
**Steps**:
414+
1. Checkout `api-console-lwc` develop branch
415+
2. Create branch: `feat/<release-ticket>/<version>`
416+
3. Create PR to **both** `develop` and `master` → wait for approval → merge
417+
4. Auto-published to npm
418+
5. Create GitHub release (e.g., [v0.2.83](https://github.com/anypoint-web-components/api-console-lwc/releases))
419+
- List all tickets (fixes + enhancements) in release notes
420+
421+
### Related Teams & Contacts
422+
423+
API Console is embedded in multiple products. Escalate to these teams when needed:
424+
425+
| Product | Developer | Manager | Notes |
426+
|---------|-----------|---------|-------|
427+
| **API Designer** | Leandro Bauret | Eduardo Cominguez | QA: Ignacio Americo |
428+
| **Exchange** | Nicolas Escalante | Mariano Campo | - |
429+
| **AMF** | Nicolas Schejtman | Martin Gutierrez | Parser/model issues |
430+
| **Mocking Service** | Roberto Ciccone | Diego Macias | - |
431+
| **APIkit** | - | Chakravarthy Parankusam | - |
432+
433+
**Internal Slack**: `#api-console-cloud-sync` (release announcements, coordination)
434+
435+
## Common Issues
436+
437+
### NPM Registry Authentication
438+
439+
**Error**: `Not Found - GET https://nexus3.build.msap.io/repository/npm-internal/@salesforce`
440+
441+
**Solution**: Login to Salesforce Nexus registry:
442+
```bash
443+
npm login --registry=https://nexus3.build.msap.io/repository/npm-all/ --scope=@salesforce
444+
```
445+
446+
**When this happens**: Installing dependencies in `acm-aeh-sfdx` or other Salesforce projects that depend on api-console-lwc
447+
448+
### Component Version Mismatch
449+
450+
**Problem**: After updating api-console, component is not updated to expected version
451+
452+
**Solution**:
453+
```bash
454+
# In builder/ directory
455+
rm -rf package-lock.json node_modules/
456+
npm i
457+
npm ls @api-components/api-type-document # Verify component version
458+
```
459+
460+
### LWC Migration Context
461+
462+
**Why v7 exists**: Salesforce Lightning Locker Service (API v40+) blocks custom web components. v6 uses Aura wrapper forced to API v39 (Spring '17 release).
463+
464+
**Problem**: API v39 passed 3-year support commitment (Spring '20). Uncertain how long it remains supported.
465+
466+
**Solution**: Migrating to native LWC (`api-console-lwc`) to avoid Aura wrapper and API version constraints.
467+
468+
**Status**: Not all components migrated yet, some tests missing. See [LWC migration docs](https://salesforce.quip.com/link-to-lwc-migration).
469+
359470
## Important Constraints
360471

361472
### DO:

0 commit comments

Comments
 (0)