πŸ“œ Overview: ΠžΠ±Π·ΠΎΡ€ ΡˆΠ°Π±Π»ΠΎΠ½Π°οƒ

О ΡˆΠ°Π±Π»ΠΎΠ½Π΅οƒ

projectTemplate β€” это ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ шаблон для создания Python-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ соврСмСнных ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, докумСнтирования ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π­Ρ‚ΠΎΡ‚ шаблон прСдоставляСт всё Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для старта Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

  • 🐳 ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Docker ΠΈ docker-compose β€” для ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ удобства развСртывания.

  • πŸ“š НастроСнная Sphinx-докумСнтация с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ рСдактирования Π½Π° Markdown β€” для Π»Ρ‘Π³ΠΊΠΎΠ³ΠΎ создания ΠΈ поддСрТания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

  • πŸ”„ Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для автоматичСской Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ UML β€” для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ структуры вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

  • πŸ§‘β€πŸ’» БистСма ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· Ruff ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‚Π΅Ρ€ Black β€” для обСспСчСния качСства ΠΈ читаСмости ΠΊΠΎΠ΄Π°.

  • πŸš€ CI/CD ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Ρ‹ для автоматичСского тСстирования ΠΈ дСплоя Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ β€” для обСспСчСния Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ тСстов ΠΈ развСртывания.

  • ⚑ Π£Π΄ΠΎΠ±Π½Ρ‹ΠΉ Makefile для быстрого запуска ΠΊΠΎΠΌΠ°Π½Π΄ β€” для удобства Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ.

@startuml name projectTemplate
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml 

!define DEVICONS https://raw.githubusercontent.com/tupadr3/plantuml-icon-font-sprites/main/icons/devicons 
!define ICONS https://raw.githubusercontent.com/tupadr3/plantuml-icon-font-sprites/master/font-awesome-5 

!include DEVICONS/python.puml
!include DEVICONS/docker.puml
!include ICONS/github.puml
!include ICONS/folder.puml
!include ICONS/file.puml

skinparam defaultFontName "Source Code Pro"

' --- Π‘Ρ‚ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ---
AddElementTag("config", $bgColor="#ced4da", $fontColor="black", $borderColor="#adb5bd")
AddElementTag("code", $bgColor="#bce3cc", $fontColor="black", $borderColor="#77c29e")
AddElementTag("utils", $bgColor="#f8c2c2", $fontColor="black", $borderColor="#e27a7a")
AddElementTag("docs", $bgColor="#ffd8b2", $fontColor="black", $borderColor="#fca55d")
AddElementTag("tests", $bgColor="#f8c2c2", $fontColor="black", $borderColor="#e27a7a")
AddElementTag("ci", $bgColor="#b3d4fc", $fontColor="black", $borderColor="#6ea8fe")
AddElementTag("docker", $bgColor="#f5e0b7", $fontColor="black", $borderColor="#d6b656")
AddElementTag("misc", $bgColor="#e9ecef", $fontColor="black", $borderColor="#dee2e6")

LAYOUT_TOP_DOWN()

' --- VPS ---
Container_Boundary(VPS, "VPS", "") {
  Container_Ext(app_1, "app", "ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€", "ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎΠ΅ Π² Docker Π½Π° сСрвСрС", $tags="docker", $sprite="docker")
}

' --- GitHub --- 
Container_Boundary(GitHub, "GitHub", "") {
  Container_Ext(github_pages, "GitHub Pages", "БСрвис", "Для хостинга статичСской Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ сайта", $tags="misc", $sprite="github")
  Container_Ext(github_actions, "GitHub Actions", "CI/CD", "Для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ процСссов сборки, тСстирования ΠΈ дСплоя", $tags="ci", $sprite="github")
  Container_Ext(github_secrets, "GitHub Secrets", "Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅", "Для бСзопасного хранСния ΠΈ управлСния сСкрСтами", $tags="misc", $sprite="github")
}

