Skip to content

Commit a501ee6

Browse files
authored
Merge pull request #966 from opsmill/infrahub-develop
Merge 'infrahub-develop' into 'stable'
2 parents f17e494 + 096feba commit a501ee6

120 files changed

Lines changed: 10445 additions & 1064 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.specify/scripts/bash/common.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ get_current_branch() {
2828

2929
# For non-git repos, try to find the latest feature directory
3030
local repo_root=$(get_repo_root)
31-
local specs_dir="$repo_root/specs"
31+
local specs_dir="$repo_root/dev/specs"
3232

3333
if [[ -d "$specs_dir" ]]; then
3434
local latest_feature=""
@@ -81,14 +81,14 @@ check_feature_branch() {
8181
return 0
8282
}
8383

84-
get_feature_dir() { echo "$1/specs/$2"; }
84+
get_feature_dir() { echo "$1/dev/specs/$2"; }
8585

8686
# Find feature directory by numeric prefix instead of exact branch match
8787
# This allows multiple branches to work on the same spec (e.g., 004-fix-bug, 004-add-feature)
8888
find_feature_dir_by_prefix() {
8989
local repo_root="$1"
9090
local branch_name="$2"
91-
local specs_dir="$repo_root/specs"
91+
local specs_dir="$repo_root/dev/specs"
9292

9393
# Extract numeric prefix from branch (e.g., "004" from "004-whatever")
9494
if [[ ! "$branch_name" =~ ^([0-9]{3})- ]]; then
@@ -99,7 +99,7 @@ find_feature_dir_by_prefix() {
9999

100100
local prefix="${BASH_REMATCH[1]}"
101101

102-
# Search for directories in specs/ that start with this prefix
102+
# Search for directories in dev/specs/ that start with this prefix
103103
local matches=()
104104
if [[ -d "$specs_dir" ]]; then
105105
for dir in "$specs_dir"/"$prefix"-*; do

.specify/templates/plan-template.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Implementation Plan: [FEATURE]
22

33
**Branch**: `[###-feature-name]` | **Date**: [DATE] | **Spec**: [link]
4-
**Input**: Feature specification from `/specs/[###-feature-name]/spec.md`
4+
**Input**: Feature specification from `/dev/specs/[###-feature-name]/spec.md`
55

66
**Note**: This template is filled in by the `/speckit.plan` command. See `.specify/templates/commands/plan.md` for the execution workflow.
77

@@ -38,7 +38,7 @@
3838
### Documentation (this feature)
3939

4040
```text
41-
specs/[###-feature]/
41+
dev/specs/[###-feature]/
4242
├── plan.md # This file (/speckit.plan command output)
4343
├── research.md # Phase 0 output (/speckit.plan command)
4444
├── data-model.md # Phase 1 output (/speckit.plan command)

.specify/templates/tasks-template.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: "Task list template for feature implementation"
55

66
# Tasks: [FEATURE NAME]
77

8-
**Input**: Design documents from `/specs/[###-feature-name]/`
8+
**Input**: Design documents from `/dev/specs/[###-feature-name]/`
99
**Prerequisites**: plan.md (required), spec.md (required for user stories), research.md, data-model.md, contracts/
1010

1111
**Tests**: The examples below include test tasks. Tests are OPTIONAL - only include them if explicitly requested in the feature specification.

.vale/styles/spelling-exceptions.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ validators
133133
Version Control
134134
Vitest
135135
VLANs
136+
yaml
136137
Yaml
137138
yamllint
138139
YouTube

AGENTS.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,14 @@ Key rules:
8787
- Modify generated code (protocols.py)
8888
- Bypass type checking without justification
8989

90+
## Knowledge base
91+
92+
Deep-dive docs on architecture and workflows live in `dev/knowledge/`. Read these before making changes to the areas they cover.
93+
94+
- [dev/knowledge/cli-architecture.md](dev/knowledge/cli-architecture.md) - CLI command hierarchy and design rules
95+
- [dev/knowledge/cli-design-principles.md](dev/knowledge/cli-design-principles.md) - Principles for writing CLI commands (no pre-validation, phrasing, etc.)
96+
- [dev/knowledge/doc-generation.md](dev/knowledge/doc-generation.md) - How docs are auto-generated from code
97+
9098
## Subdirectory guides
9199

92100
- [docs/AGENTS.md](docs/AGENTS.md) - Documentation (Docusaurus)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Add `artifact_content`, `file_object_content`, `from_json`, and `from_yaml` Jinja2 filters for artifact content composition in templates.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Replace `FilterDefinition.trusted: bool` with flag-based `ExecutionContext` model (`CORE`, `WORKER`, `LOCAL`) for context-aware template validation. `validate()` now accepts an optional `context` parameter. Backward compatible.

changelog/+infp380.removed.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Removed the deprecated `raise_for_error` argument from `execute_graphql`, `query_gql_query`, `get_diff_summary`, `allocate_next_ip_address`, and `allocate_next_ip_prefix` client methods. HTTP errors are now always raised via `resp.raise_for_status()`.

changelog/654.fixed.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Allow direct assignment of authentication method to the configuration to override settings from environment variables.

changelog/958.fixed.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fixed `ObjectStore.get()` and `ObjectStore.upload()` silently swallowing non-2xx HTTP errors instead of raising them.

0 commit comments

Comments
 (0)