Skip to content

Commit 7f22c18

Browse files
committed
✏️ Adjust the document content to be correct as being a template repo.
1 parent 3a66190 commit 7f22c18

File tree

5 files changed

+191
-629
lines changed

5 files changed

+191
-629
lines changed

docs_with_docusarus/contents/development/architecture/index.mdx

Lines changed: 48 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -5,66 +5,69 @@ sidebar_position: 1
55
slug: architecture/overview
66
---
77

8-
# Slack MCP Server Architecture
8+
# Template Architecture Overview
99

10-
This section provides comprehensive documentation of the Slack MCP Server architecture, covering all major components and their interactions.
10+
This page explains how the Python UV Project Template is organized and how the main building blocks (source code, automation, and documentation) work together. Use it as a map when adapting the template to your own project.
1111

12-
## Architecture Components
12+
## Architecture Pillars
1313

14-
The Slack MCP Server is built with a modular architecture that supports multiple deployment modes and integration patterns:
14+
- **Application Layer (`src/`)** – Houses your Python package using the modern src-layout.
15+
- **Quality & Testing (`test/`, `pre-commit`)** – Provides pytest-based suites, coverage reporting, linting, and type-checking tooling configured through uv.
16+
- **Automation (`.github/workflows/`)** – Collection of GitHub Actions for CI, releases, docs, Docker, and supporting tasks.
17+
- **Documentation (`docs_with_docusarus/`, `docs_with_mkdocs/`)** – Docusaurus (primary) and MkDocs (optional) documentation systems ready for customization.
1518

16-
### **🏗️ [Project Structure](/dev/next/architecture/project-structure)**
17-
- Overall source code organization
18-
- Design patterns and principles
19-
- Directory structure and key components
20-
- Development workflow and conventions
21-
22-
## System Overview
19+
## Repository Topology
2320

2421
```mermaid
25-
graph TB
26-
subgraph "Client Layer"
27-
A[MCP Clients]
28-
B[Slack Workspace]
22+
flowchart LR
23+
subgraph Source
24+
A[src/]
25+
B[test/]
26+
end
27+
subgraph Automation
28+
C[.github/workflows/]
29+
D[scripts/]
2930
end
30-
31-
subgraph "Slack MCP Server"
32-
C[MCP Server]
33-
D[Webhook Server]
34-
E[Integrated Server]
31+
subgraph Documentation
32+
E[docs_with_docusarus/]
33+
F[docs_with_mkdocs/]
3534
end
36-
37-
subgraph "Backend Services"
38-
F[Queue Backend]
39-
G[Slack API]
35+
subgraph Packaging
36+
G[pyproject.toml]
37+
H[uv.lock]
4038
end
41-
39+
4240
A --> C
43-
A --> E
44-
B --> D
45-
B --> E
41+
B --> C
4642
C --> G
47-
D --> F
48-
E --> G
49-
E --> F
43+
C --> H
44+
A --> E
45+
A --> F
46+
E --> C
5047
```
5148

52-
## Key Features
49+
## What Lives Where?
50+
51+
- **`src/`** – Your distributable package, including the default `types.py` example and `py.typed` marker for PEP 561 compliance.
52+
- **`test/`** – Unit and integration test scaffolding with pytest plugins preconfigured in `pyproject.toml`.
53+
- **`.github/workflows/`** – Automation entry points (CI, release, documentation, Docker, type distribution, etc.).
54+
- **`docs_with_docusarus/`** – Primary documentation site (this guide). Includes reusable content, versioning, and search configuration.
55+
- **`docs_with_mkdocs/`** – Alternate documentation stack if your team prefers MkDocs.
56+
- **`scripts/`** – Helper scripts invoked by workflows for packaging, docs, and build orchestration.
57+
- **`pyproject.toml` / `uv.lock`** – Single source of truth for dependencies, tool configuration, and packaging metadata.
5358

54-
- **Multiple Transport Options**: stdio, Server-Sent Events (SSE), and HTTP streaming
55-
- **Flexible Deployment**: Standalone MCP server, standalone webhook server, or integrated mode
56-
- **Event Processing**: Asynchronous Slack event handling with queue integration
57-
- **Security**: Request signature verification and token management
58-
- **Scalability**: Horizontal scaling support for webhook processing
59+
## How the Pieces Work Together
5960

60-
## Design Principles
61+
1. **Develop locally with uv** – Use `uv sync` to install dependencies defined in `pyproject.toml` and locked in `uv.lock`.
62+
2. **Validate with pre-commit** – Preconfigured hooks (formatting, linting, type checking) keep commits consistent.
63+
3. **Run CI**`ci.yaml` (regular) and `ci_includes_e2e_test.yaml` (extended) execute the same matrix of tests GitHub-side.
64+
4. **Ship releases** – Intent-driven workflows publish Python packages, container images, and docs from a single configuration file.
65+
5. **Publish docs** – Docusaurus builds run automatically after releases or documentation-only pull requests.
6166

62-
1. **Modularity**: Clear separation between MCP and webhook functionality
63-
2. **Extensibility**: Easy to add new MCP tools and event handlers
64-
3. **Security**: Secure token handling and request verification
65-
4. **Performance**: Asynchronous processing and efficient resource usage
66-
5. **Reliability**: Robust error handling and recovery mechanisms
67+
## Related Guides
6768

68-
## Next Steps
69+
- **Structure & Files**[Project Structure](./project-structure.mdx)
70+
- **CI/CD System**[CI/CD Overview](../ci-cd/index.mdx)
71+
- **Type Checking**[Type Checking with MyPy](../type-checking.mdx)
6972

70-
Explore the detailed architecture documentation for each component to understand the implementation details, configuration options, and best practices for deployment and development.
73+
Use these pages to drill into specific subsystems once you customize the template for your own project.

0 commit comments

Comments
 (0)