# Contribution Guide ## Setup environment Install `now` for development server: ``` yarn global add now ``` then install deps and fire up dev server. ``` yarn install yarn start ``` ## Add new provider Create `web/src/components/cards/.js` and paste following template into it: ```jsx import React from 'react' import { FaGithub } from 'react-icons/fa' import { Card } from '../Card' import { ExistentialAvailability } from '../Cards' import { capitalize } from '../../util/text' export default function NewCard({ name }) { return ( {(name) => ( } /> )} ) } ``` and add the card to `/web/src/App.js`: ```jsx import NewCard from './components/cards/NewCard' ``` ```patch Result for {query} + ``` ### ExistentialAvailability `ExistentialAvailability` check if the response from passed URL returns `404` or not. For example, `` will send a request to `target` and see if it returns with 404. For security reasons, `target` must send back `Access-Control-Allow-Origin: *` header for bridging across cross-site requests. If they don't support `Access-Control-Allow-Origin`, you might want to use `DedicatedAvailability` for dedicated response handling. ### DedicatedAvailability `DedicatedAvailability` is for interacting with defined API endpoint to check availability. For example, `` will send a request to `https://namae.dev/availability//` which is routed to `/api/services/.js` in the repo.