# iStack > 여러 언어의 서버 · 클라이언트를 contract/ 하나로 잇는 모노레포 템플릿 iStack 의 가이드입니다. 각 링크는 그 페이지의 마크다운 원문입니다. ## 가이드 · 소개 - [iStack 소개](https://stack.initializer.org/introduction.md): 서버 · 클라이언트를 contract/ 하나로 잇는 모노레포 템플릿의 구성과 공통 규칙입니다. ## 가이드 · 시작하기 - [템플릿으로 저장소 만들기](https://stack.initializer.org/getting-started.md): 템플릿으로 새 저장소를 만들고 이름 · 쓰지 않는 예시 · README · LICENSE 를 정리합니다. - [처음 실행하기](https://stack.initializer.org/getting-started/first-run.md): 필요한 도구를 갖추고 인프라 · 개발 서버 · 테스트를 처음 실행합니다. - [AI 와 개발하기](https://stack.initializer.org/getting-started/agents.md): 에이전트가 이 저장소의 규칙을 따르게 하는 지시 파일 · skill · hook, 도구별 설정, 일을 맡기는 요청과 이 문서를 AI 에 주는 방법입니다. ## 가이드 · 이해하기 - [구조는 왜 이렇게 됐나](https://stack.initializer.org/concepts/structure.md) - [테스트는 왜 이렇게 됐나](https://stack.initializer.org/concepts/testing.md) ## 가이드 · 엔지니어링 가이드 - [엔드포인트 추가](https://stack.initializer.org/guides/add-endpoint.md) - [계약을 깨뜨려 보기](https://stack.initializer.org/guides/contract-lab.md) - [외부 서비스 실패 테스트](https://stack.initializer.org/guides/external-service-lab.md) - [다른 서버 부르기](https://stack.initializer.org/guides/call-server.md) - [서버 추가](https://stack.initializer.org/guides/add-server.md) - [앱 추가](https://stack.initializer.org/guides/add-app.md) - [DB 바꾸기](https://stack.initializer.org/guides/database.md) - [인증 붙이기](https://stack.initializer.org/guides/auth.md) ## 가이드 · 문제 해결 - [자주 겪는 문제](https://stack.initializer.org/guides/troubleshooting.md) ## 레퍼런스 · 규칙 - [문서 목록](https://stack.initializer.org/reference.md) - [구조](https://stack.initializer.org/reference/architecture.md) - [계약](https://stack.initializer.org/reference/contracts.md) - [같은 일, 세 언어](https://stack.initializer.org/reference/languages.md) - [클라이언트](https://stack.initializer.org/reference/clients.md) - [테스트](https://stack.initializer.org/reference/testing.md) - [개발](https://stack.initializer.org/reference/development.md) ## 레퍼런스 · 디자인 - [DESIGN.md](https://stack.initializer.org/reference/design.md) ## 레퍼런스 · 서버 - [activity](https://stack.initializer.org/reference/servers/activity.md) - [gateway](https://stack.initializer.org/reference/servers/gateway.md) - [notes](https://stack.initializer.org/reference/servers/notes.md) - [tags](https://stack.initializer.org/reference/servers/tags.md) ## 레퍼런스 · 앱 - [admin](https://stack.initializer.org/reference/apps/admin.md) - [desktop](https://stack.initializer.org/reference/apps/desktop.md) - [lite](https://stack.initializer.org/reference/apps/lite.md) - [mobile](https://stack.initializer.org/reference/apps/mobile.md) - [site](https://stack.initializer.org/reference/apps/site.md) - [web](https://stack.initializer.org/reference/apps/web.md) ## 레퍼런스 · 결정 (ADR) - [목록](https://stack.initializer.org/reference/decisions.md) - [0001 · HTTP API 계약은 서버 코드가 기준, 문서는 서버마다 따로](https://stack.initializer.org/reference/decisions/0001-code-first-http-contract.md) - [0002 · 서버 간 통신은 gRPC, 계약은 공통 proto 하나](https://stack.initializer.org/reference/decisions/0002-grpc-shared-proto.md) - [0003 · 테스트는 실제 서버를 띄운 API 통합 테스트, 외부는 Fake](https://stack.initializer.org/reference/decisions/0003-api-tests-with-fakes.md) - [0004 · DB 는 Postgres 하나로 정하고, 바꾸는 법은 문서로 둔다](https://stack.initializer.org/reference/decisions/0004-default-db-postgres.md) - [템플릿](https://stack.initializer.org/reference/decisions/template.md)