이와 유사한 기능의 기관으로는 신라의 공장부(工匠府)·경성주작전(京城周作典), 그리고 축성 관리를 맡은 수성부(修城府)가 있었으며, 태봉 때는 남상단(南廂壇)이 있었다.
고려 건국 초 관제는 신라와 태봉의 관제를 계승하고 당나라 제도를 참고해 편성됐다. 즉 건국 초에는 이것을 그대로 계속해서 사용하다가 목종 때 이르러 장작감으로 정착되어 감(監)·소감(少監)·승(丞)·주부(注簿)의 직제를 만든 것으로 보인다.
그 뒤 문종 때 고려의 문물제도가 정비되면서 관제도 개혁되었다. 장작감에는 판사(判事, 정3품)·감(정4품)·소감(종4품)·승(종6품)·주부(종7품)의 관원이 있다. 또 이속(吏屬)으로는 감작(監作) 6인, 기관(記官) 3인, 산사(算士) 1인을 두어 실무를 담당하게 하였다.
그러나 고려 후기 원나라의 내정간섭으로 관제개혁이 실시될 때 고려의 전통적인 관제가 소멸, 격하되었다. 1298년(충렬왕 24) 원나라의 정2품 관서인 장작원(將作院)을 피해 장작감은 선공감(繕工監)으로 바뀌고, 그 직제는 종래의 판사를 대신해 선공감(종3품)을 장관으로 하였다.
1308년 충선왕이 재즉위하면서 관제를 대대적으로 개편하였다. 선공감은 종2품 관서인 선공사(繕工司)로 승격시켰고, 내부감(內府監 : 종래의 少府監)을 병합하고, 궁궐도감·창고도감·연등도감·국신소(國贐所) 등을 흡수해 그 기능을 대폭 확대하였다.
그 뒤 기구가 지나치게 커지자 1331년(충혜왕 1)소부시(少府寺)를 분리해 독립시켰으며, 뒤에 다시 선공시(繕工寺)로 개칭하였다. 이는 1329년(충숙왕 16) 원나라에서 선공시를 설치함에 따라 고려의 관부 명칭이 바뀌게 된 것으로 보인다.
그 뒤 공민왕은 국권회복을 위해 관제를 개혁하였다. 이 조처로 장작감 체제가 부활되었으나 결국 선공시로 환원되었다. 그러나 선공시는 공역(工役) 때 군졸을 동원, 그들을 지휘·감독해야 하였다. 뿐만 아니라 많은 장인(匠人)을 관리하는 등 그 업무가 많아져 일의 효율성이 떨어지게 되었다.
이를 보완하기 위해 1389년(공양왕 1년) 중방(重房)의 상장군·대장군·낭장·별장에게 선공시의 판사 이하의 관직을 겸직하게 하여 원활한 업무가 이뤄지도록 도모하였다. 조선시대 역시 고려의 제도를 계승해 선공감을 세워 토목 및 영선에 관한 일을 맡게 하였다.