(deffacts initial-facts
   "Исходные факты для процесса создания веб-сайта"
   (wants-to-create-website yes)
   (has-budget yes)
)

(defrule start-TZ
   (wants-to-create-website yes)
   (has-budget yes)
=>
   (printout t "Начинаем разработку ТЗ." crlf)
   (assert (can-start-TZ yes))
)

(defrule develop-TZ
   (can-start-TZ yes)
=>
   (printout t "Разработано ТЗ." crlf)
   (assert (developed-TZ yes))
)

(defrule approve-TZ
   (developed-TZ yes)
=>
   (printout t "ТЗ утверждено." crlf)
   (assert (approved-TZ yes))
)

(defrule design-website
   (approved-TZ yes)
=>
   (printout t "Разработан дизайн сайта." crlf)
   (assert (designed-website yes))
)

(defrule implement-website
   (designed-website yes)
=>
   (printout t "Сайт реализован." crlf)
   (assert (implemented-website yes))
)

(defrule test-website
   (implemented-website yes)
=>
   (printout t "Сайт протестирован." crlf)
   (assert (tested-website yes))
)

(defrule setup-hosting
   (tested-website yes)
=>
   (printout t "Хостинг и домен настроены." crlf)
   (assert (hosting-setup yes))
)

(defrule launch-website
   (hosting-setup yes)
=>
   (printout t "Сайт запущен." crlf)
   (assert (website-launched yes))
)

(exit)
; empty line at the end