Skip to content

Commit 79ff4ca

Browse files
committed
Add website metadata and repo hygiene
1 parent 282bc90 commit 79ff4ca

8 files changed

Lines changed: 185 additions & 1 deletion

File tree

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Bug report
2+
description: Report a bug or unexpected behavior
3+
labels: ["bug"]
4+
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for reporting an issue. Do not include access tokens, refresh tokens, auth codes, tenant secrets, private chat contents, or customer data.
10+
11+
- type: textarea
12+
attributes:
13+
label: Describe the bug
14+
description: A clear description of what went wrong.
15+
placeholder: Describe the issue step by step.
16+
validations:
17+
required: true
18+
19+
- type: textarea
20+
attributes:
21+
label: Steps to reproduce
22+
description: Include the exact command shape where possible, with sensitive values replaced by placeholders.
23+
placeholder: |
24+
1. Run `teams ...`
25+
2. Use output mode `json`
26+
3. See error
27+
validations:
28+
required: true
29+
30+
- type: textarea
31+
attributes:
32+
label: Expected behavior
33+
description: What did you expect to happen?
34+
validations:
35+
required: false
36+
37+
- type: textarea
38+
attributes:
39+
label: Error output
40+
description: Paste sanitized stderr/stdout. Remove tokens, tenant secrets, auth codes, and private Teams content.
41+
render: shell
42+
validations:
43+
required: false
44+
45+
- type: textarea
46+
attributes:
47+
label: Environment
48+
value: |
49+
- teams-cli version:
50+
- Install method: [Homebrew / GitHub release / cargo install / source]
51+
- OS:
52+
- Shell:
53+
- Auth flow: [browser / device-code / client-credentials / access-token env var]
54+
- Output mode: [json / human / plain]
55+
validations:
56+
required: false
57+
58+
- type: textarea
59+
attributes:
60+
label: Additional context
61+
description: Add any other sanitized context that may help.
62+
validations:
63+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Documentation
4+
url: http://msteamscli.com/
5+
about: Check the project website and documentation before opening an issue.
6+
- name: Security vulnerability
7+
url: https://github.com/osodevops/ms-teams-cli/security/policy
8+
about: Report security issues privately through the security policy.

.github/ISSUE_TEMPLATE/feature.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Feature request
2+
description: Suggest a new feature or improvement
3+
labels: ["enhancement"]
4+
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for the suggestion. Please describe the workflow and the Teams or Microsoft Graph behavior you need.
10+
11+
- type: textarea
12+
attributes:
13+
label: Problem
14+
description: What problem are you trying to solve?
15+
placeholder: Agents or automation need to...
16+
validations:
17+
required: false
18+
19+
- type: textarea
20+
attributes:
21+
label: Proposed solution
22+
description: What should teams-cli do?
23+
validations:
24+
required: true
25+
26+
- type: textarea
27+
attributes:
28+
label: Use case
29+
description: Who would use this and in what workflow?
30+
placeholder: Agency client comms, enterprise agent posting, CI/CD status updates, incident response...
31+
validations:
32+
required: false
33+
34+
- type: textarea
35+
attributes:
36+
label: Microsoft Graph or Teams API reference
37+
description: Link to relevant Microsoft documentation if known.
38+
validations:
39+
required: false
40+
41+
- type: textarea
42+
attributes:
43+
label: Alternatives considered
44+
description: Any workaround, SDK, Graph call, bot flow, or CLI alternative you have considered.
45+
validations:
46+
required: false

.github/dependabot.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "cargo"
4+
directory: "/"
5+
schedule:
6+
interval: "weekly"
7+
day: "monday"
8+
open-pull-requests-limit: 10
9+
labels:
10+
- "dependencies"
11+
- "rust"
12+
commit-message:
13+
prefix: "deps"
14+
groups:
15+
rust-minor:
16+
patterns:
17+
- "*"
18+
update-types:
19+
- "minor"
20+
- "patch"
21+
22+
- package-ecosystem: "github-actions"
23+
directory: "/"
24+
schedule:
25+
interval: "weekly"
26+
day: "monday"
27+
open-pull-requests-limit: 5
28+
labels:
29+
- "dependencies"
30+
- "ci"
31+
commit-message:
32+
prefix: "ci"

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ license = "MIT"
77
authors = ["OSO DevOps"]
88
description = "Microsoft Teams CLI for AI agents — structured JSON output, deterministic exit codes, headless auth, real-time webhooks"
99
repository = "https://github.com/osodevops/ms-teams-cli"
10+
homepage = "http://msteamscli.com/"
1011
readme = "README.md"
1112
keywords = ["teams", "microsoft", "ai-agent", "graph-api", "mcp"]
1213
categories = ["command-line-utilities"]

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,11 @@ Every command returns structured JSON with deterministic exit codes — designed
66

