Skip to content

Latest commit

 

History

History
549 lines (400 loc) · 16.7 KB

File metadata and controls

549 lines (400 loc) · 16.7 KB

Changelog

All notable changes to this project will be documented in this file.

[0.6.1] - 2026-01-29

Features

  • Add shell tab completion for rule names
  • Make lc-preview consistent with context/outlines commands
  • Add agent-friendly CLI output with -r flag
  • Add rule preview, update skill for agent use case
  • Return full content for code-outlined files in lc-missing
  • Add -m flag for context as separate message

Refactor

  • Pass explicit rule parameters to command functions
  • Rename tools field

[0.6.0] - 2025-11-13

Bug Fixes

  • Improve path validation error messages in lc-missing, lc-excluded, and lc-implementations
  • Correct change detection in lc-changed command
  • Write context to file when -f flag is provided in cli.context()

Documentation

  • README made consistent with new skills docs
  • Emphasize filtering-first workflow and clarify skill vs instruction rules
  • Add changelog link to PyPI project metadata

Features

  • Add markdown excerpter with tree-sitter support
  • Add Claude Skill for interactive rule creation
  • Detect and report deleted files in lc-missing output
  • Add deleted file tracking to lc-changed output

[0.5.2] - 2025-10-01

Bug Fixes

  • Pass env.tagger to ContextGenerator in get_missing_files to support excerpted file metadata
  • Further refine commit instruciton
  • Refine model identification in commit message

Refactor

  • Remove rule_name parameter from lc-changed, use timestamp to lookup original selection

[0.5.1] - 2025-09-29

Bug Fixes

  • Eliminate overlap between files_to_fetch and already_excerpted in missing_files
  • Handle list[Excerpts] return type in missing_files method

Features

  • Add explicit file verification wording to prevent content assumptions
  • Add natural failure principle to error handling guidelines

[0.5.0] - 2025-09-15

Bug Fixes

  • Return list[Excerpts] from collector to handle multiple excerpt modes
  • Clarify lc-missing instructions are for user execution not LLM
  • Run sfc on svelte repo
  • Template name
  • Include template content when include_template_logic is true in SFC excerpter
  • Correct YAML frontmatter delimiter in lc/exc-base.md
  • Refine dev instructions
  • Clarify that latest versions are included in lc-get-files message
  • Corrected cli command names in create rule instructions

Documentation

  • Update user docs with new features

Features

  • Fix lc-missing examples to use actual sample data instead of placeholders
  • Add excluded sections retrieval with -e parameter for non-outline excerpts
  • Add processor-aware guidance for already excerpted files in missing-files template
  • Remove unused missing-excerpted template and dependencies
  • Validate excerpt-modes required for all rules and fast-fail on missing config
  • Update rule framework for unified excerpting system with code outlining prominence
  • Upgrade to tree-sitter 0.25 API with Query/QueryCursor
  • Consolidate file selection into single lc-select command
  • Unify context retrieval with lc-missing tool and update templates
  • Refactor excerpts to excerpter-specific templates with explanations
  • Clean and copy excerpter templates during project setup
  • Add SFC excerpter for extracting script sections from Svelte/Vue files
  • Replace outlining with unified excerpting system using tree-sitter wrapper
  • Remove lc-project-context MCP tool

Refactor

  • Remove vue config pending test
  • Rename SFC config to with-style and with-template for consistency
  • Consolidate code outlining into canonical excerpter structure
  • Rationalized naming
  • Move get_excerpted logic to ContextGenerator.missing_excerpted with template
  • Move get_files logic to ContextGenerator.missing_files with template
  • Remove obsolete tools replaced by unified lc-missing
  • Simplify tool descriptions even more
  • Extract remaining CLI business logic to commands module
  • Extract MCP business logic to commands module for CLI/MCP unification
  • Replace MCP server with FastMCP, remove Pydantic boilerplate
  • Keep header in main context
  • Reorganize templates into lc/ folder structure without prefixes
  • Changed cli command back to outlines
  • Rename sfc class and mode, fix test
  • Use modern resources api
  • Rename Source field
  • Simplify query path construction
  • Shorten query file names
  • Rename scm folder
  • Reorganize project, propogate new excerpter architecture into templates

