1bc657e0fd2eb88f6cb6cba3cb603bb85632ff90
webref
A Python project for web reference management, built with quality and maintainability as core values.
Project Constitution
This project follows a formal constitution that establishes binding principles for all development work. The constitution ensures consistent quality, testing discipline, user experience, and performance across the codebase.
Constitutional Principles:
- Code Quality & Maintainability - Clear, consistent, maintainable code with proper typing and documentation
- Testing Discipline - ≥80% coverage, automated testing for all functionality
- User Experience Consistency - Intuitive, accessible, consistent interfaces
- Performance & Efficiency - Performance-first design with bounded resources
📖 Full constitution: .specify/memory/constitution.md
Development Environment
This project uses Nix for reproducible development environments:
# Enter development shell
nix-shell
# Or use direnv for automatic activation
echo "use nix" > .envrc
direnv allow
Included tools:
- Python 3 with setuptools
- uv (fast Python package manager)
Project Structure
webref/
├── .specify/ # Project governance and templates
│ ├── memory/
│ │ └── constitution.md # Project constitution
│ └── templates/
│ ├── plan-template.md # Planning document template
│ ├── spec-template.md # Specification template
│ ├── tasks-template.md # Task tracking template
│ └── commands/
│ └── constitution.md # Constitution amendment workflow
├── shell.nix # Nix development environment
└── README.md # This file
Using the Specification System
Planning a Feature
- Copy
.specify/templates/plan-template.mdto.specify/plans/[feature-name].md - Fill in objectives, scope, and technical approach
- Complete the Constitution Alignment Check to verify adherence to principles
- Review with team before proceeding to specification
Writing a Specification
- Copy
.specify/templates/spec-template.mdto.specify/specs/[feature-name].md - Define functional and non-functional requirements
- Each requirement must address constitutional alignment (testing, UX, performance)
- Include clear acceptance criteria for validation
Managing Tasks
- Copy
.specify/templates/tasks-template.mdto.specify/tasks/[sprint-name].md - Organize tasks by constitutional principle category:
- 🏗️ Implementation (Code Quality)
- 🧪 Testing (Testing Discipline)
- 👤 User Experience (UX Consistency)
- ⚡ Performance (Performance & Efficiency)
- Complete the checklist before closing any task
Amending the Constitution
- Create a pull request to
.specify/memory/constitution.md - Include rationale and impact analysis
- Update version number (MAJOR.MINOR.PATCH)
- Update all dependent templates
- Prepend Sync Impact Report
Code Quality Standards
All code must meet these requirements before merge:
- ✅ Linter passing (no errors/warnings)
- ✅ Type hints on all public APIs
- ✅ Tests passing with ≥80% coverage
- ✅ Code review approved
- ✅ Constitution principles verified
Testing
# Run tests
pytest
# With coverage report
pytest --cov=webref --cov-report=html
# Coverage must be ≥80% per Constitutional Principle 2
Contributing
- Read the constitution
- Follow the planning → specification → implementation flow
- Ensure all code meets constitutional principles
- Write tests first (TDD encouraged)
- Request code review
License
[License information to be added]
Contact
[Contact information to be added]
Description
Languages
TypeScript
37.4%
Python
34%
Svelte
17.9%
Shell
7.4%
Nix
2%
Other
1.2%