77
[![CI](https://github.com/osodevops/ms-teams-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/osodevops/ms-teams-cli/actions/workflows/ci.yml)
88
[![Release](https://github.com/osodevops/ms-teams-cli/actions/workflows/release.yml/badge.svg)](https://github.com/osodevops/ms-teams-cli/releases)
9+
[![Latest Release](https://img.shields.io/github/v/release/osodevops/ms-teams-cli)](https://github.com/osodevops/ms-teams-cli/releases)
910
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
1011

12+
Website: [msteamscli.com](http://msteamscli.com/)
13+
1114
## Why This Exists
1215

1316
AI agents need to operate in Microsoft Teams — reading messages, posting updates, managing channels, reacting to events — but there is no comprehensive CLI for Teams. Existing MCP servers cover only a fraction of the Graph API. Bot Framework SDKs assume a conversational UI inside Teams, not an external agent calling in.
@@ -74,6 +77,7 @@ cargo install --git https://github.com/osodevops/ms-teams-cli
7477

7578
## Documentation
7679

80+
- [Project website](http://msteamscli.com/)
7781
- [Docs index](docs/README.md)
7882
- [Quickstarts](docs/quickstarts/README.md)
7983
- [Authentication guide](docs/auth.md)

docs/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# teams-cli documentation
22

3+
Project website: [msteamscli.com](http://msteamscli.com/)
4+
35
`teams` is a Microsoft Teams command line tool built for AI agents, scripts, and operators that need deterministic access to Microsoft Graph. It is not a Teams bot framework. It is a subprocess-friendly CLI that can read Teams data, send messages as a delegated user, manage Teams resources, and emit JSON envelopes that agents can parse reliably.
46

57
## Start here

docs/release-readiness.md

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ These must be resolved before marketing this as production-ready for external cu
5656
6. Clear policy for unsupported Graph operations, tenant restrictions, and destructive commands.
5757
7. Security review of token storage, logs, and exported token behavior.
5858
8. Versioned release notes and upgrade guidance.
59+
9. Public website DNS and hosting live for `http://msteamscli.com/`; prefer HTTPS before broad commercial launch.
5960

6061
## Microsoft official trust checklist
6162

@@ -64,12 +65,39 @@ For the current CLI-only Graph app, Microsoft Teams Store submission is not requ
6465
- Entra publisher domain set to OSO's verified domain.
6566
- Microsoft AI Cloud Partner Program account linked for publisher verification.
6667
- Publisher verification completed so consent prompts show a verified publisher.
67-
- App display name, logo, homepage, privacy policy, and terms URLs set in Entra branding.
68+
- App display name, logo, homepage (`http://msteamscli.com/`), privacy policy, and terms URLs set in Entra branding.
6869
- Admin consent URL documented for customer tenants.
6970
- Permission list documented with a short purpose for each delegated scope.
7071

7172
Microsoft 365/Teams app publisher attestation or certification becomes relevant if OSO later ships a Teams app or bot through Teams Store/AppSource.
7273

74+
## Kafka Backup parity review
75+
76+
Reviewed against `osodevops/kafka-backup` on 2026-05-26.
77+
78+
Already covered here:
79+
80+
- GitHub Actions CI on Linux, macOS, and Windows.
81+
- GitHub release assets with SHA256 checksums.
82+
- Homebrew formula in `osodevops/homebrew-tap`.
83+
- README, docs, man pages, changelog, license, contribution guide, and security policy.
84+
- Agent-focused repo guidance in `AGENTS.md`.
85+
86+
Added from that comparison:
87+
88+
- GitHub issue templates for bug reports and feature requests.
89+
- Dependabot configuration for Cargo and GitHub Actions.
90+
- Public homepage metadata in Cargo and GitHub repository settings.
91+
92+
Still intentionally not added:
93+
94+
- cargo-dist shell and PowerShell installers.
95+
- Scoop bucket publishing for Windows.
96+
- Docker image publishing.
97+
- Demo repository with runnable customer scenarios.
98+
99+
Those are useful distribution improvements, but they should be implemented deliberately rather than mixed into the current proven release workflow.
100+
73101
## Controlled live smoke test
74102

75103
Use a dedicated team/channel with no customer data.

0 commit comments

Comments
 (0)