[0.4.1] - 2025-08-29

Bug Fixes

  • Warn on multiple limit-to clauses, keep first patterns only
  • Remove limit-to from lc/flt-base to prevent composition override

Features

  • Update ins-rule-framework to document limit-to composition behavior
  • Emphasize short commits
  • Clarify path format rules and improve minimal context guidance
  • Short commit messages by default
  • Explicit instruction to follow style guides

Refactor

  • Remove redundant name field from rule YAML frontmatter

[0.4.0] - 2025-08-27

Bug Fixes

  • Sort file lists for consistent output and state storage
  • Handle rule loading errors gracefully without stack traces
  • Remove tool references when -nt flag is used
  • Remove tool references when -nt flag is used
  • Update rule name
  • Bad character in tool name
  • Use markdown content for instructions field instead of full rule processing
  • Update obsolete init message to reference user guide
  • Add tif to globs
  • Use resources.files() API for subfolder resource access
  • Check file modification time in lc-get-files
  • Ensure context timestamps match between content and state storage
  • Only update timestamps on actual context generation
  • Search all rule selections for timestamp match in MCP tools
  • Update rule creator to latest yaml
  • Remove extra newline in rule serialization
  • Clarify text
  • Outline-supported file extensions replace language list
  • Correct pathspec examples in lc-focus-common rule documentation
  • Repair also-include patterns with proper traversal logic
  • Remove deleted import
  • Update handlers to remove deleted tool
  • Update sort order with current fields
  • Yaml updates to rules
  • Revert formatting of yaml only files
  • Remove incorrect path prefixing in rule_files method
  • Improve focus help tool description
  • Implement recursive rule composition with cycle detection
  • Timestamp should be date only
  • Eliminate bare exception
  • Remove rule path from context
  • Improve end prompt
  • Resolve mypy type errors in mcp_tools.py
  • Resolve Windows 'charmap' codec error with UTF-8 encoding
  • Revert prior commit
  • Ensure UTF-8 encoding on Windows to prevent charmap codec errors
  • Enhance final reminder to discourage unnecessary file requests
  • Revert to old behaviour
  • Delete state store when referencing stale rule

Documentation

  • Complete rewrite to reflect systematic rule organization and actual usage patterns

Features

  • Clean up stale system rules during updates
  • Improve rule resolution error handling and init process
  • New rule for working with templates
  • Add AI co-author attribution to commit message format
  • Add coding style guidelines to base prompt
  • Add explicit code generation gate to developer prompt
  • Add section on imports
  • Add modular code style guidelines
  • Sort glob patterns
  • Add .icns to filters
  • Add nested .gitignore support with comprehensive tests
  • Organize system rules in lc/ subfolder
  • Add context-aware file retrieval to MCP tools
  • Default to full overview in rule creation for better file discoverability
  • Enhance focus instructions with file extensions and path format
  • Remove context size functionality
  • Remove created timestamp
  • Add instructions field for composable rule instructions
  • Replace files/outlines with unified filtering system
  • Finer grained file exclusion filters
  • Add lc-focus to config
  • Add comprehensive rule semantics to lc-focus content
  • Add lc-focus rule for comprehensive context reduction guidance
  • Add context_size() method and improve lc-create-rule feedback
  • Add cli for focus help
  • Add lc-create-rule MCP tool with unified focus help instructions
  • Add configurable overview modes (focused/full) to rules
  • Rename lc-focus-help to lc-rule-create-instructions in MCP
  • Simplify focus-help template to be fully autonomous
  • Add lc-block-all filter rule for explicit file selection
  • Standardize YAML formatting and add rule timestamp support
  • Add focused context creation instructions
  • Replace rule inheritance with composition system
  • Add focused overview with hierarchical file display
  • Add comprehensive archive format ignores to default gitignores
  • Add user message indicator to context output
  • Emphasize checking context before requesting files
  • Improve key file visibility in context diagrams
  • Skip automatic outline selection when changing rules
  • Add webp to ignores
  • Improve clarity of context usage instructions

