In a glass bowl, combine the lemon juice (some cooks use lime juice), half the salt, and chicken pieces. Let chicken marinate for 30 minutes to an hour.
Cook the onions over medium heat for a few minutes in a dry (no oil) pot or dutch oven large enough to eventually hold all of the ingredients. Stir constantly to prevent them from browning or burning; reduce heat or remove the pot from the heat if necessary. (Some cooks add the niter kebbeh at the start, but dry-cooking the onions for a few minutes gives the dish a distinctive flavor. )
Add the niter kebbeh or butter to the onions, along with the garlic, ginger, fenugreek, cardamom, nutmeg, remaining salt, berberé (or cayenne pepper and paprika), and tomato. Stir and simmer for a few minutes. The onions should be soft, tender, and translucent, but not browned.
Add the chicken stock, water, or dry red wine. Bring the mixture to a low boil while stirring gently. Cook for a few minutes, then reduce heat.
Add the chicken pieces, making sure to cover them with the sauce. Cover and simmer for 30 to 40 minutes — or until the chicken is done — turning the chicken a few times.
After the chicken has been cooking for 20 minutes, gently add the hard-boiled eggs and ladle sauce over them. Serve hot.
Servings 4