Skip to content
Open
Show file tree
Hide file tree
Changes from 26 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
5c50937
Add Partner Integration CLI tool
mjfrong Oct 14, 2025
5e3ce0a
Add header to Quick Start Guide
mfrongillo35 Oct 28, 2025
cd1cf3e
Merge branch 'main' of https://github.com/mfrongillo35/dragon-copilot…
mjfrong Oct 28, 2025
4d010b0
Restore partner integration web UI assets
mjfrong Oct 28, 2025
b56af92
chore: sync local build
mjfrong Oct 31, 2025
8bd38cd
chore: point automation to dragon-copilot cli
mjfrong Oct 31, 2025
eccb283
Initial plan
Copilot Nov 7, 2025
e9ede75
Add CODEOWNERS file and branch protection documentation
Copilot Nov 7, 2025
1000afa
Add branch protection setup checklist
Copilot Nov 7, 2025
ac75bce
Fix documentation issues from code review
Copilot Nov 7, 2025
adf5a23
Merge pull request #1 from mfrongillo35/copilot/secure-main-branch-re…
mfrongillo35 Nov 7, 2025
1a6c65b
Add standalone setup guide for Dragon Copilot extensions
Nov 7, 2025
9294b27
Merge remote-tracking branch 'origin/main' into partner-integration-c…
Nov 10, 2025
a7bf87e
Update CLI to unified structure and fix command references
Nov 10, 2025
3b51e91
Update CLI defaults and web interface improvements
Nov 10, 2025
44311cc
Add comprehensive Node.js and npm installation instructions to STANDA…
Nov 10, 2025
e290743
Update tools/dragon-copilot-cli/src/domains/partner/shared/context-it…
mfrongillo35 Nov 10, 2025
d44e1b2
Update tools/dragon-copilot-cli/src/domains/partner/shared/context-it…
mfrongillo35 Nov 10, 2025
6013e17
Update tools/dragon-copilot-cli/src/domains/partner/shared/context-it…
mfrongillo35 Nov 10, 2025
673aa1c
Update tools/dragon-copilot-cli/src/domains/partner/shared/context-it…
mfrongillo35 Nov 10, 2025
46b64dc
Update tools/dragon-copilot-cli/src/domains/partner/shared/prompts.ts
mfrongillo35 Nov 10, 2025
ca0626a
Update tools/dragon-copilot-cli/src/domains/partner/shared/prompts.ts
mfrongillo35 Nov 10, 2025
4b99155
Update tools/dragon-copilot-cli/web/app.js
mfrongillo35 Nov 10, 2025
084f512
Update tools/dragon-copilot-cli/web/app.js
mfrongillo35 Nov 10, 2025
1e7e658
Update tools/dragon-copilot-cli/web/app.js
mfrongillo35 Nov 10, 2025
e49190f
Update tools/dragon-copilot-cli/web/app.js
mfrongillo35 Nov 10, 2025
0edfd64
Normalize manifest tooling behavior and harden packaging script
Nov 14, 2025
5241998
Allow directory paths in partner manifest validation
Nov 15, 2025
28bc3d1
Add standalone setup script for partner CLI
Nov 15, 2025
8d69bb7
Document Windows standalone setup script
Nov 15, 2025
cd58a3c
Align web context descriptions with manifest validator
Nov 17, 2025
5c05651
Allow spaces in integration names
Nov 17, 2025
20730bb
Replace chalk mock with test stub
Nov 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 67 additions & 0 deletions .github/BRANCH_PROTECTION_CHECKLIST.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Branch Protection Quick Setup Checklist

Use this checklist when configuring branch protection for the first time.

## ✅ Pre-Setup (Already Complete)

- [x] CODEOWNERS file created (`.github/CODEOWNERS`)
- [x] CI/CD workflows configured (`ci.yml`, `security.yml`)
- [x] Documentation available (`doc/BRANCH_PROTECTION.md`)

## 🔧 GitHub Settings Configuration

Navigate to: **Repository Settings → Branches → Add rule**

### Branch Pattern
- [ ] Branch name pattern: `main`

### Pull Request Requirements
- [ ] ✅ Require a pull request before merging
- [ ] Required approvals: **1** (minimum)
- [ ] ✅ Dismiss stale pull request approvals when new commits are pushed
- [ ] ✅ Require review from Code Owners (recommended)

### Status Check Requirements
- [ ] ✅ Require status checks to pass before merging
- [ ] Search and add: `build-and-test`
- [ ] Search and add: `nodejs-tools`
- [ ] Search and add: `security-scan`
- [ ] Search and add: `codeql-analysis`
- [ ] ✅ Require branches to be up to date before merging

### Additional Protections
- [ ] ✅ Require conversation resolution before merging
- [ ] ⬜ Do not allow bypassing the above settings (optional - prevents admin bypass)

### Save
- [ ] Click **Create** to save the branch protection rule

## 🧪 Testing

After setup, test that it works:

1. [ ] Create a test branch
2. [ ] Make a small change
3. [ ] Push and create a PR
4. [ ] Verify you're automatically assigned as reviewer
5. [ ] Try to merge without approval (should be blocked)
6. [ ] Approve the PR
7. [ ] Merge successfully

## 📚 Reference

For detailed instructions, see: [doc/BRANCH_PROTECTION.md](../doc/BRANCH_PROTECTION.md)

## 🆘 Need Help?

