Packages
A config-driven dev tool for Elixir projects to manage AGENTS.md files and agent skills from dependencies
Current section
42 Versions
Jump to
Current section
42 Versions
Compare versions
4
files changed
+43
additions
-34
deletions
| @@ -5,6 +5,15 @@ See [Conventional Commits](Https://conventionalcommits.org) for commit guideline | |
| 5 5 | |
| 6 6 | <!-- changelog --> |
| 7 7 | |
| 8 | + ## v0.1.7 (2025-06-23) |
| 9 | + |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | + ### Bug Fixes: |
| 14 | + |
| 15 | + * usage proper markdown comments by Zach Daniel |
| 16 | + |
| 8 17 | ## v0.1.6 (2025-06-06) |
| @@ -6,7 +6,7 @@ | |
| 6 6 | {<<"GitHub">>,<<"https://github.com/ash-project/usage_rules">>}, |
| 7 7 | {<<"Website">>,<<"https://ash-hq.org">>}]}. |
| 8 8 | {<<"name">>,<<"usage_rules">>}. |
| 9 | - {<<"version">>,<<"0.1.6">>}. |
| 9 | + {<<"version">>,<<"0.1.7">>}. |
| 10 10 | {<<"description">>, |
| 11 11 | <<"A dev tool for Elixir projects to gather LLM usage rules from dependencies">>}. |
| 12 12 | {<<"elixir">>,<<"~> 1.18">>}. |
| @@ -418,18 +418,18 @@ if Code.ensure_loaded?(Igniter) do | |
| 418 418 | end |
| 419 419 | |
| 420 420 | {name, |
| 421 | - "<-- #{name}-start -->\n" <> |
| 421 | + "<!-- #{name}-start -->\n" <> |
| 422 422 | "## #{name} usage\n" <> |
| 423 423 | content <> |
| 424 | - "\n<-- #{name}-end -->"} |
| 424 | + "\n<!-- #{name}-end -->"} |
| 425 425 | end) |
| 426 426 | |
| 427 427 | package_rules_content = Enum.map_join(package_contents, "\n", &elem(&1, 1)) |
| 428 428 | |
| 429 429 | full_contents_for_new_file = |
| 430 | - "<-- usage-rules-start -->\n" <> |
| 430 | + "<!-- usage-rules-start -->\n" <> |
| 431 431 | package_rules_content <> |
| 432 | - "\n<-- usage-rules-end -->" |
| 432 | + "\n<!-- usage-rules-end -->" |
| 433 433 | |
| 434 434 | Igniter.create_or_update_file( |
| 435 435 | igniter, |
| @@ -440,16 +440,16 @@ if Code.ensure_loaded?(Igniter) do | |
| 440 440 | |
| 441 441 | new_content = |
| 442 442 | case String.split(current_contents, [ |
| 443 | - "<-- usage-rules-start -->\n", |
| 444 | - "\n<-- usage-rules-end -->" |
| 443 | + "<!-- usage-rules-start -->\n", |
| 444 | + "\n<!-- usage-rules-end -->" |
| 445 445 | ]) do |
| 446 446 | [prelude, current_packages_contents, postlude] -> |
| 447 447 | Enum.reduce(package_contents, current_packages_contents, fn {name, |
| 448 448 | package_content}, |
| 449 449 | acc -> |
| 450 450 | case String.split(acc, [ |
| 451 | - "<-- #{name}-start -->\n", |
| 452 | - "\n<-- #{name}-end -->" |
| 451 | + "<!-- #{name}-start -->\n", |
| 452 | + "\n<!-- #{name}-end -->" |
| 453 453 | ]) do |
| 454 454 | [prelude, _, postlude] -> |
| 455 455 | prelude <> package_content <> postlude |
| @@ -460,17 +460,17 @@ if Code.ensure_loaded?(Igniter) do | |
| 460 460 | end) |
| 461 461 | |> then(fn content -> |
| 462 462 | prelude <> |
| 463 | - "<-- usage-rules-start -->\n" <> |
| 463 | + "<!-- usage-rules-start -->\n" <> |
| 464 464 | content <> |
| 465 | - "\n<-- usage-rules-end -->" <> |
| 465 | + "\n<!-- usage-rules-end -->" <> |
| 466 466 | postlude |
| 467 467 | end) |
| 468 468 | |
| 469 469 | _ -> |
| 470 470 | current_contents <> |
| 471 | - "\n<-- usage-rules-start -->\n" <> |
| 471 | + "\n<!-- usage-rules-start -->\n" <> |
| 472 472 | package_rules_content <> |
| 473 | - "\n<-- usage-rules-end -->\n" |
| 473 | + "\n<!-- usage-rules-end -->\n" |
| 474 474 | end |
| 475 475 | |
| 476 476 | Rewrite.Source.update(source, :content, new_content) |
| @@ -524,18 +524,18 @@ if Code.ensure_loaded?(Igniter) do | |
| 524 524 | end |
| 525 525 | |
| 526 526 | {name, |
| 527 | - "<-- #{name}-start -->\n" <> |
| 527 | + "<!-- #{name}-start -->\n" <> |
| 528 528 | "## #{name} usage\n" <> |
| 529 529 | link_content <> |
| 530 | - "\n<-- #{name}-end -->"} |
| 530 | + "\n<!-- #{name}-end -->"} |
| 531 531 | end) |
| 532 532 | |
| 533 533 | package_rules_content = Enum.map_join(package_contents, "\n", &elem(&1, 1)) |
| 534 534 | |
| 535 535 | full_contents_for_new_file = |
| 536 | - "<-- usage-rules-start -->\n" <> |
| 536 | + "<!-- usage-rules-start -->\n" <> |
| 537 537 | package_rules_content <> |
| 538 | - "\n<-- usage-rules-end -->" |
| 538 | + "\n<!-- usage-rules-end -->" |
| 539 539 | |
| 540 540 | Igniter.create_or_update_file( |
| 541 541 | igniter, |
| @@ -546,16 +546,16 @@ if Code.ensure_loaded?(Igniter) do | |
| 546 546 | |
| 547 547 | new_content = |
| 548 548 | case String.split(current_contents, [ |
| 549 | - "<-- usage-rules-start -->\n", |
| 550 | - "\n<-- usage-rules-end -->" |
| 549 | + "<!-- usage-rules-start -->\n", |
| 550 | + "\n<!-- usage-rules-end -->" |
| 551 551 | ]) do |
| 552 552 | [prelude, current_packages_contents, postlude] -> |
| 553 553 | Enum.reduce(package_contents, current_packages_contents, fn {name, |
| 554 554 | package_content}, |
| 555 555 | acc -> |
| 556 556 | case String.split(acc, [ |
| 557 | - "<-- #{name}-start -->\n", |
| 558 | - "\n<-- #{name}-end -->" |
| 557 | + "<!-- #{name}-start -->\n", |
| 558 | + "\n<!-- #{name}-end -->" |
| 559 559 | ]) do |
| 560 560 | [prelude, _, postlude] -> |
| 561 561 | prelude <> package_content <> postlude |
| @@ -566,17 +566,17 @@ if Code.ensure_loaded?(Igniter) do | |
| 566 566 | end) |
| 567 567 | |> then(fn content -> |
| 568 568 | prelude <> |
| 569 | - "<-- usage-rules-start -->\n" <> |
| 569 | + "<!-- usage-rules-start -->\n" <> |
| 570 570 | content <> |
| 571 | - "\n<-- usage-rules-end -->" <> |
| 571 | + "\n<!-- usage-rules-end -->" <> |
| 572 572 | postlude |
| 573 573 | end) |
| 574 574 | |
| 575 575 | _ -> |
| 576 576 | current_contents <> |
| 577 | - "\n<-- usage-rules-start -->\n" <> |
| 577 | + "\n<!-- usage-rules-start -->\n" <> |
| 578 578 | package_rules_content <> |
| 579 | - "\n<-- usage-rules-end -->\n" |
| 579 | + "\n<!-- usage-rules-end -->\n" |
| 580 580 | end |
| 581 581 | |
| 582 582 | Rewrite.Source.update(source, :content, new_content) |
| @@ -615,8 +615,8 @@ if Code.ensure_loaded?(Igniter) do | |
| 615 615 | end |
| 616 616 | |
| 617 617 | defp remove_package_from_content(content, package_name) do |
| 618 | - package_start_marker = "<-- #{package_name}-start -->\n" |
| 619 | - package_end_marker = "\n<-- #{package_name}-end -->" |
| 618 | + package_start_marker = "<!-- #{package_name}-start -->\n" |
| 619 | + package_end_marker = "\n<!-- #{package_name}-end -->" |
| 620 620 | |
| 621 621 | case String.split(content, [package_start_marker, package_end_marker]) do |
| 622 622 | [prelude, _package_content, postlude] -> |
| @@ -638,9 +638,9 @@ if Code.ensure_loaded?(Igniter) do | |
| 638 638 | |
| 639 639 | defp clean_empty_package_rules_section(content) do |
| 640 640 | # Handle both cases: empty section and section with only whitespace |
| 641 | - case String.split(content, "<-- usage-rules-start -->") do |
| 641 | + case String.split(content, "<!-- usage-rules-start -->") do |
| 642 642 | [prelude, remainder] -> |
| 643 | - case String.split(remainder, "<-- usage-rules-end -->") do |
| 643 | + case String.split(remainder, "<!-- usage-rules-end -->") do |
| 644 644 | [package_section, postlude] -> |
| 645 645 | # Check if package section is empty or only contains whitespace |
| 646 646 | if String.trim(package_section) == "" do |
| @@ -656,8 +656,8 @@ if Code.ensure_loaded?(Igniter) do | |
| 656 656 | else |
| 657 657 | # Keep the usage-rules section |
| 658 658 | prelude <> |
| 659 | - "<-- usage-rules-start -->" <> |
| 660 | - package_section <> "<-- usage-rules-end -->" <> postlude |
| 659 | + "<!-- usage-rules-start -->" <> |
| 660 | + package_section <> "<!-- usage-rules-end -->" <> postlude |
| 661 661 | end |
| 662 662 | |
| 663 663 | _ -> |
| @@ -678,8 +678,8 @@ if Code.ensure_loaded?(Igniter) do | |
| 678 678 | file_content, |
| 679 679 | link_to_folder |
| 680 680 | ) do |
| 681 | - package_start_marker = "<-- #{name}-start -->" |
| 682 | - package_end_marker = "<-- #{name}-end -->" |
| 681 | + package_start_marker = "<!-- #{name}-start -->" |
| 682 | + package_end_marker = "<!-- #{name}-end -->" |
| 683 683 | |
| 684 684 | case String.split(file_content, [package_start_marker, package_end_marker]) do |
| 685 685 | [_, current_package_content, _] -> |
| @@ -1,7 +1,7 @@ | |
| 1 1 | defmodule UsageRules.MixProject do |
| 2 2 | use Mix.Project |
| 3 3 | |
| 4 | - @version "0.1.6" |
| 4 | + @version "0.1.7" |
| 5 5 | @description """ |
| 6 6 | A dev tool for Elixir projects to gather LLM usage rules from dependencies |
| 7 7 | """ |