Contributing to Siemens Industrial Experience Docs
October 21, 2025 ยท View on GitHub
Thank you for your interest in contributing! This documentation site supports the Siemens Industrial Experience (IX) design system. We welcome improvements to docs, blog posts, scripts, and plugins.
๐ Table of Contents
- Prerequisites
- How to Contribute
- Getting Started
- Development Workflows
- Pull Request Process
- Code of Conduct
- Additional Resources
Prerequisites
Before contributing, ensure you have the required tokens and permissions:
GitHub Token
A valid GITHUB_TOKEN is required to build or start the documentation site (pnpm start / pnpm build). This token accesses artifacts from the siemens/ix repository, which contains the source code and example implementations that are downloaded during the build process to provide live code examples and previews in the documentation.
Important for Contributors:
- Examples (code and preview) are automatically provided via artifacts from the siemens/ix repository during the start and build process
- If your contribution depends on new or updated examples from the
siemens/ixrepo, those changes must be merged into the main branch ofsiemens/ixbefore your documentation PR can be built and reviewed. - Non-maintainers should ensure their example changes are accepted upstream first, then reference them in their documentation PR here.
Figma API Token (Optional)
For updating Figma design assets, you'll need a FIGMA_API_TOKEN with appropriate permissions.
Environment Setup
Create a .env file in the project root with the required tokens:
GITHUB_TOKEN=your-github-token-here
FIGMA_API_TOKEN=your-figma-api-token-here # Optional, only for Figma updates
How to Contribute
There are several ways to contribute to this project:
- ๐ Report Issues: Use GitHub Issues for bugs, suggestions, or feature requests.
- ๐ Improve Documentation: Spot errors or outdated info? Please update and submit corrections.
- ๐ Add Blog Posts: Share insights, tutorials, or announcements via blog posts.
- ๐ง Enhance Scripts/Plugins: Improve tooling in
scripts/orplugins/directories. - ๐ก Share Examples: Add use cases or demos to help others.
Getting Started
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/ix-docs.git cd ix-docs - Install dependencies:
pnpm install - Set up environment (see Prerequisites for token setup).
- Create a branch for your changes:
git checkout -b my-feature-branch - Make your changes following the patterns below.
Development Workflows
Documentation Changes
- Edit or add Markdown files in
docs/ - Component docs follow this structure:
docs/components/[component-name]/index.md- Basic headline informationdocs/components/[component-name]/guide.md- Design system usage and guidelinesdocs/components/[component-name]/code.mdx- Development examples and APIs
- Test locally:
pnpm start
Blog Posts
- Create
blog/YYYY-MM-DD-title/index.mdwith images in the same folder - Follow existing post structure and frontmatter
Scripts and Plugins
- Update files in
scripts/orplugins/as needed - Test changes with
pnpm buildandpnpm start
Testing Your Changes
- Build:
pnpm build - Local dev:
pnpm start(serves at http://localhost:3000) - Lint:
pnpm lint
Updating Figma Images
If you need to refresh Figma design assets:
-
Ensure you have a valid
FIGMA_API_TOKENin your.envfile (see Prerequisites). -
Update all Figma images in Markdown files:
pnpm update-figma '**/*.md?(x)' -
Or update specific files:
pnpm update-figma 'docs/components/button/guide.md' -
Commit the updated images and references as part of your PR.
The script downloads new images and replaces outdated ones in the static/figma/ directory based on Figma asset references in your docs.
Pull Request Process
-
Prepare your changes:
- Ensure your changes build successfully (
pnpm build) - Test locally with
pnpm start - Run linting (
pnpm lint)
- Ensure your changes build successfully (
-
Commit and push:
git add . git commit -m "Clear description of your changes" git push origin my-feature-branch -
Open a Pull Request on GitHub:
- Clearly describe your changes in the PR description
- Reference related issues (e.g.,
Closes #123) - For major changes, discuss via an issue first
-
Review process:
- Respond to review feedback promptly
- Make requested changes and push updates
- Your PR will be merged once approved
Code of Conduct
Please read and follow our Code of Conduct to ensure a welcoming environment for all contributors.
Additional Resources
- README.md: Project overview & setup instructions
- MAINTAINERS.md: Maintainer contact information
- SECURITY.md: Security policies and reporting
- CODE_OF_CONDUCT.md: Community guidelines
For troubleshooting Figma integration or advanced usage, see the comments in plugins/figma-pictures/figma.ts and related scripts.