Thank you for your interest in contributing to the Semantic Anchors catalog! This project aims to build a curated collection of well-defined terms, methodologies, and frameworks that serve as reference points when communicating with Large Language Models (LLMs).
- How to Propose a New Anchor
- Quality Criteria for Semantic Anchors
- Testing Methodology
- Improving Existing Anchors
- Development Setup
- Pull Request Workflow
- Code of Conduct
- Go to Issues
- Select "🌟 Propose New Semantic Anchor"
- Fill out the template completely
- Submit the issue
The maintainers will review your proposal and provide feedback.
A good proposal includes:
- Clear name: The term or phrase that serves as the anchor
- Full explanation: What concepts does this anchor activate?
- Key proponents: Who originated or standardized this concept?
- Use cases: When should someone invoke this anchor?
- LLM test results: Evidence that LLMs recognize and respond appropriately
Before proposing an anchor, verify it meets these criteria:
References a specific, established body of knowledge with clear boundaries.
- ✓ "TDD, London School" - specific variant with defined practices
- ✗ "Best practices" - too vague, no clear boundaries
Activates multiple interconnected concepts, not just a single instruction.
- ✓ "SOLID Principles" - triggers S.O.L.I.D. breakdown, design patterns, OOP principles
- ✗ "TLDR" - just means "summarize," no conceptual depth
Different users invoking it get similar conceptual activation.
- ✓ "Clean Architecture" - well-documented pattern, consistent interpretation
- ✗ "ELI5" - vague target level, inconsistent results
Can be traced to key proponents, publications, or documented standards.
- ✓ "Hexagonal Architecture" - Alistair Cockburn, documented pattern
- ✗ "Keep it simple" - no clear origin, just general advice
- "TLDR" - Underspecified, no defined structure
- "ELI5" - Vague target level, no pedagogical framework
- "Keep it short/simple" - Pure instruction, no conceptual depth
- "Best practices" - Too broad, no specific framework
IMPORTANT: Always test your proposed anchor with an LLM before submitting.
What concepts do you associate with '<your anchor name>'?
Note: The proposal template includes a required LLM Activation Test Result field. Paste your test output there — it front-loads the Precise/Rich/Consistent signal for reviewers.
Ask yourself:
- Recognition: Does the LLM recognize the term?
- Accuracy: Is the interpretation correct?
- Depth: Does it activate multiple related concepts?
- Specificity: Is the response focused and detailed?
Prompt: "What concepts do you associate with 'SOLID Principles'?"
Response should include:
- Single Responsibility Principle
- Open/Closed Principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency Inversion Principle
- Object-oriented design
- Robert C. Martin (Uncle Bob)
If the LLM provides a detailed, accurate response like this, your anchor is likely good!
Prompt: "What concepts do you associate with 'TLDR'?"
Response might be:
- "Too Long; Didn't Read"
- Means to summarize
- Used in online communication
This lacks depth and doesn't activate a rich conceptual framework.
Found an issue with an existing anchor? We welcome improvements!
- Go to Issues
- Select "📝 Improve Existing Anchor"
- Fill out the form:
- Which anchor needs improvement?
- What's wrong or missing?
- What change do you propose?
- References supporting your suggestion
- Submit the issue
If you want to contribute code or work on the website:
- Node.js 20+
- npm or pnpm
- Git
git clone https://github.com/LLM-Coding/Semantic-Anchors.git
cd Semantic-AnchorsBoth website/ and scripts/ have their own package.json. Install both:
# Script dependencies (needed for anchor syncing and doc rendering)
cd scripts
npm install
# Website dependencies
cd ../website
npm installAlways use npm run dev (not npx vite directly). The predev hook syncs anchor .adoc files from docs/anchors/ into website/public/docs/anchors/. Without this step, clicking anchor cards results in a 404 error.
cd website
npm run dev
# → http://localhost:5173/Semantic-Anchors/Note: The dev server URL includes
/Semantic-Anchors/because of the Vitebaseconfiguration. This matches the GitHub Pages deployment path.
cd website
npm run testThe prebuild hook runs three steps automatically: syncing anchors, rendering docs, and rendering contracts. Then Vite builds the bundle and pre-renders static routes.
cd website
npm run build- Fork the repository (if you're not a maintainer)
- Create a feature branch:
git checkout -b feature/your-feature-name
- Make your changes
- Write/update tests if applicable
- Run tests:
npm run test - Commit your changes:
Use Conventional Commits format:
git commit -m "feat: Add feature description"feat:- New featurefix:- Bug fixdocs:- Documentation changestest:- Test changeschore:- Maintenance tasks
- Push to your fork:
git push origin feature/your-feature-name
- Create a Pull Request on GitHub
- Wait for review - Maintainers will review and provide feedback
Note: Currently, new anchors are added via maintainer workflow after issue approval. In the future (Phase 4), this will be automated via GitHub Copilot.
Current Process:
- Create an issue using the "Propose New Anchor" template
- Maintainers review and approve
- Maintainers create the anchor file and PR
- Community reviews the PR
All issues should follow a consistent [Type]: <Name> title format. This makes filtering, searching, and triaging materially easier.
| Prefix | Used For | Source |
|---|---|---|
[Anchor Proposal]: |
New semantic anchor proposals | Issue template |
[Contract Proposal]: |
New semantic contract proposals | Issue template |
[Improve]: |
Improvements to existing anchors | Issue template |
[Bug]: |
Bug reports | Issue template |
[Process Proposal]: |
Changes to project processes | Issue template |
[Feature]: |
Feature requests | Free-form |
EPIC: |
Tracking issues for larger initiatives | Free-form |
- Use the issue template whenever one exists — the prefix is set automatically.
- Free-form issues (no matching template) should manually use one of the recognized prefixes.
- Apply going forward only — do not retro-rename closed issues.
- EPICs use the bare
EPIC:prefix without brackets, as a sanctioned exception.
We pledge to make participation in this project a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
Positive behaviors:
- Using welcoming and inclusive language
- Being respectful of differing viewpoints
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
Unacceptable behaviors:
- Trolling, insulting/derogatory comments, and personal attacks
- Public or private harassment
- Publishing others' private information without permission
- Other conduct which could reasonably be considered inappropriate
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project maintainers. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances.
- General questions: GitHub Discussions
- Bug reports: Use the Bug Report template
- Feature requests: Open a new issue
By contributing to Semantic Anchors, you agree that your contributions will be licensed under the same license as the project (see LICENSE).
Thank you for contributing to Semantic Anchors! 🎉