Refactor

  • Clean up vague instructions in style rules
  • Reorganize rules into systematic categories with kebab-case prefixes
  • Simplify file modification check in lc-get-files
  • Refine for clarity
  • Update SYSTEM_RULES
  • Rename lc-focus to lc-create-rule for clarity
  • Standardize YAML keys to kebab-case and remove last-used serialization
  • Eliminate duplication in focus help instructions and remove MCP create-rule tool
  • Rename lc-overview-only to lc-no-files for clarity
  • Rename lc-block-all to lc-overview-only for clarity
  • Move rules to project context
  • Unify context templates with tools_available flag
  • Rename FlatDiagram to FullOverview for clarity
  • Extract MCP tool definitions to centralized module

Testing

  • Add pathspec pattern tests for also-include functionality

[0.3.4] - 2025-06-04

Bug Fixes

  • Resolve Windows 'charmap' codec error with UTF-8 encoding
  • Revert prior commit

[0.3.3] - 2025-06-03

Bug Fixes

  • Ensure UTF-8 encoding on Windows to prevent charmap codec errors
  • Enhance final reminder to discourage unnecessary file requests
  • Delete state store when referencing stale rule

Documentation

  • Add preferred workflow to README
  • Add new "Full Context Magic" article to README
  • Be precise about new format

Features

  • Emphasize checking context before requesting files
  • Improve key file visibility in context diagrams
  • Skip automatic outline selection when changing rules
  • Add webp to ignores
  • Improve clarity of context usage instructions

[0.3.2] - 2025-04-03

Bug Fixes

  • Installation issue on linux where old versions are being installed
  • Prevent overwriting rule files after state update

Features

  • Improve AI instructions in context templates

Refactor

  • Streamline lc-code rule content

[0.3.1] - 2025-04-01

Bug Fixes

  • Remove unintended gitignores

Documentation

  • Improve context template instructions to prevent unnecessary file requests

Refactor

  • Remove hardcoded pattern lists and unused methods

[0.3.0] - 2025-03-31

Features

  • Replace profiles with Markdown/YAML-based rules

[0.2.18] - 2025-03-29

Features

  • Make context template instructions conditional on content
  • Implement profile file and rule references

[0.2.17] - 2025-03-25

Features

  • Integrate outline functionality into standard distribution
  • Optimize diagram generation and add .git to default ignores

[0.2.16] - 2025-03-24

Features

  • Replace no_media flag with pattern-based diagram_files filtering
  • Reorganize profile structure with system profiles / base gitignore

Refactor

  • Remove unused folder structure diagram
  • Replace profile settings with command parameters
  • Remove unused highlighter functionality

Mcp

  • Clarify when to use lc-get-files in templates

[0.2.15] - 2025-03-10

Bug Fixes

  • Clarify C/C++ implementation retrieval limitation in tool description

Features

  • Preserve custom profiles during config updates

[0.2.14] - 2025-03-09

Features

  • Expose (MCP & CLI) definition implementation extraction capabilities
  • Add explicit markers to prevent redundant context requests
  • Use name line for outlines and highlights

[0.2.13] - 2025-02-28

Bug Fixes

  • Fix hatch build problems

[0.2.11] - 2025-02-27

Bug Fixes

  • Broken build updated

Features

  • Improve parser performance with caching
  • Add code outlines command

[0.2.10] - 2025-02-25

Bug Fixes

  • Broken resource update

[0.2.9] - 2025-02-24

BREAKING

  • Switch configuration from TOML to YAML (customization in toml files has to be manually re-applied)

[0.2.9] - 2025-02-24

Bug Fixes

  • Ensure profile switch updates file selection correctly

Features

  • Add profile descriptions for better usability
  • Add .gitignore creation in .llm_context during init

[0.2.8] - 2025-02-09

Features

  • Migrate to tree-sitter-language-pack

