Skip to content

Commit 5735c28

Browse files
authored
Docs/improved issue templates (Pipelex#170)
- improved issue templates - updated Azure/OpenAI integrations, using dated deployment names systematically - changed Makefile targets like `make doc` to `make docs` for consistency
1 parent aba922f commit 5735c28

15 files changed

Lines changed: 231 additions & 115 deletions

File tree

.cursor/rules/llms.mdc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ An llm_handle matches the handle (an id of sorts) with the full specification of
2020
The declaration of llm_handles looks like this in toml syntax:
2121
```toml
2222
[llm_handles]
23-
gpt-4o-2024-08-06 = { llm_name = "gpt-4o", llm_version = "2024-08-06" }
23+
gpt-4o-2024-11-20 = { llm_name = "gpt-4o", llm_version = "2024-11-20" }
2424
```
2525

2626
In mosty cases, we only want to use version "latest" and llm_platform_choice "default" in which case the declaration is simply a match of the llm_handle to the llm_name, like this:

.github/DISCUSSION_TEMPLATE/new_idea.md

Lines changed: 0 additions & 52 deletions
This file was deleted.

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: 💬 Ask a question
4+
url: https://github.com/Pipelex/pipelex/discussions
5+
about: "Please start a Discussion instead of filing a blank issue."

.github/ISSUE_TEMPLATE/feature_request.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,15 @@ body:
3333
id: proposal
3434
attributes:
3535
label: "Proposed solution"
36-
placeholder: "Describe the feature youd like to see."
36+
placeholder: "Describe the feature you'd like to see."
3737
validations:
3838
required: false
3939

4040
- type: textarea
4141
id: alternatives
4242
attributes:
4343
label: "Alternatives considered"
44-
placeholder: "Any work-arounds youve tried or other approaches you considered."
44+
placeholder: "Any work-arounds you've tried or other approaches you considered."
4545
validations:
4646
required: false
4747

.github/ISSUE_TEMPLATE/general.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: "📝 General issue"
2+
description: "Use this for questions, docs tweaks, refactors, or anything that isn't a Bug or Feature request."
3+
type: Task
4+
labels:
5+
- status:needs-triage
6+
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: |
11+
**Thanks for opening an issue!**
12+
This form is for ideas or tasks that don't fit the Bug or Feature templates.
13+
14+
- type: checkboxes
15+
id: confirmations
16+
attributes:
17+
label: "Before submitting"
18+
options:
19+
- label: "I've checked [open issues](issues?q=is%3Aissue%20state%3Aopen) and found no similar item"
20+
required: true
21+
- label: "It's not really a bug report or a feature request"
22+
required: false
23+
24+
- type: textarea
25+
id: summary
26+
attributes:
27+
label: "What would you like to discuss or change?"
28+
placeholder: |
29+
A clear, concise description of the question, enhancement, refactor, or documentation update.
30+
validations:
31+
required: true
32+
33+
- type: textarea
34+
id: context
35+
attributes:
36+
label: "Relevant context (optional)"
37+
placeholder: |
38+
Links, screenshots, or any additional details that will help us understand.
39+
validations:
40+
required: false
41+
42+
- type: dropdown
43+
id: contribution
44+
attributes:
45+
label: Would you like to help drive or implement this?
46+
options:
47+
- "Not at this time"
48+
- "Yes, I'd like to contribute"
49+
validations:
50+
required: false

.github/pipelex_labels.json

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
[
2+
{
3+
"name": "priority:P0",
4+
"color": "B60205",
5+
"description": "Critical — stop the line"
6+
},
7+
{
8+
"name": "priority:P1",
9+
"color": "D93F0B",
10+
"description": "High priority"
11+
},
12+
{
13+
"name": "priority:P2",
14+
"color": "E36209",
15+
"description": "Normal priority"
16+
},
17+
{
18+
"name": "priority:P3",
19+
"color": "FBCA04",
20+
"description": "Low priority"
21+
},
22+
{
23+
"name": "status:needs-triage",
24+
"color": "A2BFFC",
25+
"description": "Awaiting triage"
26+
},
27+
{
28+
"name": "status:needs-info",
29+
"color": "1E90FF",
30+
"description": "Needs more information"
31+
},
32+
{
33+
"name": "status:blocked",
34+
"color": "004385",
35+
"description": "Work is blocked"
36+
},
37+
{
38+
"name": "status:in-progress",
39+
"color": "0969DA",
40+
"description": "Currently being worked on"
41+
},
42+
{
43+
"name": "status:review",
44+
"color": "6CA4F8",
45+
"description": "Awaiting code review"
46+
},
47+
{
48+
"name": "status:done",
49+
"color": "14866D",
50+
"description": "Completed / merged"
51+
},
52+
{
53+
"name": "status:duplicate",
54+
"color": "6F42C1",
55+
"description": "May close as soon as it's verified."
56+
},
57+
{
58+
"name": "status:not-planned",
59+
"color": "6A737D",
60+
"description": "Signals a likely won't-fix before formal closure."
61+
},
62+
{
63+
"name": "status:invalid",
64+
"color": "E4E669",
65+
"description": "Needs more info or out of scope."
66+
},
67+
{
68+
"name": "area:api",
69+
"color": "0E8A16",
70+
"description": "Backend & public API"
71+
},
72+
{
73+
"name": "area:cli",
74+
"color": "1A7F37",
75+
"description": "Command-line interface"
76+
},
77+
{
78+
"name": "area:core",
79+
"color": "005630",
80+
"description": "Core library logic"
81+
},
82+
{
83+
"name": "area:docs",
84+
"color": "28A745",
85+
"description": "Documentation"
86+
},
87+
{
88+
"name": "area:tests",
89+
"color": "7FDA9E",
90+
"description": "Unit / integration / e2e tests"
91+
},
92+
{
93+
"name": "good first issue",
94+
"color": "FFD33D",
95+
"description": "Great for new contributors"
96+
},
97+
{
98+
"name": "help wanted",
99+
"color": "FFEA7F",
100+
"description": "Maintainers would love help"
101+
}
102+
]
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,4 @@ jobs:
3333
run: uv pip install -e ".[docs]"
3434

3535
- name: Deploy documentation
36-
run: make doc-deploy
36+
run: make docs-deploy

Makefile

Lines changed: 46 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -82,12 +82,19 @@ make to - Shorthand -> test-ocr
8282
make test-imgg - Run unit tests only for imgg (with prints)
8383
make test-g - Shorthand -> test-imgg
8484

85+
make check-unused-imports - Check for unused imports without fixing
86+
make fix-unused-imports - Fix unused imports with ruff
87+
make fui - Shorthand -> fix-unused-imports
88+
make check-TODOs - Check for TODOs
89+
90+
make docs - Serve documentation with mkdocs
91+
make docs-check - Check documentation build with mkdocs
92+
make docs-deploy - Deploy documentation with mkdocs
93+
8594
make check - Shorthand -> format lint mypy
8695
make c - Shorthand -> check
8796
make cc - Shorthand -> cleanderived check
8897
make li - Shorthand -> lock install
89-
make check-unused-imports - Check for unused imports without fixing
90-
make fix-unused-imports - Fix unused imports with ruff
9198

9299
endef
93100
export HELP
@@ -101,7 +108,7 @@ export HELP
101108
run-all-tests run-manual-trigger-gha-tests run-gha_disabled-tests \
102109
validate v check c cc \
103110
merge-check-ruff-lint merge-check-ruff-format merge-check-mypy merge-check-pyright \
104-
li check-unused-imports fix-unused-imports check-uv check-TODOs doc doc-check
111+
li check-unused-imports fix-unused-imports check-uv check-TODOs docs docs-check docs-deploy
105112

106113
all help:
107114
@echo "$$HELP"
@@ -390,45 +397,59 @@ merge-check-mypy: env
390397
$(VENV_MYPY) --config-file pyproject.toml
391398

392399
##########################################################################################
393-
### SHORTHANDS
400+
### MISCELLANEOUS
394401
##########################################################################################
395402

396403
check-unused-imports: env
397404
$(call PRINT_TITLE,"Checking for unused imports without fixing")
398405
$(VENV_RUFF) check --select=F401 --no-fix .
399406

400-
c: init format lint pyright mypy
401-
@echo "> done: c = check"
402-
403-
cc: init cleanderived c
404-
@echo "> done: cc = init cleanderived init format lint pyright mypy"
405-
406-
check: cc check-unused-imports
407-
@echo "> done: check"
408-
409-
v: init validate
410-
@echo "> done: v = validate"
407+
fix-unused-imports: env
408+
$(call PRINT_TITLE,"Fixing unused imports")
409+
$(VENV_RUFF) check --select=F401 --fix .
411410

412-
li: lock install
413-
@echo "> done: lock install"
411+
fui: fix-unused-imports
412+
@echo "> done: fui = fix-unused-imports"
414413

415414
check-TODOs: env
416415
$(call PRINT_TITLE,"Checking for TODOs")
417-
$(VENV_RUFF) check --select=TD .
416+
@$(VENV_RUFF) check --select=TD -v .
418417

419-
fix-unused-imports: env
420-
$(call PRINT_TITLE,"Fixing unused imports")
421-
$(VENV_RUFF) check --select=F401 --fix .
418+
##########################################################################################
419+
### DOCUMENTATION
420+
##########################################################################################
422421

423-
doc: env
422+
docs: env
424423
$(call PRINT_TITLE,"Serving documentation with mkdocs")
425424
$(VENV_MKDOCS) serve
426425

427-
doc-check: env
426+
docs-check: env
428427
$(call PRINT_TITLE,"Checking documentation build with mkdocs")
429428
$(VENV_MKDOCS) build --strict
430429

431-
doc-deploy: env
430+
docs-deploy: env
432431
$(call PRINT_TITLE,"Deploying documentation with mkdocs")
433432
$(VENV_MKDOCS) gh-deploy --force --clean
434-
433+
434+
##########################################################################################
435+
### SHORTHANDS
436+
##########################################################################################
437+
438+
check-unused-imports: env
439+
$(call PRINT_TITLE,"Checking for unused imports without fixing")
440+
$(VENV_RUFF) check --select=F401 --no-fix .
441+
442+
c: init format lint pyright mypy
443+
@echo "> done: c = check"
444+
445+
cc: init cleanderived c
446+
@echo "> done: cc = init cleanderived init format lint pyright mypy"
447+
448+
check: cc check-unused-imports
449+
@echo "> done: check"
450+
451+
v: init validate
452+
@echo "> done: v = validate"
453+
454+
li: lock install
455+
@echo "> done: lock install"

docs/pages/build-reliable-ai-workflows-with-pipelex/configure-ai-llm-to-optimize-workflows.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ An LLM handle is a unique identifier that maps to a specific LLM configuration.
2222

2323
```toml
2424
[llm_handles]
25-
gpt-4o-2024-08-06 = { llm_name = "gpt-4o", llm_version = "2024-08-06" }
25+
gpt-4o-2024-11-20 = { llm_name = "gpt-4o", llm_version = "2024-11-20" }
2626
```
2727

2828
There's a much simpler syntax if you want a handle to the latest version and default platform:

pipelex/cogt/content_generation/content_generator_dry.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ async def make_object_direct( # pyright: ignore[reportIncompatibleMethodOverrid
6161

6262
class ObjectFactory(ModelFactory[object_class]): # type: ignore
6363
__model__ = object_class
64+
__check_model__ = True
6465
__use_examples__ = True
6566
__allow_none_optionals__ = False # Ensure Optional fields always get values
6667

0 commit comments

Comments
 (0)