Contributing

nanostack is open source (Apache 2.0). Here's how to contribute.


Setup

bash
git clone https://github.com/garagon/nanostack.git
cd nanostack
./setup

No build step. If ./setup --help runs without errors, you're ready.


What to contribute

New skillsDomain-specific skills that compose with the core sprint workflowSkill improvementsBetter edge case handling, clearer instructions, missing scenariosGuard rulesNew block or warn rules in guard/rules.jsonbin/ scriptsBug fixes, new utility scripts for the artifact systemDocumentationGuides, examples, clarifications

Adding a skill

  1. Create a directory in /skills with your skill name
  2. Add SKILL.md with YAML frontmatter (name and description)
  3. Use bin/save-artifact.sh for outputs
  4. Use bin/find-artifact.sh to read previous phases
  5. Include a "Next Step" section directing to the next skill
  6. Support intensity modes (--quick, --standard, --thorough) if applicable

Adding guard rules

Each rule in guard/rules.json needs 5 properties:

json
{
  "id": "G-029",
  "pattern": "your-regex-pattern",
  "category": "your-category",
  "description": "What this blocks and why",
  "alternative": "Safer command to suggest"
}

Code standards

Shell scriptsPOSIX compatible unless bash-specific is requiredSkill instructionsDirect, concise, no marketing languageNo hardcoded pathsUse variables and relative pathsNo credentialsNever commit secrets, tokens or API keysPR scopeOne skill or fix per PR. Keep changes focused.

Pull request checklist

  • Branch from main
  • Verify ./setup --help runs without errors
  • Test affected bin/ scripts
  • Confirm SKILL.md has proper frontmatter
  • No hardcoded usernames, paths or credentials
  • Descriptive PR title (verb-first, under 70 chars)
← nanostack.sh