Пошаговая инструкция для безопасной публикации репозитория Termly CLI.
- Проверить отсутствие секретов в коде (API keys, tokens, passwords)
- Проверить отсутствие чувствительных файлов (.env, credentials, keys)
- Проверить git историю на случайно закоммиченные секреты
- Проверить package.json на приватные зависимости
- Убрать локальные настройки IDE (.claude/, .grok/)
- Проверить CRYPTO_SPEC.md (только публичные стандарты)
- Убедиться что все email используют hello@termly.dev
- README.md обновлен с актуальной информацией
- SECURITY.md создан (политика безопасности)
- CONTRIBUTING.md создан (гайд для контрибьюторов)
- CHANGELOG.md создан (история версий)
- LICENSE добавлен (MIT)
- CLAUDE.md актуален
- docs/ARCHITECTURE.md актуален
- Issue templates (bug report, feature request, AI tool request)
- Pull request template
- GitHub funding (Ko-fi)
- Issue config (ссылки на security, discussions, docs)
- .gitignore настроен правильно
- .npmignore настроен правильно
- .gitattributes для line endings
- Git tag v1.3.0 создан
Before making repository public, enable:
# Через GitHub CLI
gh repo edit termly-dev/termly-cli \
--enable-issues \
--enable-discussions \
--enable-wiki=falseИли через веб-интерфейс:
-
Settings → General → Features
- Issues
- Discussions (для вопросов сообщества)
- Wiki (не нужен, есть docs/)
- Projects (опционально)
-
Settings → Security & Analysis
- Dependency graph
- Dependabot alerts
- Dependabot security updates
- Secret scanning (GitHub Advanced Security)
- Code scanning (CodeQL - опционально)
-
Settings → Code security and analysis
- Private vulnerability reporting (Enable)
Настройте защиту ветки main:
# Через GitHub CLI (базовая защита)
gh api repos/termly-dev/termly-cli/branches/main/protection \
-X PUT \
-f required_status_checks='{"strict":false,"contexts":[]}' \
-f enforce_admins=true \
-f required_pull_request_reviews='{"required_approving_review_count":1,"dismiss_stale_reviews":true}' \
-f restrictions=null \
-f allow_force_pushes=false \
-f allow_deletions=falseИли через веб-интерфейс:
Settings → Branches → Add rule (для main):
Protect matching branches:
- Require a pull request before merging
- Require approvals (1)
- Dismiss stale pull request approvals when new commits are pushed
- Require review from Code Owners (если есть CODEOWNERS)
- Require status checks to pass (если настроите CI/CD)
- Require conversation resolution before merging
- Require linear history (опционально)
- Include administrators (опционально - строго)
- Do not allow bypassing the above settings
- Restrict who can push to matching branches (только вы или команда)
Settings → General:
-
Default branch: main ✅
-
Pull Requests:
- Allow merge commits (рекомендуется)
- Allow squash merging (рекомендуется для мелких PR)
- Allow rebase merging (опционально)
- Always suggest updating pull request branches
- Automatically delete head branches
Note: Минимум одна опция должна быть включена. Если у вас "Require linear history" в branch protection, то нужно оставить только squash или rebase.
-
Archives:
- Do NOT include Git LFS objects in archives (экономит место)
-
Pushes:
- Limit how many branches and tags can be updated in a single push (5)
Создайте release для v1.3.0:
gh release create v1.3.0 \
--title "v1.3.0 - Public Release" \
--notes "$(cat <<'EOF'
# Termly CLI v1.3.0 - Public Release
## 🎉 First Public Release!
Termly CLI is now open source! Mirror your AI coding sessions to mobile - control Claude Code, Aider, GitHub Copilot, and 20+ tools from your phone.
## ✨ What's New in v1.3
- **No Build Tools Required** - Prebuilt binaries for all platforms (Windows, macOS, Linux)
- **Fast Installation** - 10-30 seconds instead of minutes
- **Improved Windows Support** - Fixed PATH issues, ConPTY optimizations
- **Auto-Update Check** - CLI version validation on startup
- **Enhanced Terminal Handling** - Better resize management and output normalization
## 📦 Installation
```bash
npm install -g @termly-dev/cliThat's it! Works out-of-the-box on all platforms.
cd /path/to/your/project
termly start- Claude Code, Aider, GitHub Copilot
- Google Gemini CLI, Grok CLI, OpenAI Codex
- Cursor, Cody, Amazon Q Developer
- And many more...
- README.md - Getting started
- SECURITY.md - Security policy
- CONTRIBUTING.md - How to contribute
- CHANGELOG.md - Full changelog
- docs/ARCHITECTURE.md - Technical architecture
End-to-end encryption (AES-256-GCM + DH-2048) with zero-knowledge server architecture.
We welcome contributions! See CONTRIBUTING.md for guidelines.
MIT License - see LICENSE
- Website: https://termly.dev
- GitHub: https://github.com/termly-dev/termly-cli
- Issues: https://github.com/termly-dev/termly-cli/issues
- Support: hello@termly.dev
- Ko-fi: https://ko-fi.com/termly
Made with ❤️ by the Termly Team EOF )"
### Step 5: Make Repository Public
**ВАЖНО: Это необратимое действие!**
```bash
# Через GitHub CLI
gh repo edit termly-dev/termly-cli --visibility public
Или через веб-интерфейс:
- Settings → General → Danger Zone
- "Change repository visibility" → "Make public"
- Подтвердите: введите
termly-dev/termly-cli - Нажмите "I understand, make this repository public"
- Вся история коммитов станет публичной
- Все Issues и Pull Requests станут публичными
- Репозиторий появится в поиске GitHub
- Нельзя вернуть обратно (можно сделать приватным, но история останется)
1. Add Topics/Tags на GitHub:
Settings → General → Topics:
cli, terminal, ai, coding-assistant, mobile, claude, aider,
github-copilot, encryption, nodejs, pty, websocket, e2ee
2. Настройте Social Preview:
Settings → General → Social preview:
- Создайте или загрузите изображение (1280x640px)
- Показывается при шаре на Twitter/LinkedIn
3. Создайте Discussion Categories:
Settings → Discussions → New category:
- 💬 General - Общие вопросы
- 💡 Ideas - Идеи и предложения
- 🙏 Q&A - Вопросы и ответы
- 📣 Announcements - Объявления (только maintainers)
- 🐛 Bug Reports - Обсуждение багов
4. Настройте CODEOWNERS (опционально):
Создайте .github/CODEOWNERS:
# Владельцы кода - автоматически запрашиваются на review
* @your-github-username
# Для критичных файлов
/lib/crypto/ @your-github-username
/lib/session/ @your-github-username
SECURITY.md @your-github-username
5. Настройте GitHub Actions (опционально):
Создайте .github/workflows/ci.yml для автоматического тестирования:
name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
node-version: [18.x, 20.x, 21.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- run: npm install
- run: npm testПосле публикации, объявите о релизе:
Создайте пост в Announcements:
🎉 Termly CLI is Now Open Source!
We're excited to announce that Termly CLI is now open source and available for everyone!
📦 Install: npm install -g @termly-dev/cli
🌐 Website: https://termly.dev
📚 Docs: https://github.com/termly-dev/termly-cli
What do you want to see next? Share your ideas!
Twitter/X:
🎉 Termly CLI is now open source!
Mirror your AI coding sessions to mobile - control Claude Code, Aider, GitHub Copilot, and 20+ tools from your phone.
✨ Easy install: npm install -g @termly-dev/cli
🔒 End-to-end encrypted
⚡ Fast & lightweight
https://github.com/termly-dev/termly-cli
#OpenSource #AI #CLI #NodeJS
LinkedIn:
We're thrilled to announce that Termly CLI is now open source! 🎉
Termly CLI enables remote terminal access to AI coding assistants from mobile devices with end-to-end encryption.
Key features:
• Support for 20+ AI tools (Claude Code, Aider, GitHub Copilot, Gemini, etc.)
• End-to-end encryption (AES-256-GCM + DH-2048)
• Session resume with automatic reconnection
• Multiple simultaneous sessions
• Zero-knowledge server architecture
Install: npm install -g @termly-dev/cli
GitHub: https://github.com/termly-dev/termly-cli
We welcome contributions from the community!
Поделитесь в:
- Reddit: r/programming, r/node, r/opensource
- Hacker News: news.ycombinator.com
- Dev.to: Напишите статью о проекте
- Product Hunt: Запустите продукт
Убедитесь что npm пакет обновлен:
npm publish- Проверяйте Issues ежедневно (первые дни критичны)
- Отвечайте на вопросы в Discussions
- Следите за Security Alerts от Dependabot
- Проверяйте звезды и форки (показатель интереса)
- Проверяйте Issues 2-3 раза в неделю
- Review Pull Requests оперативно (в течение 48 часов)
- Мониторьте упоминания в Twitter/Reddit
- Обновляйте документацию на основе вопросов
- Настройте GitHub Sponsors (опционально)
- Добавьте contributors в README
- Создавайте milestones для будущих версий
- Публикуйте release notes для каждой версии
НЕМЕДЛЕННО:
- Ротируйте все скомпрометированные ключи/токены
- Удалите секрет из истории Git:
git filter-branch --force --index-filter \ "git rm --cached --ignore-unmatch path/to/secret" \ --prune-empty --tag-name-filter cat -- --all git push origin --force --all - Создайте Security Advisory на GitHub
- Уведомите пользователей (если необходимо)
- Создайте issue с тегом
critical - Зафиксьте в hotfix ветке
- Выпустите patch версию (v1.3.1)
- Обновите minimum version на сервере (forced update)
- Закройте и заблокируйте (Block user)
- Сообщите в GitHub Support (если спам/abuse)
- Обновите CONTRIBUTING.md если нужно
Перед тем как нажать "Make Public":
- Все security checks пройдены
- Документация полная и актуальная
- GitHub settings настроены
- Branch protection включена
- GitHub Release создан
- Team готова к support (Issues/Discussions)
- Announcement posts подготовлены
Ready? Let's go! 🚀
gh repo edit termly-dev/termly-cli --visibility publicLast Updated: 2025-01-12 Version: 1.0