diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 498e2e37a..0ec992096 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -38,6 +38,14 @@ export default withMermaid( description: 'Edge computing for ad serving, consent signal handling, and edge cookie (EC) generation', base: '/trusted-server', + srcExclude: [ + 'superpowers/**', + 'internal/**', + 'epics/**', + 'guide/onboarding.md', + 'README.md', + 'business-use-cases.md', + ], // Replace version placeholders like {{NODEJS_VERSION}} with values from .tool-versions markdown: { @@ -58,8 +66,7 @@ export default withMermaid( // https://vitepress.dev/reference/default-theme-config nav: [ { text: 'Home', link: '/' }, - { text: 'Guide', link: '/guide/getting-started' }, - { text: 'Business Value', link: '/business-use-cases' }, + { text: 'Guide', link: '/guide/' }, { text: 'Roadmap', link: '/roadmap' }, ], diff --git a/docs/guide/index.md b/docs/guide/index.md index e69de29bb..8a2c00d04 100644 --- a/docs/guide/index.md +++ b/docs/guide/index.md @@ -0,0 +1,30 @@ +# Guide + +Use these guides to understand Trusted Server, configure a deployment, and +contribute to the project. + +## Start here + +- [What is Trusted Server?](/guide/what-is-trusted-server) +- [Getting Started](/guide/getting-started) + +## Core concepts + +- [Edge Cookies](/guide/edge-cookies) +- [GDPR Compliance](/guide/gdpr-compliance) +- [Ad Serving](/guide/ad-serving) +- [First-Party Proxy](/guide/first-party-proxy) +- [Asset Routes](/guide/asset-routes) + +## Development + +- [Architecture](/guide/architecture) +- [Configuration](/guide/configuration) +- [CLI](/guide/cli) +- [Testing](/guide/testing) +- [Integration Guide](/guide/integration-guide) + +## Reference + +- [API Reference](/guide/api-reference) +- [Error Reference](/guide/error-reference) diff --git a/docs/guide/onboarding.md b/docs/guide/onboarding.md deleted file mode 100644 index 5d4d5b32a..000000000 --- a/docs/guide/onboarding.md +++ /dev/null @@ -1,160 +0,0 @@ -# New Engineer Onboarding Guide - -This document is intended for internal onboarding. For public setup steps, start with -[Getting Started](/guide/getting-started). For test commands and workflows, use the -[Testing guide](/guide/testing). - -Welcome to the Trusted Server project! This guide keeps internal onboarding notes concise and links out to the canonical docs. - -## Table of Contents - -1. [Start Here](#start-here) -2. [Local Setup Notes](#local-setup-notes) -3. [Codebase Pointers](#codebase-pointers) -4. [Development Workflow](#development-workflow) -5. [Debugging & Troubleshooting](#debugging--troubleshooting) -6. [Team & Governance](#team--governance) -7. [Resources & Getting Help](#resources--getting-help) -8. [Onboarding Checklist](#onboarding-checklist) - ---- - -## Start Here - -- Product overview: [What is Trusted Server](/guide/what-is-trusted-server) -- System design: [Architecture](/guide/architecture) -- Setup and deploy: [Getting Started](/guide/getting-started) and [Fastly Setup](/guide/fastly) -- Configure features: [Configuration](/guide/configuration) (see the Detailed Reference section) -- Testing workflow: [Testing guide](/guide/testing) -- Integrations: [Integrations Overview](/guide/integrations-overview) and [Integration Guide](/guide/integration-guide) - -## Local Setup Notes - -- Tool versions live in `.tool-versions` (use asdf or your preferred version manager). -- For docs site development, see `docs/README.md`. - -## Codebase Pointers - -| File | Purpose | -| --------------------------------------------------------- | -------------------------------- | -| `crates/trusted-server-adapter-fastly/src/main.rs` | Request routing entry point | -| `crates/trusted-server-core/src/publisher.rs` | Publisher origin handling | -| `crates/trusted-server-core/src/proxy.rs` | First-party proxy implementation | -| `crates/trusted-server-core/src/ec/` | EC identity subsystem | -| `crates/trusted-server-core/src/integrations/registry.rs` | Integration module pattern | -| `trusted-server.toml` | Application configuration | - -## Development Workflow - -- Contribution process: [CONTRIBUTING.md](https://github.com/IABTechLab/trusted-server/blob/main/CONTRIBUTING.md) -- Adding integrations: [Integration Guide](/guide/integration-guide) -- Request flows: [SEQUENCE.md](https://github.com/IABTechLab/trusted-server/blob/main/SEQUENCE.md) - -## Debugging & Troubleshooting - -- [Error Reference](/guide/error-reference) -- [Testing guide](/guide/testing) -- [Fastly Setup](/guide/fastly) (local simulator notes) - ---- - -## Team & Governance - -### Project Structure - -The project follows IAB Tech Lab's open-source governance model: - -- **Trusted Server Task Force**: Defines requirements and roadmap (meets biweekly) -- **Development Team**: Handles engineering implementation and releases - -### Team Roles - -| Role | Responsibility | -| ------------ | ------------------------------------ | -| Project Lead | Overall project vision and direction | -| Developer | Contributes code/docs | - -See [ProjectGovernance.md](https://github.com/IABTechLab/trusted-server/blob/main/ProjectGovernance.md) for full details. - -### Key Contacts - -| Role | GitHub Handle | -| ------------ | ------------------------------------------------------------ | -| Project Lead | [@jevansnyc](https://github.com/jevansnyc) | -| Developer | [@aram356](https://github.com/aram356) | -| Developer | [@ChristianPavilonis](https://github.com/ChristianPavilonis) | - -### Meetings - - - -- **Task Force Meeting**: Biweekly (check calendar for schedule) -- **Development Team Standup**: Weekly (check calendar for schedule) - -Ask your manager or onboarding buddy for calendar invites to relevant meetings. - ---- - -## Resources & Getting Help - -### Documentation - -| Resource | Description | -| ----------------------------------------------------------------------------------------- | ------------------------------------------- | -| [README.md](https://github.com/IABTechLab/trusted-server/blob/main/README.md) | Project overview and setup | -| [CONTRIBUTING.md](https://github.com/IABTechLab/trusted-server/blob/main/CONTRIBUTING.md) | Contribution guidelines | -| [CLAUDE.md](https://github.com/IABTechLab/trusted-server/blob/main/CLAUDE.md) | AI agent conventions and project guidelines | -| [SEQUENCE.md](https://github.com/IABTechLab/trusted-server/blob/main/SEQUENCE.md) | Request flow diagrams | -| [FAQ_POC.md](https://github.com/IABTechLab/trusted-server/blob/main/FAQ_POC.md) | Frequently asked questions | - -For docs site development, see `docs/README.md`. - -### Getting Help - -- **GitHub Issues**: For bugs, feature requests, and questions -- **Task Force Meetings**: Biweekly meetings for roadmap discussions -- **Code Review**: Submit PRs for feedback from maintainers - -### External Resources - -- [Fastly Compute Documentation](https://developer.fastly.com/learning/compute/) -- [Rust Book](https://doc.rust-lang.org/book/) -- [WebAssembly Overview](https://webassembly.org/) -- [OpenRTB Specification](https://iabtechlab.com/standards/openrtb/) - ---- - -## Onboarding Checklist - -Use this checklist to track your onboarding progress: - -### Access & Accounts - -- [ ] Get GitHub access to [IABTechLab/trusted-server](https://github.com/IABTechLab/trusted-server) -- [ ] Get access to the [Trusted Server project board](https://github.com/orgs/IABTechLab/projects/3) -- [ ] Create a [Fastly account](https://manage.fastly.com) and obtain an API token -- [ ] Join the Slack workspace and `#trusted-server-internal` channel -- [ ] Get calendar invites for Task Force and Development Team meetings - -### Environment Setup - -- [ ] Complete the setup steps in [Getting Started](/guide/getting-started) -- [ ] Run the test flow in the [Testing guide](/guide/testing) -- [ ] Start the local server (see [Getting Started](/guide/getting-started)) - -### Codebase Exploration - -- [ ] Read through `main.rs` to understand request routing -- [ ] Trace a request through `publisher.rs` and `proxy.rs` -- [ ] Understand the EC identity subsystem in `ec/` -- [ ] Review an existing integration (e.g., `prebid.rs`) - -### Documentation & Contribution - -- [ ] Read `CONTRIBUTING.md` for PR guidelines -- [ ] Browse the [documentation site guides](/guide/getting-started) -- [ ] Make a small contribution (fix a typo, add a test, etc.) - ---- - -Welcome aboard! Don't hesitate to ask questions - we're here to help you succeed. diff --git a/docs/internal/onboarding.md b/docs/internal/onboarding.md new file mode 100644 index 000000000..7a84844e7 --- /dev/null +++ b/docs/internal/onboarding.md @@ -0,0 +1,42 @@ +# Maintainer Onboarding + +This document collects public repository and setup pointers for maintainers. +For project usage, start with the public guides. + +## Start here + +- [What is Trusted Server?](../guide/what-is-trusted-server.md) +- [Architecture](../guide/architecture.md) +- [Getting Started](../guide/getting-started.md) +- [Configuration](../guide/configuration.md) +- [Testing](../guide/testing.md) +- [Integrations Overview](../guide/integrations-overview.md) +- [Integration Guide](../guide/integration-guide.md) + +## Local setup + +- Tool versions are defined in `.tool-versions`. +- Documentation development instructions are in `docs/README.md`. +- Contribution requirements are in + [CONTRIBUTING.md](https://github.com/IABTechLab/trusted-server/blob/main/CONTRIBUTING.md). + +## Codebase pointers + +| Path | Purpose | +| --------------------------------------------------------- | --------------------------------- | +| `crates/trusted-server-adapter-fastly/src/main.rs` | Request routing entry point | +| `crates/trusted-server-core/src/publisher.rs` | Publisher origin handling | +| `crates/trusted-server-core/src/proxy.rs` | First-party proxy implementation | +| `crates/trusted-server-core/src/ec/` | EC identity subsystem | +| `crates/trusted-server-core/src/integrations/registry.rs` | Integration module registry | +| `trusted-server.example.toml` | Example application configuration | + +## Development workflow + +- Follow [CONTRIBUTING.md](https://github.com/IABTechLab/trusted-server/blob/main/CONTRIBUTING.md) + when preparing changes. +- Use the [Testing guide](../guide/testing.md) for test commands. +- Use the [Integration Guide](../guide/integration-guide.md) when adding an + integration. +- Report bugs and request changes through the repository's public + [GitHub issues](https://github.com/IABTechLab/trusted-server/issues).