[0.2.7] - 2025-02-01

Features

  • Add lc-prompt command to generate standalone prompts

[0.2.6] - 2025-01-15

Bug Fixes

  • Don't update timestamps on selection
  • Update list tools

Features

  • Add generation timestamp instructions in templates
  • Add file modification tracking
  • Prefix MCP tools with lc- for namespacing
  • Try to avoid redundant use of project_context

Refactor

  • Refine MCP related instructions

[0.2.2] - 2024-12-25

Features

  • Add absolute root path for get_files tool (for project / MCP interop)
  • Replace folder structure diagram with flat diagram

[0.2.1] - 2024-12-17

Bug Fixes

  • Remove templates key
  • Use system default profile in resolver

Features

  • Ensure file selection before context generation in MCP
  • Add "*.tmp" to ignored files
  • Add sample code-file profile
  • Add file output support via profile settings

[0.2.0] - 2024-12-06

Bug Fixes

  • Ensure correct profile persistence
  • Handle missing prompt template gracefully
  • Bad path in manifest
  • Attempt to prevent duplicate context retrieval
  • Update logging
  • Attempt to prevent duplicate file retrievals
  • Get server working again
  • Add fallback logger for exception handling
  • Keep using pipx until 'uv' tool is debugged
  • Use ValueError for missing profile validation
  • Bug introduced by warning key
  • Missing argument
  • Restore version map
  • Remove erroneous '*.scm' from gitignores in config.yaml

Features

  • Make profile templates optional in storage
  • Switch to tomlkit for better TOML handling
  • Persist active profile selection in state file
  • Add project notes with consistent naming for user/project notes
  • Integrate MCP template for improved API context output
  • Add personal notes support
  • Use package version for MCP server initialization
  • Add only-includes pattern filtering for file selection
  • Implement context generation MCP endpoints
  • Make tree-sitter dependency optional
  • Add version command for installed package
  • Partially tested switch from poetry to uv
  • Add profile inheritance via base property
  • Simplified config update
  • Implement independent profiles with separate gitignores, templates, and settings
  • Exclude non-text files based on extensions

Refactor

  • Renamed to profile_name for clarity
  • Rename local
  • Rename variables
  • Moved function def to keep all commands together
  • Remove redundant with_prompt setting
  • Rename with_notes setting to with_user_notes for clarity
  • Change user notes location to under home
  • Rename settings -> spec
  • Strip server code to essential
  • Rename folder_structure_diagram.py to folder_diagram.py
  • Restructure configuration and state management
  • Move default profile to system state only
  • Remove redundant with_logging decorator
  • Add IGNORE_NOTHING constant for minimal gitignore patterns
  • Renamed and reorganized classes
  • Rename commands.py -> cli.py
  • Rename classes, fix mypy, format
  • Break import cycle by moving ExecEnv import into logging util
  • Replace warnings with logging for user messages
  • Replace print with logging
  • Rename for accuracy
  • Removed side effects for clean state management - many small renames and restructuring deltas
  • Rename ContextConfig -> FilterDescriptor
  • Remove summary file
  • Make project root explicit
  • Split system state from user config
  • Add SystemState, ProfileTemplate, reorder classes
  • Rename and restructure context generation classes

[0.1.0] - 2024-09-20

Initial public release.

Features

  • Implement core functionality for generating LLM context from code repositories
  • Add support for multiple programming languages
  • Integrate smart file selection using .gitignore patterns
  • Implement clipboard integration for seamless LLM chat interaction
  • Add file outlining capabilities for large projects
  • Create command-line interface with multiple commands:
    • lc-init: Initialize LLM Context for a project
    • lc-sel-files: Select files for full content inclusion
    • lc-sel-outlines: Select files for outline inclusion
    • lc-context: Generate and copy context to clipboard
    • lc-read-cliplist: Process LLM-requested files
  • Add --with-prompt flag to lc-context command for including default prompt
  • Implement customizable ignore patterns via .llm-context/config.yaml
  • Add support for custom templates in .llm-context/templates/