' --- projectTemplate ---
Container_Boundary(projectTemplate, "projectTemplate", "") {

  ' --- CI/CD ---
  Container_Boundary(cicd, ".github/", "Workflows", "") {
    Container(deploy_app, "deploy_app.yml", "YAML", "Π’ΠΎΡ€ΠΊΡ„Π»ΠΎΡƒ для автоматичСского дСплоя", $tags="ci", $sprite="github")
    Container(deploy_docs, "deploy_docs.yml", "YAML", "Π’ΠΎΡ€ΠΊΡ„Π»ΠΎΡƒ для сборки Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ", $tags="ci", $sprite="github")
    Container(makefile, "Makefile", "Автоматизация", "", $tags="misc", $sprite="file")
  }

  ' --- vscode ---
  Container_Boundary(vscode, ".vscode", "VSCode", "") {
    Container(extensions_json, "extensions.json", "JSON", "Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ для VS Code", $tags="misc", $sprite="file")
    Container(settings_json, "settings.json", "JSON", "Настройки для VS Code", $tags="misc", $sprite="file")
  }

  ' --- docker ---
  Container_Boundary(docker, "Docker", "Docker", "") {
    Container(dockerfile, "Dockerfile", "Π€Π°ΠΉΠ»", "Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Π° Docker", $tags="docker", $sprite="docker")
    Container(docker_compose_yaml, "docker-compose.yaml", "Π€Π°ΠΉΠ»", "БистСма сборки, запуска, управлСния ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ Docker", $tags="docker", $sprite="docker")
    Container(dockerignore, ".dockerignore", "", "Π€Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ для ΠΈΠ³Π½ΠΎΡ€Π° docker", $tags="misc", $sprite="file")
  }

  ' --- git ---
  Container_Boundary(Git, ".git", "Git", "") {
    Container(gitignore, ".gitignore", "", "Π€Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ для ΠΈΠ³Π½ΠΎΡ€Π° git", $tags="misc", $sprite="file")
    Container(copier_yaml, "copier.yaml", "Π€Π°ΠΉΠ»", "ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π½Π° основС шаблона", $tags="misc", $sprite="file")
    Container(pre_commit, ".pre-commit-config.yaml", "Π€Π°ΠΉΠ»", "ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡƒΡˆΠ΅ΠΌ", $tags="misc", $sprite="file")
  }
  
  ' --- env ---
  Container_Boundary(ENV, "env", "ΠžΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅", "") {
    Container(env, ".env", "ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния", $sprite="file")
    Container(requirements_txt, "requirements.txt", "Π€Π°ΠΉΠ»", "", $tags="misc", $sprite="file")
  }
    

  ' --- configs/ ---
  Container_Boundary(configs, "configs", "Configs", "") {
    Container(config_py, "config.py", "Python", "ΠœΠΎΠ΄ΡƒΠ»ΡŒ для ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ прилоТСния", $tags="config", $sprite="python")
  }

  ' --- docs/ ---
  Container_Boundary(docs, "docs", "Docs", "") {
    Container(index_rst, "index.rst", "reST", "Π”Π΅Ρ€Π΅Π²ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ", $tags="docs", $sprite="file")
    Container(all_md, "Π€Π°ΠΉΠ»Ρ‹ Markdown", "Markdown", "Π€Π°ΠΉΠ»Ρ‹ с описаниСм Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ", $tags="docs", $sprite="file")
    Container(conf_py, "conf.py", "Python", "Настройки Sphinx", $tags="docs", $sprite="python")
  }

  ' --- src/ ---
  Container_Boundary(src, "src", "Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄", "") {
    Container(main_py, "main.py", "Python", "Π’ΠΎΡ‡ΠΊΠ° Π²Ρ…ΠΎΠ΄Π° Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅", $tags="code", $sprite="python")
  }

  ' --- utils --- 
  Container_Boundary(utils, "utils", "Π£Ρ‚ΠΈΠ»ΠΈΡ‚Ρ‹", "") {
    Container(logger_py, "logger.py", "Python", "ΠœΠΎΠ΄ΡƒΠ»ΡŒ для записи Π»ΠΎΠ³ΠΎΠ² прилоТСния", $tags="utils", $sprite="python")
  }

  ' --- aux ---
  Container_Boundary(aux, "aux", "Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ", "") {
    Container(tests_folder, "tests/", "Папка", "ΠœΠΎΠ΄ΡƒΠ»ΠΈ для тСстирования", $tags="tests", $sprite="folder")
    Container(tools_folder, "tools/", "Папка", "Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ", $tags="misc", $sprite="folder")
  }
}

