Skip to content

Latest commit

Β 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š Devalltect Docs β€” Developer and DevOps Documentation Portal

GitHub Pages CI Docker Validation Documentation Docusaurus Yarn Node.js Docker License: MIT Locales

A unified Docusaurus portal for Devalltect developer and DevOps tools. It provides shared navigation, reusable documentation components, English and Indonesian locale support, and a validated GitHub Pages deployment.

Public documentation: devalltect00.github.io/devalltect-docs

ℹ️ Project Metadata

Property Value
Project Devalltect Docs
Release line v1.0.0
Site generator Docusaurus 3.10.1
Runtime Node.js 20+
Package manager Yarn 4.18.0
Supported locales English (en) and Bahasa Indonesia (id)
Deployment targets GitHub Pages and GitLab Pages
Container development Docker and Docker Compose
License MIT
Maintainer Devalltect / Rizky Fernandes

πŸ“š Documented Projects

Project Scope Documentation
Path Header Scanner Path and source-header inspection Open docs
Doc Gen Project structure and documentation generation Open docs
Reflow Tag conversion, release recovery, and container publishing Open docs
Custy Git workflow, changelog, versioning, maintenance, and release pipelines Open docs

πŸ“‹ Requirements

  • Node.js 20 or newer
  • Corepack
  • Yarn 4.18.0, selected by the packageManager field in package.json
  • Docker with Compose support, only when using the optional container workflow

Do not use npm to modify dependencies or generate a second lockfile. The repository uses Yarn and yarn.lock as its package source of truth.

πŸš€ Local Development

Enable Corepack and install the locked dependency graph:

corepack enable
yarn install --immutable

Start the default English development server:

yarn start

Start the Indonesian locale:

yarn start --locale id

βœ… Validation

Run the non-mutating release validation, including formatting, freshness tests, TypeScript, and both locale builds:

yarn validate

Individual checks remain available:

yarn format:check
yarn test
yarn typecheck
yarn build

Preview the generated production site:

yarn serve

πŸ‹ Docker and Compose

Docker provides a reproducible development and production-preview environment. It is optional and does not replace the direct Yarn or Pages workflows.

Build all Compose images:

make c-build-all

Start the live development server at http://localhost:3000/devalltect-docs/:

make c-run-dev

Start the Nginx production preview at http://localhost:8080/devalltect-docs/:

make c-run-prod

Run the complete validation inside Compose:

make c-check

See the Docker and Compose guide for direct Docker commands, image stages, volume behavior, and troubleshooting.

🌍 Internationalization

English (en) is the default locale and Bahasa Indonesia (id) is the secondary locale. Locale-specific interface messages live under i18n/id/, while translated documentation lives under:

i18n/id/docusaurus-plugin-content-docs/current/

Generate or refresh extractable interface messages with:

yarn write-translations --locale id

Do not translate command names, options, configuration keys, paths, code identifiers, or literal output when translation would make the technical contract less clear.

πŸ—‚οΈ Repository Structure

.
β”œβ”€β”€ .github/workflows/       CI, container validation, and GitHub Pages
β”œβ”€β”€ .gitlab/                 GitLab CI, container validation, and Pages
β”œβ”€β”€ docker/                  Nginx production-preview configuration
β”œβ”€β”€ make/                    Modular local, Docker, and Compose commands
β”œβ”€β”€ docs/                    Default English documentation
β”œβ”€β”€ i18n/                    Locale messages and translated content
β”œβ”€β”€ scripts/                 Repository metadata and content helpers
β”œβ”€β”€ src/                     React components, pages, data, and styles
β”œβ”€β”€ static/                  Public images and assets
β”œβ”€β”€ Dockerfile               Multi-stage development and preview image
β”œβ”€β”€ docker-compose*.yml      Shared, development, and production services
β”œβ”€β”€ docusaurus.config.ts     Site, deployment, navigation, and locale config
β”œβ”€β”€ sidebars.ts              Autogenerated documentation sidebar
β”œβ”€β”€ package.json             Yarn scripts and dependency metadata
└── yarn.lock                Locked dependency graph

See docs/project_structure.md for the broader project inventory.

Repository descriptions and provider-specific topics are sourced from package.json. Preview metadata synchronization with yarn repository:metadata:dry-run, then use yarn repository:metadata:sync after verifying the selected GitHub and GitLab repositories. The live command requires authenticated gh and glab sessions.

✍️ Documentation Standards

  • Keep default English content under docs/.
  • Use _category_.json and stable frontmatter for readable navigation.
  • Document current public behavior and label internal or experimental behavior clearly.
  • Reuse components exported by src/components/docs before adding new UI patterns.
  • Keep examples executable and describe requirements, side effects, output, errors, and recovery where relevant.
  • Keep English and Indonesian meaning aligned when both locale variants exist.
  • Run yarn validate before publishing and validate Docker when container files change.

🌐 Deployment

GitHub Actions builds all locales and deploys the static output to GitHub Pages.

The deployment configuration uses url: "https://devalltect00.github.io" and baseUrl: "/devalltect-docs/". Keep the repository name, workflow, and Docusaurus configuration synchronized if the public location changes.

Docker images are validated in CI but are not published. GitHub Pages and GitLab Pages continue to deploy the generated static files directly. Annotated Semantic Version tags are validated separately and use their complete tag messages as the primary GitHub and GitLab Release notes. Each provider then appends the version, portal package version, Node.js version, release type, project, and tagged commit. Release automation does not publish a package, container image, or additional Pages deployment.

🏷️ Badges

See docs/badges.md for the complete badge catalog and usage guidance.

🀝 Contributing

🀝 Contributing

Contributions are welcome for confirmed documentation bugs, typographical errors, broken links, and incorrect or unclear wording. Please review the developer guide and follow the maintainer workflow before submitting a correction.

πŸ” Security

Report security concerns through the process described in SECURITY.md. Do not publish credentials, private registry tokens, or sensitive deployment details in an issue, example, or documentation page.

πŸ“ƒ Release Notes

Published release notes and version history are available from GitHub Releases. Create an annotated tag from the reviewed release-message template, then push the same tag to GitHub and GitLab:

git tag -a v1.0.0 -F .config/custy/templates/tag-message_release-version.txt
git push <github-remote> v1.0.0
git push <gitlab-remote> v1.0.0

GitLab release tags must be protected. Alpha, beta, and release-candidate tags are published as prereleases; a stable tag is published as the latest release.


πŸ“ƒ Changelog

See CHANGELOG.md


πŸ“œ License

This repository is available under the MIT License.

πŸ“§ Contact: devalltect00@gmail.com


Crafted with ❀️ by Devalltect / Rizky Fernandes

Releases

Packages

Contributors

Languages