Contributing to AILIS¶
Thank you for your interest in contributing to the AILIS proposal! This is an early-stage exploration, and we genuinely value all perspectivesโwhether supportive, critical, or offering alternatives.
Quick Start¶
- Have an idea? Open an issue using our templates
- Want to discuss? Join the GitHub Discussions
- Ready to propose? Follow the proposal workflow below
Contribution Types¶
๐ Proposals¶
Formal additions or changes to the AILIS framework
- Use the "AILIS Proposal" issue template
- Create a
draft/proposal-namebranch - Submit PR with detailed documentation
- Participate in 4-week review period
๐ฌ Feedback¶
Critiques, concerns, or suggestions
- Use the "Feedback or Critique" issue template
- No formal process required - just share your thoughts
- Critical feedback is especially valuable
๐ Use Cases¶
Real-world examples and case studies
- Use the "Use Case Submission" issue template
- Help us understand where AILIS works (or doesn't)
- Can be developed into full case studies
๐ Reference Implementations¶
Code, schemas, and tools
- Submit to
/referencedirectory - Include clear documentation
- Keep examples minimal and focused
The Proposal Workflow¶
1. Pre-Proposal Discussion¶
- Open an issue to discuss your idea
- Get community feedback
- Refine the concept
2. Draft Phase¶
# Create your proposal branch
git checkout -b draft/your-proposal-name
# Add your proposal document
proposals/AILIS-XXX-your-proposal.md
Proposal document should include:
- Summary - Brief overview (2-3 sentences)
- Motivation - Why is this needed?
- Detailed Proposal - Full specification
- Alternatives - Other approaches considered
- Compatibility - Impact on existing concepts
- Open Questions - Areas needing input
3. Review Phase (4 weeks minimum)¶
- Submit PR with
stage/draftlabel - Community provides feedback via PR reviews
- Iterate based on feedback
- Must remain in review for at least 4 weeks
4. Final Comment Period¶
- Label changes to
stage/final-comment - Last call for community input (1 week)
- Address any final concerns
5. Decision¶
- Maintainers and community reach consensus
- Proposal is either:
- Accepted - Merged to main
- Declined - Closed with rationale preserved
Git Workflow¶
Branches¶
main- Accepted proposals only (protected)draft/[proposal-name]- Individual proposalsdiscussion/[topic]- Exploratory work
Branch Protection Rules (main)¶
- Required PR reviews: 2 approvals minimum
- Dismiss stale reviews: Enabled
- Require conversation resolution: Yes
- Admin bypass: Available for emergency fixes
- No direct pushes: All changes via PR
Commit Messages¶
Types: proposal:, fix:, docs:, refactor:, test:
Examples:
proposal: Add L17 for domain-specific reasoning
Introduces new layer for vertical AI applications
like medical diagnosis and legal research.
Refs: #42
docs: Clarify L11 registry manifest format
Adds JSON schema example and explains
version compatibility requirements.
Refs: #15
Pull Requests¶
- Use the PR template
- Link related issues
- Be responsive to feedback
- Squash commits when merging
Review Guidelines¶
For Authors¶
- Be open to feedback and iteration
- Respond to reviews promptly
- Update proposals based on consensus
- Document rationale for decisions
For Reviewers¶
- Focus on constructive critique
- Consider multiple perspectives
- Suggest specific improvements
- Respect different viewpoints
Review Criteria¶
- Clarity - Is it understandable?
- Motivation - Is it needed?
- Compatibility - Does it fit with AILIS?
- Completeness - Are edge cases considered?
- Simplicity - Could it be simpler?
Label Taxonomy¶
Proposal Stages¶
stage/draft- Proposal is under developmentstage/review- Open for community review (4 weeks)stage/final-comment- Last call for feedbackstage/accepted- Proposal has been acceptedstage/declined- Proposal will not proceed
Content Types¶
proposal- New proposal for AILISfeedback- Feedback or critiqueuse-case- Real-world use case or examplealternative- Alternative approach or designbreaking-change- This change breaks compatibility
Community Guidelines¶
The Spirit of Contribution¶
We're exploring how to better understand AI systems. Your contribution might be:
- Questions that challenge assumptions
- Critiques highlighting problems
- Alternatives suggesting better approaches
- Examples testing the model
- Clarifications improving accessibility
- Connections to existing work
Code of Conduct¶
- Be respectful and inclusive
- Welcome diverse perspectives
- Focus on ideas, not individuals
- Accept constructive criticism gracefully
- Help others contribute
Getting Help¶
- Questions? Open a discussion
- Stuck? Ask in your PR/issue
- Ideas? Share them freely
Recognition¶
All contributors will be acknowledged. Significant contributions may be invited to join as maintainers.
License¶
By contributing, you agree that your contributions will be licensed under:
- Documentation: CC-BY 4.0
- Code: Apache 2.0
GitHub Actions Workflow Development¶
When developing GitHub Actions workflows, follow these patterns to avoid common YAML parsing issues:
Multiline Strings in JavaScript¶
Problem: YAML interprets markdown list syntax (-) inside JavaScript template literals as YAML structure, causing parse failures.
โ BAD - Will cause YAML parsing errors:
โ GOOD - Use array.join() pattern:
script: |
await github.rest.issues.createComment({
body: [
'## Title',
'* List item 1', # Use asterisks instead of dashes
'* List item 2'
].join('\n')
});
Conditional Expressions¶
Always wrap conditionals with ${{ }}:
โ BAD:
โ GOOD:
Required Permissions¶
Ensure workflows have necessary permissions:
permissions:
contents: write # For pushing changes
pull-requests: write # For creating PRs
issues: write # For commenting
Workflow Validation¶
Pre-commit Hooks¶
We use pre-commit hooks to validate workflows before commit:
# Install pre-commit
pip install pre-commit
# Install the hooks
pre-commit install
# Run manually
pre-commit run --all-files
Manual Validation¶
Test your workflows locally:
# Validate all workflows
python3 .github/scripts/validate-workflows.py
# Check specific file
python3 -c "import yaml; yaml.safe_load(open('.github/workflows/my-workflow.yml'))"
CI Validation¶
The YAML validation workflow runs automatically on:
- Pull requests that modify
.github/workflows/*.yml - Pushes to main branch
- Manual workflow dispatch
Common YAML Issues to Avoid¶
- Template literals with list syntax: Use array.join() instead
- Unescaped conditionals: Always use
${{ }}wrapper - Missing permissions: Specify required permissions explicitly
- Complex logic in YAML: Extract to scripts when possible
- Hardcoded secrets: Use GitHub secrets instead
Remember: This is a proposal, not a standard. We're learning together, and every perspective helps improve our understanding.