Audit and fix accessibility issues across the portfolio to ensure WCAG 2.1 AA compliance.
The English summary is being prepared. Showing the original description.
Migrate between frameworks, libraries, and code patterns safely.
The English summary is being prepared. Showing the original description.
Review the instructions the agent will receive before you install.
Safely migrate codebases between frameworks, libraries, and architectural patterns with minimal risk.
--dangerouslyUseUnsupportedNextVersion)sanity, next-sanity, @sanity/client)@opennextjs/cloudflare or wranglerThe portfolio migrated from Next.js 15 to 16. Key changes:
middleware.ts → proxy.ts convention (but OpenNext requires middleware.ts, so we kept middleware.ts)output: 'standalone' set conditionally for Cloudflare builds--dangerouslyUseUnsupportedNextVersion flag required for OpenNextWhen updating Sanity packages:
next-sanity peer dependency (^14.2 || ^15.0.0 — may not officially support Next.js 16)npm run build to verify GROQ queries still parsestudio/package.json for Sanity studio compatibilitystudio/package-lock.json doesn't introduce new vulnerabilitiesWhen updating @opennextjs/cloudflare:
npm run cloudflare:build locallywrangler.jsonc compatibility_date is current--dangerouslyUseUnsupportedNextVersion is still needednpm run build, npm run test -- --run, npm run cloudflare:build## Migration: [Source] → [Target]
### Pre-Migration
- [ ] Backup repository
- [ ] Run full test suite
- [ ] Document current behavior
- [ ] Create feature branch
### Migration Steps
- [ ] Step 1: [Description]
- [ ] Step 2: [Description]
- [ ] ...
### Post-Migration
- [ ] Run full test suite
- [ ] Manual testing
- [ ] Performance comparison
- [ ] Code review
- [ ] Merge to main
// Before: pages/about.tsx
export default function About() {
return <div>About</div>;
}
// After: app/about/page.tsx
export default function AboutPage() {
return <div>About</div>;
}
// Before: Class component
class MyComponent extends React.Component<Props, State> {
state = { count: 0 };
render() {
return <div>{this.state.count}</div>;
}
}
// After: Functional component
function MyComponent() {
const [count, setCount] = useState(0);
return <div>{count}</div>;
}
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Audit and fix accessibility issues across the portfolio to ensure WCAG 2.1 AA compliance.
The English summary is being prepared. Showing the original description.
Creates a new blog post document in the Sanity studio. Use when the user wants to write a blog post, publish an article, or schedule a future post.
The English summary is being prepared. Showing the original description.
Creates a new certification document in the Sanity studio. Use when the user wants to add a credential, certificate, or professional accreditation to the Certifications collection.
The English summary is being prepared. Showing the original description.
Adds a new skill MD file to the studio's skills collection. Use when the user wants to author a new step-by-step recipe for the studio's in-app Skills tool or the .agents mirror.
The English summary is being prepared. Showing the original description.
Creates a new project document in the Sanity studio. Use when the user wants to add a new portfolio project, a case study, or a work sample to the Projects collection.
The English summary is being prepared. Showing the original description.
Creates a new experience document in the Sanity studio. Use when the user wants to add a job, role, internship, or work history entry to the Experience collection.
The English summary is being prepared. Showing the original description.