Skip to content

Commit aa85e5b

Browse files
committed
feat: Establish MkDocs documentation site with GitHub Pages deployment and initial changelog.
1 parent c8b59f1 commit aa85e5b

File tree

4 files changed

+135
-2
lines changed

4 files changed

+135
-2
lines changed

.github/workflows/deploy-docs.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Deploy Documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
permissions:
9+
contents: read
10+
pages: write
11+
id-token: write
12+
13+
concurrency:
14+
group: "pages"
15+
cancel-in-progress: false
16+
17+
jobs:
18+
build:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- uses: actions/checkout@v4
22+
23+
- uses: actions/setup-python@v5
24+
with:
25+
python-version: "3.x"
26+
27+
- run: pip install mkdocs-material
28+
29+
- name: Prepare docs for MkDocs
30+
run: |
31+
# Copy root-level docs into docs/
32+
cp README.md docs/index.md
33+
cp CHANGELOG.md docs/changelog.md
34+
35+
# Copy logo into docs assets
36+
mkdir -p docs/assets
37+
cp apcore-a2a-logo.svg docs/assets/
38+
39+
# Fix logo path in index.md
40+
sed -i 's|\./apcore-a2a-logo\.svg|./assets/apcore-a2a-logo.svg|g' docs/index.md
41+
42+
# Fix doc links in index.md: docs/X → X
43+
sed -i 's|(docs/|(|g' docs/index.md
44+
45+
- run: mkdocs build
46+
47+
- uses: actions/upload-pages-artifact@v3
48+
with:
49+
path: site
50+
51+
deploy:
52+
needs: build
53+
runs-on: ubuntu-latest
54+
environment:
55+
name: github-pages
56+
url: ${{ steps.deployment.outputs.page_url }}
57+
steps:
58+
- id: deployment
59+
uses: actions/deploy-pages@v4

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [0.1.0] - 2026-03-07
9+
10+
### Added
11+
12+
- Product Requirements Document (PRD), Software Requirements Specification (SRS), Technical Design Document, and Test Plan.
13+
- 11 feature specifications: adapters, storage, server-core, streaming, push-notifications, auth, client, public-api, cli, explorer, ops.
14+
- Getting Started guide with Python and TypeScript examples.
15+
- README with project overview, quick start, and architecture summary.
16+
- MkDocs Material documentation site with GitHub Pages deployment.
17+
- Project logo (`apcore-a2a-logo.svg`).

docs/prd.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@
1717

1818
apcore-a2a originated from the observation that apcore modules already carry all the metadata the A2A (Agent-to-Agent) protocol needs -- `input_schema`, `output_schema`, `description`, `annotations`, `tags`, and `examples` -- yet there is no standard way to expose them to A2A clients, orchestrators, or peer agents. The idea was validated through analysis of the A2A protocol specification (v0.3.0), competitive landscape assessment (LangChain and CrewAI shipping A2A integrations), and demand signals (A2A adopted by 50+ partners including Google, Salesforce, SAP, ServiceNow; moved to Linux Foundation governance in April 2025). The core insight: since the mapping from apcore metadata to A2A concepts (Agent Card, Skills, Task lifecycle) is nearly 1:1, a single adapter package can eliminate all manual A2A server construction work for the entire apcore ecosystem. This is the natural counterpart to apcore-mcp: MCP handles model-to-tool communication; A2A handles agent-to-agent communication. Together they make apcore the only schema-driven framework that natively bridges to both major AI interoperability protocols from a single module definition. This PRD formalizes the validated idea into actionable requirements.
1919

20-
> For the original brainstorming and validation notes, see [`ideas/apcore-a2a.md`](../../ideas/apcore-a2a.md).
21-
2220
---
2321

2422
## 1. Executive Summary

mkdocs.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
site_name: apcore-a2a
2+
site_description: Automatic A2A protocol adapter for the apcore ecosystem
3+
repo_url: https://github.com/aipartnerup/apcore-a2a
4+
repo_name: aipartnerup/apcore-a2a
5+
6+
theme:
7+
name: material
8+
logo: assets/apcore-a2a-logo.svg
9+
favicon: assets/apcore-a2a-logo.svg
10+
palette:
11+
- scheme: default
12+
primary: deep purple
13+
accent: purple
14+
toggle:
15+
icon: material/brightness-7
16+
name: Switch to dark mode
17+
- scheme: slate
18+
primary: deep purple
19+
accent: purple
20+
toggle:
21+
icon: material/brightness-4
22+
name: Switch to light mode
23+
features:
24+
- navigation.sections
25+
- navigation.expand
26+
- content.code.copy
27+
28+
nav:
29+
- Home: index.md
30+
- Getting Started: getting-started.md
31+
- Changelog: changelog.md
32+
- Specifications:
33+
- Product Requirements (PRD): prd.md
34+
- Technical Design: tech-design.md
35+
- Software Requirements (SRS): srs.md
36+
- Test Plan: test-plan.md
37+
- Features:
38+
- Overview: features/overview.md
39+
- Adapters: features/adapters.md
40+
- Storage: features/storage.md
41+
- Server Core: features/server-core.md
42+
- Streaming: features/streaming.md
43+
- Push Notifications: features/push-notifications.md
44+
- Auth: features/auth.md
45+
- Client: features/client.md
46+
- Public API: features/public-api.md
47+
- CLI: features/cli.md
48+
- Explorer: features/explorer.md
49+
- Ops: features/ops.md
50+
51+
markdown_extensions:
52+
- tables
53+
- admonition
54+
- pymdownx.highlight
55+
- pymdownx.superfences
56+
- pymdownx.tabbed:
57+
alternate_style: true
58+
- toc:
59+
permalink: true

0 commit comments

Comments
 (0)