Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
26 changes: 26 additions & 0 deletions .github/workflows/website.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Website

on:
pull_request:
paths:
- 'website/**'
- '.github/workflows/website.yml'
push:
branches: [main]
paths:
- 'website/**'
- '.github/workflows/website.yml'

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm test
working-directory: website
20 changes: 20 additions & 0 deletions website/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# TeamAI website

Standalone static site for [#1131](https://github.com/Tencent/teamai-cli/issues/1131). Node.js 20+; no dependencies, CLI code, or copied documentation.

```sh
cd website
npm run build
npm test
python3 -m http.server 4173 --bind 127.0.0.1 --directory dist
```

Open `http://127.0.0.1:4173`. Python 3 is only needed for this local preview command; any static file server works. Deploy the contents of `website/dist/` to a static host. Links and assets are relative, so the site also works below a URL path. Hosting, domain, and automatic publication are left for the maintainers to choose.

## Contribute a real use case

First share a proposal in [#1131](https://github.com/Tencent/teamai-cli/issues/1131): how your team set TeamAI up and how it uses it. Include the tools you use, a public-safe repo layout, and one real workflow. Do not include private code, credentials, or invented results.

After agreeing the scope, contribute an HTML page under `website/use-cases/` and link it from the homepage's use-cases section. Use relative asset links (for example `../styles.css`) and accessible headings. The build copies these pages unchanged. If a case is written in another language, set its HTML `lang` appropriately.

There are no contributed cases yet. Keep `use-cases/` empty until the first real contribution; Git does not track empty directories, so the build creates it if missing. Do not add a placeholder story or `.gitkeep` there.
20 changes: 20 additions & 0 deletions website/README.zh-CN.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# TeamAI 网站

[#1131](https://github.com/Tencent/teamai-cli/issues/1131) 的独立静态站点。需要 Node.js 20+;无额外依赖,不包含 CLI 源码或文档副本。

```sh
cd website
npm run build
npm test
python3 -m http.server 4173 --bind 127.0.0.1 --directory dist
```

打开 `http://127.0.0.1:4173`。Python 3 只用于上述本地预览命令,也可使用其他静态文件服务器。将 `website/dist/` 内的文件部署到静态托管平台即可。链接和资源使用相对路径,也支持部署到 URL 子路径。托管平台、域名和自动发布方式由维护者确定。

## 贡献真实使用案例

先在 [#1131](https://github.com/Tencent/teamai-cli/issues/1131) 分享提议:团队如何搭建 TeamAI,以及日常如何使用。包括使用的工具、可公开的仓库结构和一个真实工作流。不要包含私有代码、凭据或编造的结果。

范围确定后,在 `website/use-cases/` 下贡献 HTML 页面,并在首页案例区域添加链接。使用相对资源路径(如 `../styles.css`)和易于访问的标题结构。构建时原样复制这些页面。如果案例使用其他语言,请设置对应的 HTML `lang`。

目前没有已贡献的案例。首个真实案例到来前保持 `use-cases/` 为空;Git 不跟踪空目录,构建会在缺失时创建它。不要在其中添加虚构案例或 `.gitkeep`。
18 changes: 18 additions & 0 deletions website/assets/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 12 additions & 0 deletions website/build.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { cp, mkdir, rm } from 'node:fs/promises';
import { fileURLToPath } from 'node:url';

const root = new URL('./', import.meta.url);
const output = new URL('dist/', root);
await mkdir(new URL('use-cases/', root), { recursive: true });
await rm(output, { recursive: true, force: true });
await mkdir(new URL('use-cases/', output), { recursive: true });
for (const name of ['index.html', 'styles.css', 'assets', 'use-cases']) {
await cp(new URL(name, root), new URL(name, output), { recursive: true });
}
console.log(`Built website at ${fileURLToPath(output)}`);
67 changes: 67 additions & 0 deletions website/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Your team's skills, rules, agents, and context. Managed in Git, shared across your AI coding tools. Meet TeamAI.">
<title>TeamAI — Make Every Team AI Native</title>
<link rel="icon" href="assets/logo.svg" type="image/svg+xml">
<link rel="stylesheet" href="styles.css">
</head>
<body>
<a class="skip-link" href="#main">Skip to content</a>
<header class="site-header wrap">
<a class="brand" href="./" aria-label="TeamAI home"><img src="assets/logo.svg" width="32" height="32" alt="">TeamAI<span class="brand-label">by Tencent</span></a>
<nav aria-label="Main navigation">
<a href="#how-it-works">Overview</a>
<a href="#use-cases">Use cases</a>
<a href="https://github.com/Tencent/teamai-cli/blob/main/docs/guide/getting-started.md">Documentation <span aria-hidden="true">↗</span></a>
</nav>
<a class="header-github" href="https://github.com/Tencent/teamai-cli"><svg viewBox="0 0 24 24" width="16" height="16" aria-hidden="true"><path fill="currentColor" d="M12 .7A11.3 11.3 0 0 0 8.4 22.7c.6.1.8-.2.8-.5v-2.1c-3.2.7-3.9-1.3-3.9-1.3-.5-1.3-1.3-1.6-1.3-1.6-1-.7.1-.7.1-.7 1.1.1 1.7 1.2 1.7 1.2 1 1.7 2.6 1.2 3.3.9.1-.7.4-1.2.7-1.4-2.6-.3-5.3-1.3-5.3-5.6 0-1.2.4-2.3 1.2-3.1-.1-.3-.5-1.5.1-3.1 0 0 1-.3 3.1 1.2a10.9 10.9 0 0 1 5.8 0c2.1-1.5 3.1-1.2 3.1-1.2.6 1.6.2 2.8.1 3.1.8.8 1.2 1.9 1.2 3.1 0 4.3-2.7 5.3-5.3 5.6.4.4.8 1.1.8 2.2v3.3c0 .3.2.6.8.5A11.3 11.3 0 0 0 12 .7Z"/></svg>GitHub<span aria-hidden="true">↗</span></a>
</header>
<main id="main">
<section class="hero" aria-labelledby="hero-title">
<div class="hero-grid" aria-hidden="true"></div>
<div class="hero-copy wrap">
<p class="announcement"><span class="status-dot" aria-hidden="true"></span> OPEN SOURCE <span class="announcement-divider">/</span> BUILT FOR YOUR TEAM</p>
<h1 id="hero-title">Great teams share<br><span>more than code.</span></h1>
<p class="intro">Your team's skills, rules, and knowledge.<br>One Git repo. Every AI coding tool.</p>
<div class="actions">
<a class="button primary" href="https://github.com/Tencent/teamai-cli/blob/main/docs/guide/getting-started.md">Start building together <span aria-hidden="true">↗</span></a>
<a class="button secondary" href="#how-it-works">Explore TeamAI <span aria-hidden="true">↓</span></a>
</div>
<p class="install"><span aria-hidden="true">$</span> npm install -g teamai-cli</p>
</div>
<div class="sync-window wrap">
<div class="window-bar"><div class="window-dots" aria-hidden="true"><i></i><i></i><i></i></div><span>ONE REPOSITORY. A SHARED WAY OF WORKING.</span><span class="window-label">TEAMAI</span></div>
<div class="sync-map">
<div class="assets-column"><p class="tiny-label">YOUR TEAM'S ASSETS</p><div class="asset"><span class="asset-icon" aria-hidden="true">/</span><strong>Skills</strong><span>Reusable expertise</span></div><div class="asset"><span class="asset-icon" aria-hidden="true">≡</span><strong>Rules</strong><span>Shared standards</span></div><div class="asset"><span class="asset-icon" aria-hidden="true">⌘</span><strong>Agents</strong><span>Specialist roles</span></div></div>
<div class="map-connector" aria-hidden="true"><span></span><b>→</b><span></span></div>
<div class="repo-node"><div class="repo-halo"><img src="assets/logo.svg" width="68" height="68" alt=""></div><h2>TeamAI</h2><p>Managed in Git.<br>Synced to your tools.</p><span class="repo-badge"><span aria-hidden="true">⑂</span> your-team / main</span></div>
<div class="map-connector" aria-hidden="true"><span></span><b>→</b><span></span></div>
<div class="tools-column"><p class="tiny-label">WHERE YOUR TEAM WORKS</p><div class="tool"><span class="tool-icon claude" aria-hidden="true">✳</span><strong>Claude Code</strong></div><div class="tool"><span class="tool-icon codex" aria-hidden="true">◎</span><strong>Codex</strong></div><div class="tool"><span class="tool-icon cursor" aria-hidden="true">↗</span><strong>Cursor</strong></div><div class="tool"><span class="tool-icon buddy" aria-hidden="true">⌁</span><strong>CodeBuddy</strong></div></div>
</div>
<div class="window-bottom"><span><span class="status-dot" aria-hidden="true"></span> Your tools. Your Git host. Your workflow.</span><a href="https://github.com/Tencent/teamai-cli/blob/main/docs/product-overview.md">See capabilities <span aria-hidden="true">↗</span></a></div>
</div>
<div class="supported wrap"><p>Built to work with the tools you already use.</p><div><span>Claude Code</span><span>Codex</span><span>Cursor</span><span>CodeBuddy</span><span>OpenCode</span></div></div>
</section>
<section class="principles wrap" id="how-it-works" aria-labelledby="how-title">
<div class="section-heading"><p class="eyebrow">01 — THE SHARED FOUNDATION</p><h2 id="how-title">Stop starting<br>from scratch.</h2><p>The best prompt, the right review rules, the hard-won context.<br>Give every teammate a better starting point.</p></div>
<div class="steps">
<article><span class="step-number">01</span><h3>Share what works.</h3><p>Keep skills, rules, agents, MCP, and model configuration in a team repository. Review changes with the Git workflow you know.</p><span class="feature-tag">GIT-NATIVE</span></article>
<article><span class="step-number">02</span><h3>Make it everyone's default.</h3><p>Set teammates up once. Session hooks pull the latest team assets into their AI coding tools, without a daily sync ritual.</p><span class="feature-tag">SET UP ONCE</span></article>
<article><span class="step-number">03</span><h3>Build on shared experience.</h3><p>Explore team learnings, codebase context, and usage. Context and improvement capabilities are currently in beta.</p><span class="feature-tag">CONTEXT &amp; IMPROVEMENT · BETA</span></article>
</div>
</section>
<section class="cases-section" id="use-cases" aria-labelledby="cases-title">
<div class="wrap cases-layout"><div class="cases-copy"><p class="eyebrow">02 — IN PRACTICE</p><h2 id="cases-title">The next story<br>starts with<br><span>your team.</span></h2><p>How did you set TeamAI up?<br>What does your everyday workflow look like?</p></div><div class="case-invitation"><span class="invitation-mark" aria-hidden="true">↗</span><p class="tiny-label">COMMUNITY USE CASES</p><h3>Show us how<br>you work.</h3><p>We're collecting the first real team stories. None have been published here yet.</p><a class="button case-button" href="https://github.com/Tencent/teamai-cli/issues/1131">Contribute your use case <span aria-hidden="true">↗</span></a><p class="case-note">Share your setup and one real workflow. Keep private code and credentials out.</p></div></div>
</section>
<section class="start wrap" aria-labelledby="start-title"><div><p class="eyebrow">03 — GET STARTED</p><h2 id="start-title">Your team.<br>On the same page.</h2><p>Connect your shared repository and bring<br>the team's way of working to every agent.</p><a class="text-link" href="https://github.com/Tencent/teamai-cli/blob/main/docs/guide/getting-started.md">Read the getting started guide <span aria-hidden="true">↗</span></a></div><div class="terminal"><div class="terminal-header"><span>TERMINAL</span><span>Node.js 20+</span></div><pre tabindex="0" role="region" aria-label="Installation commands, scroll horizontally to read"><code><span class="comment"># Install TeamAI</span>
<span class="prompt">$</span> npm install -g teamai-cli

<span class="comment"># Connect your team's repo</span>
<span class="prompt">$</span> teamai init https://github.com/your-org/your-repo</code></pre><p>Replace the URL with your team's repository.<br>Prefer your AI tool? The guide also covers skill-based setup.</p></div></section>
</main>
<footer class="wrap"><div><a class="brand" href="./"><img src="assets/logo.svg" width="28" height="28" alt="">TeamAI</a><p>Make Every Team AI Native</p></div><div class="footer-links"><a href="https://github.com/Tencent/teamai-cli">GitHub ↗</a><a href="https://github.com/Tencent/teamai-cli/blob/main/.github/CONTRIBUTING.md">Contribute ↗</a><a href="https://github.com/Tencent/teamai-cli/blob/main/LICENSE">MIT License</a></div></footer>
</body>
</html>
10 changes: 10 additions & 0 deletions website/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"name": "teamai-website",
"private": true,
"type": "module",
"engines": { "node": ">=20" },
"scripts": {
"build": "node build.mjs",
"test": "node --test test.mjs"
}
}
Loading
Loading