@codedrifters/configulator 0.0.187 → 0.0.189
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.mts +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +124 -1
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +124 -1
- package/lib/index.mjs.map +1 -1
- package/package.json +3 -3
package/lib/index.d.mts
CHANGED
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -745,6 +745,129 @@ var baseBundle = {
|
|
|
745
745
|
].join("\n"),
|
|
746
746
|
tags: ["workflow"]
|
|
747
747
|
},
|
|
748
|
+
{
|
|
749
|
+
name: "issue-label-conventions",
|
|
750
|
+
description: "Priority and status label taxonomy, defaults, inference rules, and blocking rules for agent-created or updated issues",
|
|
751
|
+
scope: AGENT_RULE_SCOPE.ALWAYS,
|
|
752
|
+
content: [
|
|
753
|
+
"# Issue Label Conventions",
|
|
754
|
+
"",
|
|
755
|
+
"Every issue created or updated by an agent in **{{repository.owner}}/{{repository.name}}**",
|
|
756
|
+
"must carry exactly one `priority:*` label and exactly one `status:*` label.",
|
|
757
|
+
"These conventions apply to **all** agent bundles \u2014 do not redefine them",
|
|
758
|
+
"locally. The orchestrator and issue worker depend on this taxonomy.",
|
|
759
|
+
"",
|
|
760
|
+
"## Priority Labels",
|
|
761
|
+
"",
|
|
762
|
+
"Pick exactly one of the following:",
|
|
763
|
+
"",
|
|
764
|
+
"| Label | Criteria |",
|
|
765
|
+
"|-------|----------|",
|
|
766
|
+
"| `priority:critical` | Production is broken, blocked, or data at risk. Must start immediately. Use for outages, security incidents, regressions that block a release. |",
|
|
767
|
+
"| `priority:high` | Important work that should be next in the queue. Blocks other planned work, an epic's children, or a near-term deliverable. |",
|
|
768
|
+
"| `priority:medium` | Default for normal planned work. No immediate blocker but belongs in the current roadmap. |",
|
|
769
|
+
"| `priority:low` | Nice-to-have. Can be deferred without impact. Cleanups, minor polish, non-urgent refactors. |",
|
|
770
|
+
"| `priority:trivial` | Cosmetic or optional. Typos, formatting, stray comments. Safe to never pick up. |",
|
|
771
|
+
"",
|
|
772
|
+
"### Default Priority",
|
|
773
|
+
"",
|
|
774
|
+
"When the user has not indicated a priority and context provides no signal,",
|
|
775
|
+
"assign `priority:medium`.",
|
|
776
|
+
"",
|
|
777
|
+
"### Inference Heuristics",
|
|
778
|
+
"",
|
|
779
|
+
"Before defaulting to medium, scan the user's request and the issue context",
|
|
780
|
+
"for these signals:",
|
|
781
|
+
"",
|
|
782
|
+
"- **Urgency language** \u2014 words like *urgent*, *ASAP*, *immediately*, *now*,",
|
|
783
|
+
" *blocker*, *on fire* \u2192 `priority:critical`",
|
|
784
|
+
"- **Importance language** \u2014 words like *important*, *soon*, *need this*,",
|
|
785
|
+
" *next up*, *before launch* \u2192 `priority:high`",
|
|
786
|
+
"- **Deadlines** \u2014 an explicit due date within 7 days \u2192 `priority:high`;",
|
|
787
|
+
" within 24 hours or labeled as a release blocker \u2192 `priority:critical`",
|
|
788
|
+
"- **Blocker status** \u2014 the issue blocks another open issue, an epic child,",
|
|
789
|
+
" or a release \u2192 `priority:high` (or `priority:critical` if the blocked",
|
|
790
|
+
" work is itself critical)",
|
|
791
|
+
"- **Business impact** \u2014 revenue loss, customer-facing outage, security",
|
|
792
|
+
" exposure \u2192 `priority:critical`",
|
|
793
|
+
"- **Polish language** \u2014 *nice to have*, *minor*, *cleanup*, *whenever*,",
|
|
794
|
+
" *low priority* \u2192 `priority:low`",
|
|
795
|
+
"- **Cosmetic scope** \u2014 typo fixes, comment tweaks, formatting-only \u2192 `priority:trivial`",
|
|
796
|
+
"- **Meeting-note origin** \u2014 any issue created from reviewing meeting notes or",
|
|
797
|
+
" a meeting transcript \u2192 `priority:high` (meeting follow-ups are time-sensitive",
|
|
798
|
+
" and presumed important unless the note explicitly says otherwise)",
|
|
799
|
+
"",
|
|
800
|
+
"### Ask vs. Infer",
|
|
801
|
+
"",
|
|
802
|
+
"- **Infer** when the user's request contains at least one clear signal from",
|
|
803
|
+
" the heuristics above, or when the default (`priority:medium`) is clearly",
|
|
804
|
+
" appropriate (routine feature, refactor, or chore with no urgency cues).",
|
|
805
|
+
"- **Ask** before creating the issue when:",
|
|
806
|
+
' - The request mixes signals (e.g., "minor but blocks the release")',
|
|
807
|
+
" - The work would reasonably map to `priority:critical` \u2014 always confirm",
|
|
808
|
+
" before using the top tier",
|
|
809
|
+
" - The scope is ambiguous enough that medium vs. high is unclear **and**",
|
|
810
|
+
" the outcome would change how the orchestrator sequences work",
|
|
811
|
+
"- When asking, pose a single question with the candidate levels, e.g.",
|
|
812
|
+
' "Is this `priority:high` (next in queue) or `priority:medium` (normal)?"',
|
|
813
|
+
"",
|
|
814
|
+
"## Status Labels",
|
|
815
|
+
"",
|
|
816
|
+
"Pick exactly one of the following. Status reflects where the issue sits in",
|
|
817
|
+
"the workflow, not the nature of the work.",
|
|
818
|
+
"",
|
|
819
|
+
"| Label | Criteria |",
|
|
820
|
+
"|-------|----------|",
|
|
821
|
+
"| `status:ready` | The issue is fully specified, has no open blockers, and is available for a worker to pick up. |",
|
|
822
|
+
"| `status:blocked` | The issue cannot be started yet \u2014 either it declares `Depends on: #N` on an open issue, or it is an epic with one or more open children. |",
|
|
823
|
+
"| `status:in-progress` | A worker has claimed the issue and a branch exists. Set when the worker starts; cleared only on completion or failure. |",
|
|
824
|
+
"| `status:needs-attention` | Automated triage has flagged the issue for human review (stale, failed worker, or ambiguous state). Humans reset this label manually. |",
|
|
825
|
+
"| `status:done` | The change has shipped. Usually set when the PR merges and the issue closes. |",
|
|
826
|
+
"",
|
|
827
|
+
"### Blocking Rules",
|
|
828
|
+
"",
|
|
829
|
+
"Two rules force `status:blocked` \u2014 both are non-negotiable:",
|
|
830
|
+
"",
|
|
831
|
+
"1. **Epic-blocking rule.** Any issue of GitHub type *Epic* that has one or",
|
|
832
|
+
" more open child issues must carry `status:blocked`. Only flip it to",
|
|
833
|
+
" `status:ready` (or close it) once every child is resolved.",
|
|
834
|
+
"2. **Dependency-blocking rule.** Any issue whose body contains a",
|
|
835
|
+
" `Depends on: #N` line referencing an open issue must carry",
|
|
836
|
+
" `status:blocked` for as long as that dependency remains open.",
|
|
837
|
+
" When all referenced dependencies close, transition to `status:ready`.",
|
|
838
|
+
"",
|
|
839
|
+
"### Status Transitions",
|
|
840
|
+
"",
|
|
841
|
+
"Agents transition status labels at these well-defined points:",
|
|
842
|
+
"",
|
|
843
|
+
"- **Issue creation** \u2192 `status:ready` by default, or `status:blocked` if",
|
|
844
|
+
" either blocking rule applies.",
|
|
845
|
+
"- **Worker claims the issue** \u2192 remove `status:ready`, add",
|
|
846
|
+
" `status:in-progress`. A branch must exist before this transition.",
|
|
847
|
+
"- **Worker opens a PR** \u2192 leave `status:in-progress` in place until the",
|
|
848
|
+
" PR merges. Do not pre-flip to `status:done`.",
|
|
849
|
+
"- **PR merges / issue closes** \u2192 remove `status:in-progress`, add",
|
|
850
|
+
" `status:done`.",
|
|
851
|
+
"- **Dependency resolves** \u2192 if the issue was `status:blocked` solely because",
|
|
852
|
+
" of the dependency-blocking rule, remove `status:blocked` and add",
|
|
853
|
+
" `status:ready`.",
|
|
854
|
+
"- **Automated flag** \u2192 add `status:needs-attention` (do not remove existing",
|
|
855
|
+
" status). Never auto-reset a `status:needs-attention` issue back to ready;",
|
|
856
|
+
" a human must decide.",
|
|
857
|
+
"- **PR CI failure** \u2192 add `status:needs-attention` to the associated PR (and",
|
|
858
|
+
" its linked issue) when CI fails in a **permanent** state \u2014 i.e. the failure",
|
|
859
|
+
" persists after a rerun, or the failure is clearly not a flake (compile",
|
|
860
|
+
" errors, failing assertions, type errors, broken builds). Do **not** flag",
|
|
861
|
+
" when CI self-mutates the PR and the follow-up run passes \u2014 for example,",
|
|
862
|
+
" lint auto-fixes, formatter commits, or snapshot/lockfile updates pushed",
|
|
863
|
+
" by CI. Those are expected self-healing behaviors, not failures.",
|
|
864
|
+
"",
|
|
865
|
+
"An issue must always carry exactly one of `status:ready`, `status:blocked`,",
|
|
866
|
+
"`status:in-progress`, or `status:done`. The `status:needs-attention` label",
|
|
867
|
+
"is additive \u2014 it coexists with whichever of those four applies."
|
|
868
|
+
].join("\n"),
|
|
869
|
+
tags: ["workflow"]
|
|
870
|
+
},
|
|
748
871
|
{
|
|
749
872
|
name: "issue-conventions",
|
|
750
873
|
description: "Issue title prefixes, GitHub issue type mapping, prerequisite issues",
|
|
@@ -2856,7 +2979,7 @@ var VERSION = {
|
|
|
2856
2979
|
/**
|
|
2857
2980
|
* Version of Projen to use.
|
|
2858
2981
|
*/
|
|
2859
|
-
PROJEN_VERSION: "0.99.
|
|
2982
|
+
PROJEN_VERSION: "0.99.48",
|
|
2860
2983
|
/**
|
|
2861
2984
|
* What version of the turborepo library should we use?
|
|
2862
2985
|
*/
|