Skip to content

docs: expand README with setup, linting, and contributing guide#825

Open
Tech-Psycho95 wants to merge 1 commit into
mosip:masterfrom
Tech-Psycho95:master
Open

docs: expand README with setup, linting, and contributing guide#825
Tech-Psycho95 wants to merge 1 commit into
mosip:masterfrom
Tech-Psycho95:master

Conversation

@Tech-Psycho95

@Tech-Psycho95 Tech-Psycho95 commented May 17, 2026

Copy link
Copy Markdown

The existing README covers only the basics. This PR expands it to help new contributors and operators get started more easily.

Added:

  • Project overview and the 3-repo deployment table (mosip-helm, mosip-infra, mosip-config)
  • Prerequisites (kubectl, Helm 3.x, bitnami repo)
  • helm install and helm upgrade examples
  • Expanded manual publishing steps
  • Linting commands for all charts and specific charts
  • YAML formatting conventions
  • CI/CD workflow explanation
  • Contributing guide
  • Related repositories and community links

Existing content is fully preserved within the new structure.

Summary by CodeRabbit

  • Documentation
    • Enhanced README with comprehensive operational guides including prerequisites, Helm repository setup, installation and upgrade procedures, and chart linting steps.
    • Added contribution guidelines, related repositories, and community support links.
    • Improved with status badges and YAML formatting conventions.

Review Change Stack

Signed-off-by: SHIVAM <shivamsingh.smn@gmail.com>
@coderabbitai

coderabbitai Bot commented May 17, 2026

Copy link
Copy Markdown

Walkthrough

The README is restructured from a brief overview into a comprehensive operational guide. It now includes project badges, expanded ecosystem context, user prerequisites and installation steps, maintainer publishing and linting instructions, CI/CD workflow documentation, contribution guidelines, related repository links, and community resources.

Changes

README Documentation Restructure

Layer / File(s) Summary
Branding and Ecosystem Overview
README.md
Badges for license, Helm, and Kubernetes are added at the top. The overview section is expanded with a table describing three core MOSIP deployment repositories.
Getting Started Guide
README.md
Prerequisites (tooling and repositories) are documented. Instructions are added for adding the MOSIP Helm repository, installing a chart with command template and example, and upgrading a chart.
Publishing and Code Quality
README.md
Manual publishing instructions are expanded to detail packaging, cloning gh-pages, copying the .tgz, running publish.sh, and a note about GitHub Actions. Chart linting section adds both lint-all and lint-specific-chart examples. YAML formatting conventions are documented with sed commands for normalizing spaces and empty lines.
CI/CD, Contributing, and Community
README.md
CI/CD section describes automated chart validation and publishing steps. Contributing section lists numbered steps and formatting reminders. Related Repositories section links MOSIP infrastructure, config, and k8s-infra repos. Community & Support section includes MOSIP website, documentation, and forum links. License section is simplified to reference ./LICENSE.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Poem

