|
1 | 1 | { |
2 | | - "generatedAt": "2026-03-12T01:01:33.116Z", |
| 2 | + "generatedAt": "2026-03-13T19:50:01.103Z", |
3 | 3 | "version": 2, |
4 | 4 | "skills": { |
5 | 5 | "vercel-agent": { |
|
2889 | 2889 | "examples": [] |
2890 | 2890 | } |
2891 | 2891 | }, |
| 2892 | + "vercel-services": { |
| 2893 | + "priority": 7, |
| 2894 | + "summary": "Deploy multiple services in one Vercel project — e.g. a Python backend alongside a JS frontend", |
| 2895 | + "docs": [ |
| 2896 | + "https://vercel.com/docs/services" |
| 2897 | + ], |
| 2898 | + "sitemap": "https://vercel.com/sitemap/docs.xml", |
| 2899 | + "pathPatterns": [ |
| 2900 | + "backend/**", |
| 2901 | + "backend/main.py", |
| 2902 | + "backend/main.go", |
| 2903 | + "backend/go.mod", |
| 2904 | + "backend/pyproject.toml", |
| 2905 | + "backend/requirements.txt", |
| 2906 | + "frontend/**", |
| 2907 | + "apps/*/backend/**", |
| 2908 | + "apps/*/frontend/**", |
| 2909 | + "services/*/vercel.json", |
| 2910 | + "*/pyproject.toml", |
| 2911 | + "*/go.mod" |
| 2912 | + ], |
| 2913 | + "bashPatterns": [ |
| 2914 | + "\\bvercel\\s+dev\\b.*-L", |
| 2915 | + "\\bpip\\s+install\\b.*fastapi", |
| 2916 | + "\\buv\\s+(sync|pip|run)\\b", |
| 2917 | + "\\bgo\\s+(run|build|mod)\\b", |
| 2918 | + "\\bpython\\s+-m\\s+uvicorn\\b", |
| 2919 | + "\\buvicorn\\b" |
| 2920 | + ], |
| 2921 | + "importPatterns": [ |
| 2922 | + "fastapi" |
| 2923 | + ], |
| 2924 | + "bodyPath": "skills/vercel-services/SKILL.md", |
| 2925 | + "pathRegexSources": [ |
| 2926 | + "^backend\\/.*$", |
| 2927 | + "^backend\\/main\\.py$", |
| 2928 | + "^backend\\/main\\.go$", |
| 2929 | + "^backend\\/go\\.mod$", |
| 2930 | + "^backend\\/pyproject\\.toml$", |
| 2931 | + "^backend\\/requirements\\.txt$", |
| 2932 | + "^frontend\\/.*$", |
| 2933 | + "^apps\\/[^/]*\\/backend\\/.*$", |
| 2934 | + "^apps\\/[^/]*\\/frontend\\/.*$", |
| 2935 | + "^services\\/[^/]*\\/vercel\\.json$", |
| 2936 | + "^[^/]*\\/pyproject\\.toml$", |
| 2937 | + "^[^/]*\\/go\\.mod$" |
| 2938 | + ], |
| 2939 | + "bashRegexSources": [ |
| 2940 | + "\\bvercel\\s+dev\\b.*-L", |
| 2941 | + "\\bpip\\s+install\\b.*fastapi", |
| 2942 | + "\\buv\\s+(sync|pip|run)\\b", |
| 2943 | + "\\bgo\\s+(run|build|mod)\\b", |
| 2944 | + "\\bpython\\s+-m\\s+uvicorn\\b", |
| 2945 | + "\\buvicorn\\b" |
| 2946 | + ], |
| 2947 | + "importRegexSources": [ |
| 2948 | + { |
| 2949 | + "source": "(?:from\\s+|require\\s*\\(\\s*|import\\s*\\(\\s*)['\"]fastapi(?:\\/[^'\"]*)?['\"]", |
| 2950 | + "flags": "m" |
| 2951 | + } |
| 2952 | + ], |
| 2953 | + "validate": [ |
| 2954 | + { |
| 2955 | + "pattern": "@app\\.(get|post|put|delete|patch)\\s*\\(\\s*[''\"]\\/api\\/", |
| 2956 | + "message": "Do not include routePrefix in backend routes — Vercel strips the prefix before forwarding. Use @app.get(\"/health\") not @app.get(\"/api/health\")", |
| 2957 | + "severity": "error" |
| 2958 | + }, |
| 2959 | + { |
| 2960 | + "pattern": "http\\.HandleFunc\\s*\\(\\s*[''\"]\\/api\\/", |
| 2961 | + "message": "Do not include routePrefix in Go handlers — Vercel strips the prefix. Use \"/health\" not \"/api/health\"", |
| 2962 | + "severity": "error" |
| 2963 | + } |
| 2964 | + ], |
| 2965 | + "promptSignals": { |
| 2966 | + "phrases": [ |
| 2967 | + "services api", |
| 2968 | + "vercel services", |
| 2969 | + "multi-service", |
| 2970 | + "python backend", |
| 2971 | + "go backend", |
| 2972 | + "fastapi", |
| 2973 | + "deploy backend", |
| 2974 | + "backend and frontend", |
| 2975 | + "multiple services" |
| 2976 | + ], |
| 2977 | + "allOf": [ |
| 2978 | + [ |
| 2979 | + "backend", |
| 2980 | + "frontend" |
| 2981 | + ], |
| 2982 | + [ |
| 2983 | + "python", |
| 2984 | + "vercel" |
| 2985 | + ], |
| 2986 | + [ |
| 2987 | + "go", |
| 2988 | + "vercel" |
| 2989 | + ], |
| 2990 | + [ |
| 2991 | + "backend", |
| 2992 | + "deploy" |
| 2993 | + ], |
| 2994 | + [ |
| 2995 | + "service", |
| 2996 | + "monorepo" |
| 2997 | + ], |
| 2998 | + [ |
| 2999 | + "fastapi", |
| 3000 | + "deploy" |
| 3001 | + ] |
| 3002 | + ], |
| 3003 | + "anyOf": [ |
| 3004 | + "backend", |
| 3005 | + "monorepo", |
| 3006 | + "service", |
| 3007 | + "python", |
| 3008 | + "golang" |
| 3009 | + ], |
| 3010 | + "noneOf": [ |
| 3011 | + "turborepo cache", |
| 3012 | + "turbo.json", |
| 3013 | + "aws lambda", |
| 3014 | + "docker compose" |
| 3015 | + ], |
| 3016 | + "minScore": 6 |
| 3017 | + }, |
| 3018 | + "retrieval": { |
| 3019 | + "aliases": [ |
| 3020 | + "multi-service", |
| 3021 | + "backend service", |
| 3022 | + "services api", |
| 3023 | + "monorepo deploy", |
| 3024 | + "monorepo services" |
| 3025 | + ], |
| 3026 | + "intents": [ |
| 3027 | + "deploy backend and frontend together on vercel", |
| 3028 | + "set up python backend alongside next.js frontend", |
| 3029 | + "configure multi-service vercel project", |
| 3030 | + "add go backend to vercel project" |
| 3031 | + ], |
| 3032 | + "entities": [ |
| 3033 | + "experimentalServices", |
| 3034 | + "routePrefix", |
| 3035 | + "entrypoint", |
| 3036 | + "Services API", |
| 3037 | + "vercel.json services" |
| 3038 | + ], |
| 3039 | + "examples": [ |
| 3040 | + "deploy a fastapi backend with a react frontend", |
| 3041 | + "add a go api service to my vercel project", |
| 3042 | + "set up a multi-service monorepo on vercel" |
| 3043 | + ] |
| 3044 | + } |
| 3045 | + }, |
2892 | 3046 | "observability": { |
2893 | 3047 | "priority": 6, |
2894 | 3048 | "summary": "", |
|
0 commit comments