Claude Skills Guide

Claude Code for Web App Manifest Configuration Guide

Web app manifests are the backbone of modern progressive web applications (PWAs) and define how your application behaves when installed on a user’s device. When working with Claude Code, understanding how to properly configure these manifests ensures your AI-assisted projects are production-ready and installable. This guide walks you through the essential configurations, common pitfalls, and best practices for web app manifest files in Claude Code projects.

Understanding Web App Manifests

A web app manifest is a JSON file that provides metadata about your web application. It controls how your app appears in the user’s home screen, what icon to display, and how it should launch. Claude Code can help you generate, validate, and optimize these manifests as part of your development workflow.

The manifest file is typically named manifest.json and is linked from your HTML using a <link> tag in the <head> section:

<link rel="manifest" href="/manifest.json">

Essential Manifest Fields

Every web app manifest should include these fundamental properties to function correctly:

name and short_name

The name field provides the full application name displayed during installation, while short_name appears on the user’s home screen when there isn’t enough space for the full name.

{
  "name": "My Awesome PWA Application",
  "short_name": "AwesomeApp"
}

Claude Code can generate appropriate name variations based on your project context, ensuring consistency across platforms.

icons

The icons array defines the visual identity of your installed app. You must provide at least a 192x192 pixel icon, though providing multiple sizes is recommended:

{
  "icons": [
    {
      "src": "/icons/icon-192.png",
      "sizes": "192x192",
      "type": "image/png"
    },
    {
      "src": "/icons/icon-512.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "any maskable"
    }
  ]
}

The purpose field with “maskable” value ensures your icon looks good on all Android devices with rounded corners.

start_url and scope

The start_url specifies which page to load when the app launches, while scope defines the navigation scope:

{
  "start_url": "/",
  "scope": "/"
}

Set start_url to “.” to have the app launch from the same URL that the user installed it from, which is useful for tracking installation sources.

display

The display mode controls the browser chrome appearance:

{
  "display": "standalone"
}

Available values include:

Advanced Configuration Options

theme_color and background_color

These properties control the UI appearance during app loading and in task switchers:

{
  "theme_color": "#1a73e8",
  "background_color": "#ffffff"
}

Choose colors that align with your brand while ensuring good contrast for status bars.

categories

The categories field helps app stores categorize your application:

{
  "categories": ["productivity", "utilities"]
}

Use standard categories recognized by app stores to improve discoverability.

orientation

Specify the default screen orientation for your app:

{
  "orientation": "portrait-primary"
}

Values include “portrait”, “landscape”, or combinations like “portrait-primary”.

Working with Claude Code

Claude Code can assist you in several ways when configuring web app manifests:

Generating Initial Manifests

Ask Claude Code to create a basic manifest by providing your project details:

Create a web app manifest for my React PWA with the name "TaskMaster", using blue (#2563eb) as the theme color, and include proper icon configurations for 192x192 and 512x512 sizes.

Validating Manifests

Claude Code can review your manifest for common issues:

Dynamic Manifest Updates

For single-page applications, you might need to update manifest properties dynamically based on user preferences or runtime conditions:

if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('/sw.js').then(() => {
    const manifest = {
      name: localStorage.getItem('appName') || 'My App',
      theme_color: localStorage.getItem('themeColor') || '#2563eb'
    };
    // Update manifest link
    const link = document.querySelector('link[rel="manifest"]');
    link.href = `data:application/json,${encodeURIComponent(JSON.stringify(manifest))}`;
  });
}

Common Configuration Mistakes to Avoid

1. Missing Icon Files

Always ensure the icon files referenced in your manifest actually exist in your project. Broken icon references prevent PWA installation on most devices.

2. Incorrect Start URL

The start_url must be accessible and return valid content. Using relative paths like “.” is safer than absolute paths that might change between environments.

3. Scope Mismatches

The scope should include all pages that are part of your application. Pages outside the scope won’t benefit from service worker caching and may break navigation.

4. CORS Issues with Icons

If your icons are served from a CDN, ensure proper CORS headers are configured, or host icons locally to avoid installation failures.

Testing Your Manifest

After creating your manifest, verify it works correctly:

  1. Open Chrome DevTools and navigate to the Application tab
  2. Click on Manifest to see all properties parsed correctly
  3. Look for any warnings or errors
  4. Use Lighthouse to run a full PWA audit

Claude Code can help you interpret these test results and suggest fixes for any issues found.

Best Practices Summary

By following these guidelines and using Claude Code’s assistance, you can create web app manifests that provide excellent user experiences and ensure your applications are installable across all major platforms.

Built by theluckystrike — More at zovo.one