🐰 A README reborn with care and light,
With badges shining, badges bright,
From setup paths to publishing ways,
And community links for all our days,
The MOSIP Helm now guides the night! 🌙

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: expanding the README with setup, linting, and contributing guide documentation, which matches the actual modifications described in the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@README.md`:
- Line 173: Update the README sentence that currently uses "Git hub" or
incorrect casing so it reads "The workflow file lives at .github/workflows/."
with the correct official casing "GitHub" (capital G and H); locate the sentence
in README.md and replace the existing word with "GitHub" to ensure consistent
branding.
- Around line 118-127: The README mismatch: TARGET_BRANCH is set to 'gh-pages'
but the ct lint invocation hardcodes --target-branch=master; update the ct lint
command to use the TARGET_BRANCH variable (replace --target-branch=master with
--target-branch=$TARGET_BRANCH) or align the TARGET_BRANCH value to 'master' so
TARGET_BRANCH and the ct lint invocation (ct lint ... --target-branch=...) are
consistent; locate the TARGET_BRANCH declaration and the ct lint call in the
README and make them match.
- Around line 149-160: Update the three sed substitution patterns to use POSIX
character class [[:space:]] instead of the GNU-only \s (i.e., change "s/\s*$//g"
to "s/[[:space:]]*$//g", "s/:\s\s*/: /g" to "s/:[[:space:]][[:space:] ]*/: /g"
or more simply "s/:[[:space:]]\{1,\}/: /g", and "s/-\s\s*/- /g" to
"s/-[[:space:]]\{1,\}/- /g") so they work with BSD/POSIX sed; keep the same
quoting and flags as used in the README examples and ensure the empty-line
trimming command remains unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: ae32144a-e722-4bac-b8d2-dad46346f6a7

📥 Commits

Reviewing files that changed from the base of the PR and between 9369378 and e936375.

📒 Files selected for processing (1)
  • README.md

Comment thread README.md
Comment on lines +118 to +127
CONFIG_FILE='.github/chart-testing-config.yaml'
CHART_DIR='charts'
TARGET_ORIGIN='origin'
TARGET_BRANCH='gh-pages'
LOG_FILE="./helm-lint-$CHART_DIR.log"

ct lint --config=$CONFIG_FILE \
--chart-dirs=$CHART_DIR \
--remote=$TARGET_ORIGIN \
--target-branch=master

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Use one target branch source in lint docs.

Line 121 sets TARGET_BRANCH='gh-pages', but Line 127 hardcodes --target-branch=master. This is inconsistent and can mislead maintainers running the command.

Suggested fix
 TARGET_ORIGIN='origin'
-TARGET_BRANCH='gh-pages'
+TARGET_BRANCH='master'
 LOG_FILE="./helm-lint-$CHART_DIR.log"

 ct lint --config=$CONFIG_FILE \
   --chart-dirs=$CHART_DIR \
   --remote=$TARGET_ORIGIN \
-  --target-branch=master
+  --target-branch=$TARGET_BRANCH
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
CONFIG_FILE='.github/chart-testing-config.yaml'
CHART_DIR='charts'
TARGET_ORIGIN='origin'
TARGET_BRANCH='gh-pages'
LOG_FILE="./helm-lint-$CHART_DIR.log"
ct lint --config=$CONFIG_FILE \
--chart-dirs=$CHART_DIR \
--remote=$TARGET_ORIGIN \
--target-branch=master
CONFIG_FILE='.github/chart-testing-config.yaml'
CHART_DIR='charts'
TARGET_ORIGIN='origin'
TARGET_BRANCH='master'
LOG_FILE="./helm-lint-$CHART_DIR.log"
ct lint --config=$CONFIG_FILE \
--chart-dirs=$CHART_DIR \
--remote=$TARGET_ORIGIN \
--target-branch=$TARGET_BRANCH
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 118 - 127, The README mismatch: TARGET_BRANCH is set
to 'gh-pages' but the ct lint invocation hardcodes --target-branch=master;
update the ct lint command to use the TARGET_BRANCH variable (replace
--target-branch=master with --target-branch=$TARGET_BRANCH) or align the
TARGET_BRANCH value to 'master' so TARGET_BRANCH and the ct lint invocation (ct
lint ... --target-branch=...) are consistent; locate the TARGET_BRANCH
declaration and the ct lint call in the README and make them match.

Comment thread README.md
Comment on lines +149 to +160
```bash
# Remove trailing spaces
sed -i 's/\s*$//g' <path/to/yaml/file>

# Remove extra spaces after ": "
sed -i 's/:\s\s*/: /g' <path/to/yaml/file>

# Remove extra spaces after "- "
sed -i 's/-\s\s*/- /g' <path/to/yaml/file>

# Remove empty lines from beginning and end
sed -i -e '/./,$!d' -e :a -e '/^\n*$/{$d;N;ba' -e '}' <path/to/yaml/file>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify whether '\s' works as intended in sed on your environment (read-only check)
set -euo pipefail

input='key:    value   '
echo "Input: [$input]"

echo "$input" | sed 's/\s*$//g' | awk '{print "Using \\s -> ["$0"]"}'
echo "$input" | sed 's/[[:space:]]*$//g' | awk '{print "Using [[:space:]] -> ["$0"]"}'

Repository: mosip/mosip-helm

Length of output: 151


🏁 Script executed:

# Locate and verify the README.md file
cd mosip-helm && git ls-files | grep -i readme

Repository: mosip/mosip-helm

Length of output: 121


🏁 Script executed:

# Check the exact lines in README.md (lines 149-160)
sed -n '149,160p' README.md

Repository: mosip/mosip-helm

Length of output: 407


🏁 Script executed:

# Check broader context around these lines
sed -n '140,170p' README.md

Repository: mosip/mosip-helm

Length of output: 785


🏁 Script executed:

