|
4 | 4 |
|
5 | 5 | <div align="center"> |
6 | 6 | <h3>👋 Welcome to Framna Docs</h3> |
7 | | -<h4>Self-hosted web portal that centralizes OpenAPI documentation and facilitates spec-driven development, built with GitHub-based authorization.</h4> |
| 7 | +<h4>Self-hosted web portal that centralizes OpenAPI documentation and facilitates spec-driven development, with support for GitHub and Azure DevOps.</h4> |
8 | 8 | </div> |
9 | 9 |
|
10 | 10 | <div align="center"> |
@@ -54,16 +54,44 @@ brew install oasdiff |
54 | 54 |
|
55 | 55 | ## 👨🔧 How does it work? |
56 | 56 |
|
57 | | -Framna Docs uses [OpenAPI specifications](https://swagger.io) from GitHub repositories. Users log in with their GitHub account to access documentation for projects they have access to. A repository only needs an OpenAPI spec to be recognized by Framna Docs, but customization is possible with a .framna-docs.yml file. Here's an example: |
| 57 | +Framna Docs uses [OpenAPI specifications](https://swagger.io) from GitHub or Azure DevOps repositories. Users log in with their GitHub or Microsoft Entra ID account (depending on the configured provider) to access documentation for projects they have access to. A repository only needs an OpenAPI spec to be recognized by Framna Docs, but customization is possible with a .framna-docs.yml file. Here's an example: |
58 | 58 |
|
59 | 59 | <img width="650" src="https://github.com/shapehq/framna-docs/raw/main/wiki/example-openapi-repository-with-config.png?raw=true"/> |
60 | 60 |
|
61 | | -Framna Docs supports spec-driven development by requiring OpenAPI specs in GitHub repos, ensuring version control and peer review. When a pull request is opened, Framna Docs comments with links to preview the documentation: |
| 61 | +Framna Docs supports spec-driven development by requiring OpenAPI specs in version-controlled repositories, ensuring peer review. When using GitHub, Framna Docs comments on pull requests with links to preview the documentation: |
62 | 62 |
|
63 | 63 | <img width="760" src="https://github.com/shapehq/framna-docs/raw/main/wiki/pr-comment.png?raw=true"/> |
64 | 64 |
|
65 | 65 | Learn more from the [Adding Documentation](https://github.com/shapehq/framna-docs/wiki/Adding-Documentation-to-Framna-Docs), [Browsing Documentation](https://github.com/shapehq/framna-docs/wiki/Browsing-Documentation), and [Updating Documentation](https://github.com/shapehq/framna-docs/wiki/Updating-Documentation) articles in the wiki. |
66 | 66 |
|
| 67 | +### Provider Configuration |
| 68 | + |
| 69 | +Framna Docs supports two project source providers: **GitHub** (default) and **Azure DevOps**. Set the `PROJECT_SOURCE_PROVIDER` environment variable to choose your provider. |
| 70 | + |
| 71 | +#### GitHub (default) |
| 72 | + |
| 73 | +```bash |
| 74 | +PROJECT_SOURCE_PROVIDER=github |
| 75 | +GITHUB_CLIENT_ID=... |
| 76 | +GITHUB_CLIENT_SECRET=... |
| 77 | +GITHUB_APP_ID=... |
| 78 | +GITHUB_PRIVATE_KEY_BASE_64=... |
| 79 | +``` |
| 80 | + |
| 81 | +#### Azure DevOps |
| 82 | + |
| 83 | +Azure DevOps uses Microsoft Entra ID (formerly Azure AD) for authentication: |
| 84 | + |
| 85 | +```bash |
| 86 | +PROJECT_SOURCE_PROVIDER=azure-devops |
| 87 | +AZURE_ENTRA_ID_CLIENT_ID=... |
| 88 | +AZURE_ENTRA_ID_CLIENT_SECRET=... |
| 89 | +AZURE_ENTRA_ID_TENANT_ID=... |
| 90 | +AZURE_DEVOPS_ORGANIZATION=your-organization |
| 91 | +``` |
| 92 | + |
| 93 | +See `.env.example` for a full list of configuration options. |
| 94 | + |
67 | 95 | ## 👩💻 How can I contribute? |
68 | 96 |
|
69 | 97 | Pull requests with bugfixes and new features are much appreciated. We are happy to review PRs and merge them once they are ready, as long as they contain changes that fit within the vision of Framna Docs. |
|
0 commit comments