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.
- Prerequisites
- How to Contribute
- Getting Started
- Development Workflows
- Pull Request Process
- Code of Conduct
- Additional Resources
Before contributing, ensure you have the required tokens and permissions:
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.
For updating Figma design assets, you'll need a FIGMA_API_TOKEN with appropriate permissions.
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 updatesThere 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.
- 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.
- 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
- Create
blog/YYYY-MM-DD-title/index.mdwith images in the same folder - Follow existing post structure and frontmatter
- Update files in
scripts/orplugins/as needed - Test changes with
pnpm buildandpnpm start
- Build:
pnpm build - Local dev:
pnpm start(serves at http://localhost:3000) - Lint:
pnpm lint
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.
-
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
Please read and follow our Code of Conduct to ensure a welcoming environment for all contributors.
- 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.