Rel(pre_commit, src, "ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ", "ruff, isort")
' ===== CI/CD ΠŸΠΎΡ‚ΠΎΠΊ =====
Rel(cicd, github_actions, "ВыполняСт workflow", "GitHub Runner")
Rel(github_actions, app_1, "Π Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅", "SSH, Docker")
Rel(github_actions, github_pages, "Π Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Π½Π°", "gh-pages branch")
Rel(makefile, deploy_app, "Автоматизация сборки", "make build")

' ===== Docker ΠΈ Π Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ =====
Rel(deploy_app, dockerfile, "Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚", "")
Rel(dockerignore, dockerfile, "Π˜ΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹", ".dockerignore rules")
Rel(dockerfile, env, "Π§ΠΈΡ‚Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния", "")
Rel(docker_compose_yaml, dockerfile, "ΠžΡ€ΠΊΠ΅ΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ запуск", "docker-compose up")
Rel(dockerfile, requirements_txt, "УстанавливаСт зависимости", "RUN pip install")

' ===== Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°=====
Rel(config_py, src, "НастраиваСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, управляСт путями", "class Config")
Rel(config_py, env, "Π§ΠΈΡ‚Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния", "")
Rel(logger_py, src, "Π›ΠΎΠ³ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅", "Python import")

' ===== ДокумСнтация =====
Rel(conf_py, index_rst, "НастраиваСт сборку Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ", "Python config")
Rel(index_rst, all_md, "Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя", "reST includes")


LAYOUT_WITH_LEGEND()

@enduml

Быстрый старт

  1. УстановитС Python Π½Π° свой ПК

  1. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ VS Code с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта

  1. ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ настройки VS Code Settings - Open Settings JSON

Π’ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Ρ‚ΡƒΠ΄Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния

{
  // Настройки ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния для Windows
  "terminal.integrated.env.windows": {
    "PYTHONPATH": "${workspaceFolder}"
  },

  // Настройки ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния для Linux
  "terminal.integrated.env.linux": {
    "PYTHONPATH": "${workspaceFolder}"
  },

  // Настройки ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния для macOS
  "terminal.integrated.env.osx": {
    "PYTHONPATH": "${workspaceFolder}"
  }
}

Π‘ΠΎΠ²Π΅Ρ‚

МоТно быстро Π·Π°ΠΉΡ‚ΠΈ Π² настройки ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ctrl+,. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ раскладку ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΡƒΡŽ

  1. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ ΠΈ настройтС Git

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π΅Π΅ Π² VS Code Workspace

  2. ΠžΡ‚ΠΊΡ€ΠΎΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ Git Π² ΠΏΠ°ΠΏΠΊΠ΅ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Подсказка

На Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Terminal - New Terminal - Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ.

git init 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Git отслСТиваСт вСрсии вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ НС выходя ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°

  1. АктивируйтС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

ПослС Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Π·Π½Π°Ρ‡ΠΎΠΊ (venv) слСва ΠΎΡ‚ ΠΏΠ°ΠΏΠΊΠΈ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

(venv) PS C:\user\blablabla\qwerty123
  1. УстановитС copier, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°

pip install copier
  1. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ шаблон с GitHub

copier copy gh:/maxlansky1/projectTemplate path/to/qwerty123

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅

copier copy - ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ шаблон gh:/maxlansky1/projectTemplate - ΠΏΡƒΡ‚ΡŒ ΠΊ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ Π½Π° GitHub path/to/qwerty123 - ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ вашСго локального ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

  1. Если ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΊΠΈ Π½Π° ΠΏΠ°ΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ

  2. ΠŸΡ€Π°Π²Ρ‹ΠΉ ΠΊΠ»ΠΈΠΊ ΠΌΡ‹ΡˆΠΊΠΈ Π² ΠΎΠΊΠ½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° вставит тСкст ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π°

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° вопросы copier Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ ΠΈΠ»ΠΈ просто Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter для согласия со стандартными ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌΠΈ

  1. Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ Π½Π° GitHub, создайтС Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ сдСлайтС ΠΏΡƒΡˆ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

ΠŸΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠ³ΠΎ рСпозитория GitHub подскаТСт, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

  1. ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈ обновляйтС шаблон

copier update