CLIPS> (deffacts initial-facts
   "Исходные факты для запуска процесса создания веб-сайта"
   (client Ivan)
)

CLIPS> (defrule wants-to-create-website
   (client Ivan)
=>
   (printout t "Иван, хочешь создать веб-сайт? (yes/no): ")
   (assert (wants-to-create-website (read))))
   
CLIPS> (defrule has-budget
   (wants-to-create-website yes)
=>
   (printout t "Есть ли у тебя бюджет на создание сайта? (yes/no): ")
   (assert (has-budget (read))))

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

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

CLIPS> (defrule approve-TZ
   (developed-TZ yes)
=>
   (printout t "ТЗ утверждено?" crlf)
   (printout t "Подтверждаешь? (yes/no): ")
   (assert (approved-TZ (read))))

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

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

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

CLIPS> (defrule setup-hosting
   (tested-website yes)
=>
   (printout t "Настроены хостинг и домен?" crlf)
   (printout t "Подтверждаешь? (yes/no): ")
   (assert (hosting-setup (read))))

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


(exit)
; empty line at the end