Implement Phase 3 of v1.3.0 tags feature per microformats-tags-design.md: Routes (starpunk/routes/public.py): - Add /tag/<tag> archive route with normalization and 404 handling - Pre-load tags in index route for all notes - Pre-load tags in note route for individual notes Admin (starpunk/routes/admin.py): - Parse comma-separated tag input in create route - Parse tag input in update route - Pre-load tags when displaying edit form - Empty tag field removes all tags Templates: - Add tag input field to templates/admin/edit.html - Add tag input field to templates/admin/new.html - Use Jinja2 map filter to display existing tags Implementation details: - Tag URL parameter normalized to lowercase before lookup - Tags pre-loaded using object.__setattr__ pattern (like media) - parse_tag_input() handles trim, dedupe, normalization - All existing tests pass (micropub categories, admin routes) Per architect design: - No pagination on tag archives (acceptable for v1.3.0) - No autocomplete in admin (out of scope) - Follows existing media loading patterns Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
61 lines
2.3 KiB
Markdown
61 lines
2.3 KiB
Markdown
# Claude Agent Instructions
|
|
|
|
This file contains operational instructions for Claude agents working on this project.
|
|
|
|
## Python Environment
|
|
|
|
- We use **uv** for Python virtual environment management
|
|
- All Python commands must be run with `uv run` prefix
|
|
- Example: `uv run pytest`, `uv run flask run`
|
|
|
|
## Agent Protocol (All Agents)
|
|
|
|
**IMPORTANT**: All agents must review `docs/DOCUMENTATION.md` before starting work. This file is the authoritative source for documentation organization and supersedes any other instructions.
|
|
|
|
## Agent-Architect Protocol
|
|
|
|
When invoking the agent-architect, always remind it to:
|
|
|
|
1. Review `docs/DOCUMENTATION.md` for documentation organization standards
|
|
|
|
2. Review documentation in docs/ before working on the task it is given
|
|
- docs/architecture, docs/decisions, docs/standards are of particular interest
|
|
|
|
3. Search for authoritative documentation for any web standard it is implementing on https://www.w3.org/
|
|
|
|
4. If it is reviewing a developers implementation report and it accepts the completed work it should go back and update the project plan to reflect the completed work
|
|
|
|
## Agent-Developer Protocol
|
|
|
|
When invoking the agent-developer, always remind it to:
|
|
|
|
1. Review `docs/DOCUMENTATION.md` for documentation organization standards
|
|
|
|
2. **Document work in design folder**
|
|
- Create implementation reports in `docs/design/{version}/`
|
|
- Include date in filename: `YYYY-MM-DD-description.md`
|
|
- All developer interaction (questions, responses, reports, reviews) goes in design/{version}/
|
|
|
|
3. **Update the changelog**
|
|
- Add entries to `CHANGELOG.md` for user-facing changes
|
|
- Follow existing format
|
|
|
|
4. **Version number management**
|
|
- Increment version numbers according to `docs/standards/versioning-strategy.md`
|
|
- Update version in `starpunk/__init__.py`
|
|
|
|
5. **Follow git protocol**
|
|
- Adhere to git branching strategy in `docs/standards/git-branching-strategy.md`
|
|
- Create feature branches for non-trivial changes
|
|
- Write clear commit messages
|
|
|
|
## Documentation
|
|
|
|
See `docs/DOCUMENTATION.md` for the authoritative documentation structure, navigation guidance, and key references.
|
|
|
|
## Project Philosophy
|
|
|
|
"Every line of code must justify its existence. When in doubt, leave it out."
|
|
|
|
Keep implementations minimal, standards-compliant, and maintainable.
|