diff --git a/.github/workflows/check-prdoc.yml b/.github/workflows/check-prdoc.yml
index d5cb88a4255f..f47404744a49 100644
--- a/.github/workflows/check-prdoc.yml
+++ b/.github/workflows/check-prdoc.yml
@@ -12,7 +12,7 @@ env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_PR: ${{ github.event.pull_request.number }}
ENGINE: docker
- PRDOC_DOC: https://github.com/paritytech/polkadot-sdk/blob/master/docs/prdoc.md
+ PRDOC_DOC: https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/prdoc.md
jobs:
check-prdoc:
diff --git a/.gitignore b/.gitignore
index 581c417cb854..2f1631fb4b9d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,6 +29,7 @@ bin/node-template/Cargo.lock
nohup.out
polkadot_argument_parsing
polkadot.*
+!docs/sdk/src/polkadot_sdk/polkadot.rs
pwasm-alloc/Cargo.lock
pwasm-libc/Cargo.lock
release-artifacts
diff --git a/.gitlab/pipeline/build.yml b/.gitlab/pipeline/build.yml
index d6918173d493..377236193cc5 100644
--- a/.gitlab/pipeline/build.yml
+++ b/.gitlab/pipeline/build.yml
@@ -125,7 +125,7 @@ build-rustdoc:
find "$path" -name '*.html' | xargs -I {} -P "$(nproc)" bash -c 'process_file "$@"' _ {}
}
inject_simple_analytics "./crate-docs"
- - echo "" > ./crate-docs/index.html
+ - echo "" > ./crate-docs/index.html
build-implementers-guide:
stage: build
diff --git a/.gitlab/pipeline/test.yml b/.gitlab/pipeline/test.yml
index 265b378ef5bd..f6dad887a68d 100644
--- a/.gitlab/pipeline/test.yml
+++ b/.gitlab/pipeline/test.yml
@@ -313,7 +313,7 @@ node-bench-regression-guard:
after_script: [""]
# if this fails run `bot update-ui` in the Pull Request or "./scripts/update-ui-tests.sh" locally
-# see ./docs/CONTRIBUTING.md#ui-tests
+# see ./docs/contributor/CONTRIBUTING.md#ui-tests
test-frame-ui:
stage: test
extends:
diff --git a/Cargo.lock b/Cargo.lock
index bbaa3d053a30..be4db2ca6264 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -4383,45 +4383,6 @@ dependencies = [
"syn 1.0.109",
]
-[[package]]
-name = "developer-hub"
-version = "0.0.1"
-dependencies = [
- "cumulus-pallet-aura-ext",
- "cumulus-pallet-parachain-system",
- "docify",
- "frame",
- "kitchensink-runtime",
- "pallet-aura",
- "pallet-default-config-example",
- "pallet-examples",
- "pallet-timestamp",
- "parity-scale-codec",
- "sc-cli",
- "sc-client-db",
- "sc-consensus-aura",
- "sc-consensus-babe",
- "sc-consensus-beefy",
- "sc-consensus-grandpa",
- "sc-consensus-manual-seal",
- "sc-consensus-pow",
- "sc-network",
- "sc-rpc",
- "sc-rpc-api",
- "scale-info",
- "simple-mermaid 0.1.0 (git+https://github.com/kianenigma/simple-mermaid.git?branch=main)",
- "sp-api",
- "sp-core",
- "sp-io",
- "sp-keyring",
- "sp-runtime",
- "staging-chain-spec-builder",
- "staging-node-cli",
- "staging-parachain-info",
- "subkey",
- "substrate-wasm-builder",
-]
-
[[package]]
name = "diff"
version = "0.1.13"
@@ -13013,6 +12974,45 @@ dependencies = [
"thousands",
]
+[[package]]
+name = "polkadot-sdk-docs"
+version = "0.0.1"
+dependencies = [
+ "cumulus-pallet-aura-ext",
+ "cumulus-pallet-parachain-system",
+ "docify",
+ "frame",
+ "kitchensink-runtime",
+ "pallet-aura",
+ "pallet-default-config-example",
+ "pallet-examples",
+ "pallet-timestamp",
+ "parity-scale-codec",
+ "sc-cli",
+ "sc-client-db",
+ "sc-consensus-aura",
+ "sc-consensus-babe",
+ "sc-consensus-beefy",
+ "sc-consensus-grandpa",
+ "sc-consensus-manual-seal",
+ "sc-consensus-pow",
+ "sc-network",
+ "sc-rpc",
+ "sc-rpc-api",
+ "scale-info",
+ "simple-mermaid 0.1.0 (git+https://github.com/kianenigma/simple-mermaid.git?branch=main)",
+ "sp-api",
+ "sp-core",
+ "sp-io",
+ "sp-keyring",
+ "sp-runtime",
+ "staging-chain-spec-builder",
+ "staging-node-cli",
+ "staging-parachain-info",
+ "subkey",
+ "substrate-wasm-builder",
+]
+
[[package]]
name = "polkadot-service"
version = "1.0.0"
diff --git a/Cargo.toml b/Cargo.toml
index 5fb7c0f2315b..b694afb3f5e4 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -106,7 +106,7 @@ members = [
"cumulus/test/runtime",
"cumulus/test/service",
"cumulus/xcm/xcm-emulator",
- "developer-hub",
+ "docs/sdk",
"polkadot",
"polkadot/cli",
"polkadot/core-primitives",
diff --git a/README.md b/README.md
index 56b3481bafc0..1f255823b5b6 100644
--- a/README.md
+++ b/README.md
@@ -46,12 +46,12 @@ Below are the primary upstream dependencies utilized in this project:
## Security
-The security policy and procedures can be found in [docs/SECURITY.md](./docs/SECURITY.md).
+The security policy and procedures can be found in [docs/contributor/SECURITY.md](./docs/contributor/SECURITY.md).
## Contributing & Code of Conduct
-Ensure you follow our [contribution guidelines](./docs/CONTRIBUTING.md). In every interaction and contribution, this
-project adheres to the [Contributor Covenant Code of Conduct](./docs/CODE_OF_CONDUCT.md).
+Ensure you follow our [contribution guidelines](./docs/contributor/CONTRIBUTING.md). In every interaction and
+contribution, this project adheres to the [Contributor Covenant Code of Conduct](./docs/contributor/CODE_OF_CONDUCT.md).
## Additional Resources
diff --git a/cumulus/README.md b/cumulus/README.md
index 6acbf6dc2ca2..7e145ad7b4ab 100644
--- a/cumulus/README.md
+++ b/cumulus/README.md
@@ -4,7 +4,7 @@
This repository contains both the Cumulus SDK and also specific chains implemented on top of this SDK.
-If you only want to run a **Polkadot Parachain Node**, check out our [container section](./docs/container.md).
+If you only want to run a **Polkadot Parachain Node**, check out our [container section](./docs/contributor/container.md).
## Cumulus SDK
@@ -34,7 +34,7 @@ A Polkadot [collator](https://wiki.polkadot.network/docs/en/learn-collator) for
`polkadot-parachain` binary (previously called `polkadot-collator`).
You may run `polkadot-parachain` locally after building it or using one of the container option described
-[here](./docs/container.md).
+[here](./docs/contributor/container.md).
### Relay Chain Interaction
To operate a parachain node, a connection to the corresponding relay chain is necessary. This can be achieved in one of
@@ -242,7 +242,7 @@ Once the executable is built, launch collators for each parachain (repeat once e
./target/release/polkadot-parachain --chain $CHAIN --validator
```
-You can also build [using a container](./docs/container.md).
+You can also build [using a container](./docs/contributor/container.md).
### Parachains
diff --git a/developer-hub/Cargo.toml b/developer-hub/Cargo.toml
deleted file mode 100644
index 56f279c7e107..000000000000
--- a/developer-hub/Cargo.toml
+++ /dev/null
@@ -1,66 +0,0 @@
-[package]
-name = "developer-hub"
-description = "The one stop shop for developers of the polakdot-sdk"
-license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
-homepage = "paritytech.github.io"
-repository.workspace = true
-authors.workspace = true
-edition.workspace = true
-# This crate is not publish-able to crates.io for now because of docify.
-publish = false
-version = "0.0.1"
-
-[dependencies]
-# Needed for all FRAME-based code
-parity-scale-codec = { version = "3.0.0", default-features = false }
-scale-info = { version = "2.6.0", default-features = false }
-frame = { path = "../substrate/frame", features = ["experimental", "runtime"] }
-pallet-examples = { path = "../substrate/frame/examples" }
-pallet-default-config-example = { path = "../substrate/frame/examples/default-config" }
-
-# How we build docs in rust-docs
-simple-mermaid = { git = "https://github.com/kianenigma/simple-mermaid.git", branch = "main" }
-docify = "0.2.6"
-
-# Polkadot SDK deps, typically all should only be scope such that we can link to their doc item.
-node-cli = { package = "staging-node-cli", path = "../substrate/bin/node/cli" }
-kitchensink-runtime = { path = "../substrate/bin/node/runtime" }
-chain-spec-builder = { package = "staging-chain-spec-builder", path = "../substrate/bin/utils/chain-spec-builder" }
-subkey = { path = "../substrate/bin/utils/subkey" }
-
-# Substrate
-sc-network = { path = "../substrate/client/network" }
-sc-rpc-api = { path = "../substrate/client/rpc-api" }
-sc-rpc = { path = "../substrate/client/rpc" }
-sc-client-db = { path = "../substrate/client/db" }
-sc-cli = { path = "../substrate/client/cli" }
-sc-consensus-aura = { path = "../substrate/client/consensus/aura" }
-sc-consensus-babe = { path = "../substrate/client/consensus/babe" }
-sc-consensus-grandpa = { path = "../substrate/client/consensus/grandpa" }
-sc-consensus-beefy = { path = "../substrate/client/consensus/beefy" }
-sc-consensus-manual-seal = { path = "../substrate/client/consensus/manual-seal" }
-sc-consensus-pow = { path = "../substrate/client/consensus/pow" }
-substrate-wasm-builder = { path = "../substrate/utils/wasm-builder" }
-
-# Cumulus
-cumulus-pallet-aura-ext = { path = "../cumulus/pallets/aura-ext" }
-cumulus-pallet-parachain-system = { path = "../cumulus/pallets/parachain-system", features = [
- "parameterized-consensus-hook",
-] }
-parachain-info = { package = "staging-parachain-info", path = "../cumulus/parachains/pallets/parachain-info" }
-pallet-aura = { path = "../substrate/frame/aura", default-features = false }
-pallet-timestamp = { path = "../substrate/frame/timestamp" }
-
-# Primitives
-sp-io = { path = "../substrate/primitives/io" }
-sp-api = { path = "../substrate/primitives/api" }
-sp-core = { path = "../substrate/primitives/core" }
-sp-keyring = { path = "../substrate/primitives/keyring" }
-sp-runtime = { path = "../substrate/primitives/runtime" }
-
-[dev-dependencies]
-parity-scale-codec = "3.6.5"
-scale-info = "2.9.0"
-
-[features]
-experimental = ["pallet-aura/experimental"]
diff --git a/docs/CODE_OF_CONDUCT.md b/docs/contributor/CODE_OF_CONDUCT.md
similarity index 100%
rename from docs/CODE_OF_CONDUCT.md
rename to docs/contributor/CODE_OF_CONDUCT.md
diff --git a/docs/CONTRIBUTING.md b/docs/contributor/CONTRIBUTING.md
similarity index 100%
rename from docs/CONTRIBUTING.md
rename to docs/contributor/CONTRIBUTING.md
diff --git a/docs/DEPRECATION_CHECKLIST.md b/docs/contributor/DEPRECATION_CHECKLIST.md
similarity index 98%
rename from docs/DEPRECATION_CHECKLIST.md
rename to docs/contributor/DEPRECATION_CHECKLIST.md
index fccf93d22737..ffb99e1ec3f7 100644
--- a/docs/DEPRECATION_CHECKLIST.md
+++ b/docs/contributor/DEPRECATION_CHECKLIST.md
@@ -45,7 +45,7 @@ We also need [https://docs.substrate.io/](https://docs.substrate.io/) to be upda
## Announce the deprecation and removal
-**At minimum they should be noted in the release log.** Please see how to document a PR [here](https://github.com/paritytech/polkadot-sdk/blob/master/docs/CONTRIBUTING.md#documentation).
+**At minimum they should be noted in the release log.** Please see how to document a PR [here](https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md#documentation).
There you can give instructions based on the audience and tell them what they need to do to upgrade the code.
Some breaking changes have a bigger impact than others. When the impact is big the release note is not enough, though
diff --git a/docs/DOCUMENTATION_GUIDELINES.md b/docs/contributor/DOCUMENTATION_GUIDELINES.md
similarity index 100%
rename from docs/DOCUMENTATION_GUIDELINES.md
rename to docs/contributor/DOCUMENTATION_GUIDELINES.md
diff --git a/docs/PULL_REQUEST_TEMPLATE.md b/docs/contributor/PULL_REQUEST_TEMPLATE.md
similarity index 96%
rename from docs/PULL_REQUEST_TEMPLATE.md
rename to docs/contributor/PULL_REQUEST_TEMPLATE.md
index c93ac90c7e32..79a036a235ad 100644
--- a/docs/PULL_REQUEST_TEMPLATE.md
+++ b/docs/contributor/PULL_REQUEST_TEMPLATE.md
@@ -3,7 +3,7 @@
✄ -----------------------------------------------------------------------------
Thank you for your Pull Request! 🙏 Please make sure it follows the contribution guidelines outlined in
-[this document](https://github.com/paritytech/polkadot-sdk/blob/master/docs/CONTRIBUTING.md) and fill
+[this document](https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md) and fill
out the sections below. Once you're ready to submit your PR for review, please
delete this section and leave only the text under the "Description" heading.
diff --git a/docs/SECURITY.md b/docs/contributor/SECURITY.md
similarity index 100%
rename from docs/SECURITY.md
rename to docs/contributor/SECURITY.md
diff --git a/docs/STYLE_GUIDE.md b/docs/contributor/STYLE_GUIDE.md
similarity index 100%
rename from docs/STYLE_GUIDE.md
rename to docs/contributor/STYLE_GUIDE.md
diff --git a/docs/container.md b/docs/contributor/container.md
similarity index 100%
rename from docs/container.md
rename to docs/contributor/container.md
diff --git a/docs/docker.md b/docs/contributor/docker.md
similarity index 100%
rename from docs/docker.md
rename to docs/contributor/docker.md
diff --git a/docs/markdown_linting.md b/docs/contributor/markdown_linting.md
similarity index 100%
rename from docs/markdown_linting.md
rename to docs/contributor/markdown_linting.md
diff --git a/docs/prdoc.md b/docs/contributor/prdoc.md
similarity index 100%
rename from docs/prdoc.md
rename to docs/contributor/prdoc.md
diff --git a/docs/mermaid/IA.mmd b/docs/mermaid/IA.mmd
index 8fcb74fa0a91..93d3e92814cf 100644
--- a/docs/mermaid/IA.mmd
+++ b/docs/mermaid/IA.mmd
@@ -1,5 +1,5 @@
flowchart
- parity[paritytech.github.io] --> devhub[developer_hub]
+ parity[paritytech.github.io] --> devhub[polkadot_sdk_docs]
devhub --> polkadot_sdk
devhub --> reference_docs
diff --git a/docs/sdk/Cargo.toml b/docs/sdk/Cargo.toml
new file mode 100644
index 000000000000..f5bfd80fd10d
--- /dev/null
+++ b/docs/sdk/Cargo.toml
@@ -0,0 +1,66 @@
+[package]
+name = "polkadot-sdk-docs"
+description = "The one stop shop for developers of the polakdot-sdk"
+license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
+homepage = "paritytech.github.io"
+repository.workspace = true
+authors.workspace = true
+edition.workspace = true
+# This crate is not publish-able to crates.io for now because of docify.
+publish = false
+version = "0.0.1"
+
+[dependencies]
+# Needed for all FRAME-based code
+parity-scale-codec = { version = "3.0.0", default-features = false }
+scale-info = { version = "2.6.0", default-features = false }
+frame = { path = "../../substrate/frame", features = ["experimental", "runtime"] }
+pallet-examples = { path = "../../substrate/frame/examples" }
+pallet-default-config-example = { path = "../../substrate/frame/examples/default-config" }
+
+# How we build docs in rust-docs
+simple-mermaid = { git = "https://github.com/kianenigma/simple-mermaid.git", branch = "main" }
+docify = "0.2.6"
+
+# Polkadot SDK deps, typically all should only be scope such that we can link to their doc item.
+node-cli = { package = "staging-node-cli", path = "../../substrate/bin/node/cli" }
+kitchensink-runtime = { path = "../../substrate/bin/node/runtime" }
+chain-spec-builder = { package = "staging-chain-spec-builder", path = "../../substrate/bin/utils/chain-spec-builder" }
+subkey = { path = "../../substrate/bin/utils/subkey" }
+
+# Substrate
+sc-network = { path = "../../substrate/client/network" }
+sc-rpc-api = { path = "../../substrate/client/rpc-api" }
+sc-rpc = { path = "../../substrate/client/rpc" }
+sc-client-db = { path = "../../substrate/client/db" }
+sc-cli = { path = "../../substrate/client/cli" }
+sc-consensus-aura = { path = "../../substrate/client/consensus/aura" }
+sc-consensus-babe = { path = "../../substrate/client/consensus/babe" }
+sc-consensus-grandpa = { path = "../../substrate/client/consensus/grandpa" }
+sc-consensus-beefy = { path = "../../substrate/client/consensus/beefy" }
+sc-consensus-manual-seal = { path = "../../substrate/client/consensus/manual-seal" }
+sc-consensus-pow = { path = "../../substrate/client/consensus/pow" }
+substrate-wasm-builder = { path = "../../substrate/utils/wasm-builder" }
+
+# Cumulus
+cumulus-pallet-aura-ext = { path = "../../cumulus/pallets/aura-ext" }
+cumulus-pallet-parachain-system = { path = "../../cumulus/pallets/parachain-system", features = [
+ "parameterized-consensus-hook",
+] }
+parachain-info = { package = "staging-parachain-info", path = "../../cumulus/parachains/pallets/parachain-info" }
+pallet-aura = { path = "../../substrate/frame/aura", default-features = false }
+pallet-timestamp = { path = "../../substrate/frame/timestamp" }
+
+# Primitives
+sp-io = { path = "../../substrate/primitives/io" }
+sp-api = { path = "../../substrate/primitives/api" }
+sp-core = { path = "../../substrate/primitives/core" }
+sp-keyring = { path = "../../substrate/primitives/keyring" }
+sp-runtime = { path = "../../substrate/primitives/runtime" }
+
+[dev-dependencies]
+parity-scale-codec = "3.6.5"
+scale-info = "2.9.0"
+
+[features]
+experimental = ["pallet-aura/experimental"]
diff --git a/developer-hub/headers/toc.html b/docs/sdk/headers/toc.html
similarity index 82%
rename from developer-hub/headers/toc.html
rename to docs/sdk/headers/toc.html
index d4d017eb207a..a4a074cb4f31 100644
--- a/developer-hub/headers/toc.html
+++ b/docs/sdk/headers/toc.html
@@ -1,15 +1,15 @@