- **Can't find the settings?** Make sure you have admin access to the repository
- **Status checks not appearing?** Run the workflows at least once first
- **Need to bypass temporarily?** Uncheck "Do not allow bypassing" in the rule settings

## What Happens After Setup?

✅ All changes to `main` require a pull request
✅ Pull requests require your approval before merging
✅ CI/CD checks must pass before merging
✅ You're automatically assigned as reviewer on all PRs
✅ Direct pushes to `main` are blocked
17 changes: 17 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# CODEOWNERS file for dragon-copilot-extension-samples-test
# This file defines who should be automatically requested for review on pull requests.
#
# Each line is a file pattern followed by one or more owners.
# These owners will be automatically requested for review when someone opens a pull request
# that modifies files matching the pattern.
#
# Documentation: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners

# Default owner for all files in the repository
# This ensures that @mfrongillo35 is automatically requested to review all pull requests
* @mfrongillo35

# You can add more specific rules below as needed, for example:
# /docs/ @mfrongillo35 @documentation-team
# *.js @mfrongillo35 @frontend-team
# /samples/ @mfrongillo35 @sample-reviewers
2 changes: 1 addition & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ updates:

# Enable version updates for npm dependencies
- package-ecosystem: "npm"
directory: "/tools/dragon-extension-cli"
directory: "/tools/dragon-copilot-cli"
schedule:
interval: "weekly"
day: "monday"
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,16 +55,16 @@ jobs:
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: tools/dragon-extension-cli/package.json
cache-dependency-path: tools/dragon-copilot-cli/package-lock.json

- name: Install dependencies
working-directory: tools/dragon-extension-cli
working-directory: tools/dragon-copilot-cli
run: npm ci

- name: Run tests
working-directory: tools/dragon-extension-cli
working-directory: tools/dragon-copilot-cli
run: npm test

- name: Build
working-directory: tools/dragon-extension-cli
working-directory: tools/dragon-copilot-cli
run: npm run build --if-present
23 changes: 23 additions & 0 deletions QUICKSTART.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#
# Quick Start Guide for Dragon Extension Developer

## 🚀 Getting Started (Choose One)
Expand All @@ -7,6 +8,28 @@
* Node 22.20.0
* npm 10.9.3

### Generate Manifests with the CLI
Use the unified `dragon-copilot` CLI to create and validate manifest version 3 definitions that now support automation scripts, event triggers, and dependency metadata.

```powershell
cd tools/dragon-copilot-cli
npm install
npm run build
npm link

# Interactive extension wizard (prompts for scripts/triggers/dependencies)
dragon-copilot extension init

# Validate both extension and publisher configuration together
dragon-copilot extension validate ./extension.yaml

# Partner manifest workflow
dragon-copilot partner init
dragon-copilot partner validate ./integration.yaml
```

> Tip: The wizard ensures `manifestVersion: 3` is set and collects automation metadata so the generated YAML aligns with the new schema shipped in this repository.

### Local Development Environment
1. Clone the repository
1. Open a terminal and navigate to `samples/DragonCopilot/Workflow/SampleExtension.Web`
Expand Down
28 changes: 21 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,15 @@ Welcome! This repository contains sample code illustrating the Dragon Copilot ex
- [Samples](#-samples)
- [Tools](#️-tools)
- [Contributing](#-contributing)
- [Repository Security](#-repository-security)
- [License](#-license)

## 📝 Overview

This repo includes:

- Sample extension with best practices
- CLI tools to initialize & package extension
- Unified `dragon-copilot-cli` tooling (extension + partner flows)
- [Additional Documentation](doc/)

## 🚀 Quick Start
Expand All @@ -37,21 +38,22 @@ cd dragon-copilot-extension-samples

## 🛠️ Tools

### Dragon Extension CLI
### Dragon Copilot CLI

CLI to easily generate manifest & package the extension, getting ready to publish or upload the extension.
The `dragon-copilot-cli` consolidates both the legacy extension and partner CLIs. It now generates **manifest version 3** files with support for automation scripts, event triggers, and dependency metadata.

Quick usage:

```bash
cd tools/dragon-extension-cli
cd tools/dragon-copilot-cli
npm install
npm run build
npm link
dragon-extension init
dragon-extension package
dragon-copilot extension init
dragon-copilot partner validate ./path/to/integration.yaml
```

See [CLI README](tools/dragon-extension-cli/README.md) for details.
See [tools/dragon-copilot-cli/README.md](tools/dragon-copilot-cli/README.md) for more details, including an automation script scaffolding HOWTO.

## 🤝 Contributing

Expand All @@ -62,6 +64,18 @@ See [CLI README](tools/dragon-extension-cli/README.md) for details.
5. Ensure all tests pass
6. Submit a pull request

All pull requests require review before merging to main. See the [Branch Protection Guide](doc/BRANCH_PROTECTION.md) for details on repository security settings.

## 🔒 Repository Security

This repository uses branch protection rules and code owners to maintain code quality:

- **Pull Request Reviews Required**: All changes to `main` must go through a reviewed pull request
- **Code Owners**: The `.github/CODEOWNERS` file automatically assigns reviewers
- **CI/CD Checks**: All tests and security scans must pass before merging

For setup instructions, see [Branch Protection Setup Guide](doc/BRANCH_PROTECTION.md).

## 📄 License

MIT License. See [LICENSE](LICENSE) for details.
Loading