# Search for other sed patterns in the codebase to understand usage patterns
rg 'sed\s+' README.md

Repository: mosip/mosip-helm

Length of output: 401


🏁 Script executed:

# Check if there are any mentions of supported systems/environments
rg -i 'macos|linux|windows|bsd|environment|prerequisite' README.md | head -20

Repository: mosip/mosip-helm

Length of output: 77


🏁 Script executed:

# Verify the actual behavior of \s in POSIX sed vs GNU sed context
cat > /tmp/test_sed.sh << 'EOF'
#!/bin/bash
input='key:    value   '

echo "Test 1: Using \\s (GNU extension)"
echo "$input" | sed 's/\s*$//g'
echo "Result: $?"

echo ""
echo "Test 2: Using [[:space:]] (POSIX portable)"
echo "$input" | sed 's/[[:space:]]*$//g'
echo "Result: $?"

echo ""
echo "Test 3: Actual sed version"
sed --version 2>/dev/null || sed -h 2>/dev/null | head -1
EOF
bash /tmp/test_sed.sh

Repository: mosip/mosip-helm

Length of output: 847


🏁 Script executed:

# Check if there's documentation about supported platforms or environments
rg -i 'supported|platform|os|macos|windows|linux' README.md | head -20

Repository: mosip/mosip-helm

Length of output: 1277


🏁 Script executed:

# Check the Prerequisites section fully
sed -n '130,145p' README.md

Repository: mosip/mosip-helm

Length of output: 352


🏁 Script executed:

# Search for any mentions of how users should run these sed commands
rg -B5 -A2 'Remove trailing spaces|Remove extra spaces' README.md

Repository: mosip/mosip-helm

Length of output: 402


Replace \s with [[:space:]] for POSIX sed portability.

Lines 151, 154, and 157 use \s, which is a GNU sed extension not recognized by POSIX/BSD sed (standard on macOS). These commands will silently fail to normalize spacing on systems using non-GNU sed.

Suggested fix
 # Remove trailing spaces
-sed -i 's/\s*$//g' <path/to/yaml/file>
+sed -i 's/[[:space:]]*$//g' <path/to/yaml/file>

 # Remove extra spaces after ": "
-sed -i 's/:\s\s*/: /g' <path/to/yaml/file>
+sed -i 's/:[[:space:]][[:space:]]*/: /g' <path/to/yaml/file>

 # Remove extra spaces after "- "
-sed -i 's/-\s\s*/- /g' <path/to/yaml/file>
+sed -i 's/-[[:space:]][[:space:]]*/- /g' <path/to/yaml/file>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
```bash
# Remove trailing spaces
sed -i 's/\s*$//g' <path/to/yaml/file>
# Remove extra spaces after ": "
sed -i 's/:\s\s*/: /g' <path/to/yaml/file>
# Remove extra spaces after "- "
sed -i 's/-\s\s*/- /g' <path/to/yaml/file>
# Remove empty lines from beginning and end
sed -i -e '/./,$!d' -e :a -e '/^\n*$/{$d;N;ba' -e '}' <path/to/yaml/file>
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 149 - 160, Update the three sed substitution patterns
to use POSIX character class [[:space:]] instead of the GNU-only \s (i.e.,
change "s/\s*$//g" to "s/[[:space:]]*$//g", "s/:\s\s*/: /g" to
"s/:[[:space:]][[:space:] ]*/: /g" or more simply "s/:[[:space:]]\{1,\}/: /g",
and "s/-\s\s*/- /g" to "s/-[[:space:]]\{1,\}/- /g") so they work with BSD/POSIX
sed; keep the same quoting and flags as used in the README examples and ensure
the empty-line trimming command remains unchanged.

Comment thread README.md
2. Validates chart YAML against the health check schema
3. Publishes updated charts to `gh-pages` on merge

The workflow file lives at `.github/workflows/`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Use official casing: GitHub.

Line 173 should use GitHub (capital H) for consistency and correctness.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~173-~173: The official name of this software platform is spelled with a capital “H”.
Context: ...son merge The workflow file lives at.github/workflows/`. --- ## Contributing 1. ...

(GITHUB)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` at line 173, Update the README sentence that currently uses "Git
hub" or incorrect casing so it reads "The workflow file lives at
.github/workflows/." with the correct official casing "GitHub" (capital G and
H); locate the sentence in README.md and replace the existing word with "GitHub"
to ensure consistent branding.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant