@logickernel/agileflow 0.1.0

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.
@@ -0,0 +1,232 @@
1
+ # Configuration Guide
2
+
3
+ AgileFlow uses environment variables for configuration, making it easy to customize behavior across different environments and deployment scenarios.
4
+
5
+ ## Environment Variables
6
+
7
+ ### Required Variables
8
+
9
+ These environment variables must be set for AgileFlow to function properly:
10
+
11
+ #### GitLab CI/CD Variables
12
+
13
+ - **`GITLAB_USER_NAME`** - Username for git commits and tag creation
14
+ - **Example**: `AgileFlow Bot`
15
+ - **Purpose**: Sets the author name for version tags and commits
16
+ - **Required**: Yes
17
+
18
+ - **`GITLAB_USER_EMAIL`** - Email address for git commits and tag creation
19
+ - **Example**: `agileflow@example.com`
20
+ - **Purpose**: Sets the author email for version tags and commits
21
+ - **Required**: Yes
22
+
23
+ - **`CI_SERVER_HOST`** - GitLab server hostname
24
+ - **Example**: `gitlab.example.com`
25
+ - **Purpose**: Used for generating commit pipeline URLs and API calls
26
+ - **Required**: Yes
27
+
28
+ - **`CI_PROJECT_PATH`** - GitLab project path (group/project)
29
+ - **Example**: `mygroup/myproject`
30
+ - **Purpose**: Used for API calls and URL generation
31
+ - **Required**: Yes
32
+
33
+ - **`AGILEFLOW_TOKEN`** - GitLab access token with API permissions
34
+ - **Example**: `glpat-xxxxxxxxxxxxxxxxxxxx`
35
+ - **Purpose**: Authenticates API calls for tag creation and repository access
36
+ - **Required**: Yes
37
+ - **Scopes**: `api` access required
38
+ - **Role**: `maintainer` or higher recommended
39
+
40
+ ### Optional Variables
41
+
42
+ These variables can be set to customize AgileFlow behavior:
43
+
44
+ #### Version Generation
45
+
46
+ - **`AGILEFLOW_MAX_COMMIT_LINES`** - Maximum number of commit lines in release notes
47
+ - **Default**: `50`
48
+ - **Example**: `100`
49
+ - **Purpose**: Controls the length of generated release notes
50
+
51
+ - **`AGILEFLOW_INCLUDE_MERGE_COMMITS`** - Whether to include merge commits in release notes
52
+ - **Default**: `false`
53
+ - **Example**: `true`
54
+ - **Purpose**: Controls whether merge commits appear in release notes
55
+
56
+ #### Git Configuration
57
+
58
+ - **`GIT_COMMITTER_NAME`** - Override committer name (if different from author)
59
+ - **Default**: Uses `GITLAB_USER_NAME`
60
+ - **Example**: `CI Bot`
61
+ - **Purpose**: Sets the committer name for git operations
62
+
63
+ - **`GIT_COMMITTER_EMAIL`** - Override committer email (if different from author)
64
+ - **Default**: Uses `GITLAB_USER_EMAIL`
65
+ - **Example**: `ci@example.com`
66
+ - **Purpose**: Sets the committer email for git operations
67
+
68
+ ## Configuration Examples
69
+
70
+ ### Basic GitLab CI Configuration
71
+
72
+ ```yaml
73
+ # .gitlab-ci.yml
74
+ variables:
75
+ GITLAB_USER_NAME: "AgileFlow Bot"
76
+ GITLAB_USER_EMAIL: "agileflow@example.com"
77
+ CI_SERVER_HOST: "gitlab.example.com"
78
+ CI_PROJECT_PATH: "mygroup/myproject"
79
+
80
+ include:
81
+ - local: templates/AgileFlow.gitlab-ci.yml
82
+
83
+ build:
84
+ stage: build
85
+ script:
86
+ - echo "Building version ${VERSION}"
87
+ needs:
88
+ - agileflow
89
+ ```
90
+
91
+ ### Advanced Configuration with Custom Options
92
+
93
+ ```yaml
94
+ # .gitlab-ci.yml
95
+ variables:
96
+ GITLAB_USER_NAME: "AgileFlow Bot"
97
+ GITLAB_USER_EMAIL: "agileflow@example.com"
98
+ CI_SERVER_HOST: "gitlab.example.com"
99
+ CI_PROJECT_PATH: "mygroup/myproject"
100
+ AGILEFLOW_MAX_COMMIT_LINES: "100"
101
+ AGILEFLOW_INCLUDE_MERGE_COMMITS: "false"
102
+
103
+ include:
104
+ - local: templates/AgileFlow.gitlab-ci.yml
105
+
106
+ build:
107
+ stage: build
108
+ script:
109
+ - echo "Building version ${VERSION}"
110
+ needs:
111
+ - agileflow
112
+ ```
113
+
114
+ ### Environment-Specific Configuration
115
+
116
+ ```yaml
117
+ # .gitlab-ci.yml
118
+ include:
119
+ - local: templates/AgileFlow.gitlab-ci.yml
120
+
121
+ # Development environment
122
+ build-dev:
123
+ stage: build
124
+ variables:
125
+ AGILEFLOW_MAX_COMMIT_LINES: "25"
126
+ script:
127
+ - echo "Building dev version ${VERSION}"
128
+ needs:
129
+ - agileflow
130
+
131
+ # Production environment
132
+ build-prod:
133
+ stage: build
134
+ variables:
135
+ AGILEFLOW_MAX_COMMIT_LINES: "100"
136
+ script:
137
+ - echo "Building production version ${VERSION}"
138
+ needs:
139
+ - agileflow
140
+ ```
141
+
142
+ ## Setting Variables in GitLab
143
+
144
+ ### Project-Level Variables
145
+
146
+ 1. Go to your GitLab project
147
+ 2. Navigate to **Settings > CI/CD**
148
+ 3. Expand **Variables**
149
+ 4. Add each required variable:
150
+ - **Key**: `GITLAB_USER_NAME`
151
+ - **Value**: `AgileFlow Bot`
152
+ - **Type**: Variable
153
+ - **Environment scope**: All (default)
154
+ - **Protect variable**: Yes (recommended)
155
+ - **Mask variable**: No
156
+
157
+ ### Group-Level Variables
158
+
159
+ For organization-wide consistency:
160
+
161
+ 1. Go to your GitLab group
162
+ 2. Navigate to **Settings > CI/CD**
163
+ 3. Expand **Variables**
164
+ 4. Add common variables like `GITLAB_USER_NAME` and `GITLAB_USER_EMAIL`
165
+
166
+ ### Instance-Level Variables
167
+
168
+ For self-managed GitLab instances:
169
+
170
+ 1. Go to **Admin Area > Settings > CI/CD**
171
+ 2. Expand **Variables**
172
+ 3. Add instance-wide defaults
173
+
174
+ ## Security Considerations
175
+
176
+ ### Token Security
177
+
178
+ - **Protect variables**: Enable protection for sensitive variables like `AGILEFLOW_TOKEN`
179
+ - **Mask variables**: Don't mask variables that need to be visible in logs
180
+ - **Scope variables**: Limit variable scope to specific environments when possible
181
+ - **Rotate tokens**: Regularly rotate access tokens
182
+
183
+ ### Access Control
184
+
185
+ - **Minimal permissions**: Use tokens with minimal required permissions
186
+ - **Role-based access**: Ensure tokens have appropriate role assignments
187
+ - **Audit access**: Regularly review token access and usage
188
+
189
+ ## Troubleshooting Configuration
190
+
191
+ ### Common Configuration Issues
192
+
193
+ **Missing Required Variables**
194
+ ```
195
+ Error: Missing required environment variable: GITLAB_USER_NAME
196
+ ```
197
+ **Solution**: Add the missing variable to your GitLab CI/CD variables.
198
+
199
+ **Invalid Token Permissions**
200
+ ```
201
+ Error: Permission denied. The AGILEFLOW_TOKEN needs "api" scope and maintainer role.
202
+ ```
203
+ **Solution**: Update the token to have proper permissions and role.
204
+
205
+ **Invalid Project Path**
206
+ ```
207
+ Error: Invalid project path format
208
+ ```
209
+ **Solution**: Ensure `CI_PROJECT_PATH` follows the format `group/project`.
210
+
211
+ ### Debug Configuration
212
+
213
+ Add a debug job to verify configuration:
214
+
215
+ ```yaml
216
+ debug-config:
217
+ stage: build
218
+ script:
219
+ - echo "GITLAB_USER_NAME: ${GITLAB_USER_NAME}"
220
+ - echo "CI_SERVER_HOST: ${CI_SERVER_HOST}"
221
+ - echo "CI_PROJECT_PATH: ${CI_PROJECT_PATH}"
222
+ - echo "AGILEFLOW_TOKEN: ${AGILEFLOW_TOKEN:0:10}..."
223
+ needs:
224
+ - agileflow
225
+ ```
226
+
227
+ ## Related Documentation
228
+
229
+ - [Installation Guide](./installation.md) - Setup and configuration
230
+ - [GitLab CI Template](./gitlab-ci-template.md) - Template configuration
231
+ - [Troubleshooting](./troubleshooting.md) - Common issues and solutions
232
+ - [CLI Reference](./cli-reference.md) - Command-line configuration
@@ -0,0 +1,23 @@
1
+ # Build System (`build`)
2
+
3
+ Changes that affect the build tooling or dependencies.
4
+
5
+ **Use for**:
6
+ - Dependency updates
7
+ - Lockfile changes
8
+ - Dockerfile modifications
9
+ - Build script updates
10
+ - Compiler configurations
11
+ - Bundler settings
12
+
13
+ **Avoid for**:
14
+ - Runtime code changes
15
+ - CI-only configuration
16
+
17
+ **Examples**:
18
+ ```text
19
+ build(deps): update React to version 18
20
+ build(docker): optimize Docker image layers
21
+ build(webpack): configure code splitting
22
+ build(npm): update package-lock.json
23
+ ```
@@ -0,0 +1,24 @@
1
+ # Chores (`chore`)
2
+
3
+ Routine tasks that do not affect source behavior or tests.
4
+
5
+ **Use for**:
6
+ - Repository housekeeping
7
+ - License file updates
8
+ - Issue template changes
9
+ - File renames without behavior change
10
+ - Git configuration
11
+ - Development environment setup
12
+
13
+ **Avoid for**:
14
+ - Dependency changes
15
+ - Build system modifications
16
+ - Code formatting
17
+
18
+ **Examples**:
19
+ ```text
20
+ chore: update .gitignore patterns
21
+ chore: add issue templates
22
+ chore: reorganize project structure
23
+ chore: update development setup instructions
24
+ ```
@@ -0,0 +1,23 @@
1
+ # CI/CD (`ci`)
2
+
3
+ Changes to continuous integration configuration and automation. They usually do not affect source behavior, if they do, they must be marked as ! or add a BREAKING FIX footer.
4
+
5
+ **Use for**:
6
+ - Pipeline definitions
7
+ - Job configurations
8
+ - Cache settings
9
+ - CI scripts
10
+ - Deployment automation
11
+ - Test configurations
12
+
13
+ **Avoid for**:
14
+ - Build tooling that affects local builds
15
+ - Application code changes
16
+
17
+ **Examples**:
18
+ ```text
19
+ ci(gitlab): add deployment job for staging
20
+ ci(docker): configure multi-stage builds
21
+ ci(tests): add integration test suite
22
+ ci(deploy): automate production deployments
23
+ ```
@@ -0,0 +1,23 @@
1
+ # Documentation (`docs`)
2
+
3
+ Documentation-only changes.
4
+
5
+ **Use for**:
6
+ - README updates
7
+ - API documentation
8
+ - Code examples
9
+ - Architecture decision records (ADRs)
10
+ - Inline code comments
11
+ - User guides
12
+
13
+ **Avoid for**:
14
+ - Code changes that affect behavior
15
+ - Configuration changes
16
+
17
+ **Examples**:
18
+ ```text
19
+ docs: update installation instructions
20
+ docs(api): add endpoint documentation
21
+ docs: add troubleshooting guide
22
+ docs: update contributing guidelines
23
+ ```
@@ -0,0 +1,28 @@
1
+ # Features (`feat`)
2
+
3
+ Introduces new user- or API-facing capabilities without removing existing behavior.
4
+
5
+ ## Examples
6
+
7
+ ```text
8
+ feat(api) add user authentication endpoint
9
+ feat(cli): implement --dry-run flag for deployments
10
+ feat(ui): add dark mode toggle
11
+ feat(auth): support OAuth2 login flow
12
+ ```
13
+
14
+ ## Use for
15
+
16
+ - New endpoints or API methods
17
+ - CLI commands and options
18
+ - Configuration options
19
+ - UI components and features
20
+ - Additive database migrations
21
+ - New functionality
22
+
23
+ ## Avoid for
24
+
25
+ - Internal-only refactors
26
+ - Performance tweaks that don't add capability
27
+ - Bug fixes
28
+
@@ -0,0 +1,27 @@
1
+ # Bug Fixes (`fix`)
2
+
3
+ Corrects faulty behavior, regressions, crashes, data corruption, or incorrect outputs.
4
+
5
+ ## Examples
6
+
7
+ ```text
8
+ fix(auth): handle empty refresh token gracefully
9
+ fix(api): correct null pointer exception in user lookup
10
+ fix(ui): resolve button click event not firing
11
+ fix(db): fix transaction rollback on connection failure
12
+ ```
13
+
14
+ ## Use for
15
+
16
+ - Logic errors and bugs
17
+ - Off-by-one fixes
18
+ - Null handling improvements
19
+ - Race condition fixes
20
+ - Flaky behavior resolution
21
+ - Data validation fixes
22
+
23
+ ## Avoid for
24
+
25
+ - Refactors that don't change behavior
26
+ - Performance improvements
27
+ - New features
@@ -0,0 +1,24 @@
1
+ # Performance (`perf`)
2
+
3
+ Makes the system faster or leaner without changing public behavior or semantics.
4
+
5
+ **Use for**:
6
+ - Algorithmic improvements
7
+ - Caching implementations
8
+ - Reduced memory allocations
9
+ - Optimized database queries
10
+ - I/O batching
11
+ - Performance optimizations
12
+
13
+ **Avoid for**:
14
+ - Feature additions
15
+ - Bug fixes
16
+ - Refactoring
17
+
18
+ **Examples**:
19
+ ```text
20
+ perf(cache): implement Redis caching for user sessions
21
+ perf(db): optimize user query with proper indexing
22
+ perf(api): batch database writes to reduce latency
23
+ perf(ui): lazy load images for better page performance
24
+ ```
@@ -0,0 +1,24 @@
1
+ # Refactors (`refactor`)
2
+
3
+ Internal code changes that do not alter external behavior; improves structure, readability, or maintainability.
4
+
5
+ **Use for**:
6
+ - Code reorganization
7
+ - Function extraction
8
+ - Module restructuring
9
+ - Technical debt reduction
10
+ - Code cleanup
11
+ - Renaming variables/functions
12
+
13
+ **Avoid for**:
14
+ - Behavior changes
15
+ - New features
16
+ - Bug fixes
17
+
18
+ **Examples**:
19
+ ```text
20
+ refactor(auth): extract authentication logic into service
21
+ refactor(api): split monolithic controller into modules
22
+ refactor(ui): reorganize component hierarchy
23
+ refactor(db): normalize database schema
24
+ ```
@@ -0,0 +1,16 @@
1
+ # Reverts (`revert`)
2
+
3
+ Reverts a previous commit.
4
+
5
+ ## Examples
6
+
7
+ ```text
8
+ revert: feat(api): add user authentication endpoint
9
+ revert: fix(auth): handle empty refresh token gracefully
10
+ ```
11
+
12
+ ## Use for
13
+
14
+ - Explicit rollbacks
15
+ - Undoing problematic changes
16
+ - Reverting breaking changes
@@ -0,0 +1,24 @@
1
+ # Code Style (`style`)
2
+
3
+ Non-functional changes that do not affect the meaning of code.
4
+
5
+ **Use for**:
6
+ - Code formatting
7
+ - Whitespace changes
8
+ - Linter fixes
9
+ - Import reordering
10
+ - Code style compliance
11
+ - Prettier/ESLint fixes
12
+
13
+ **Avoid for**:
14
+ - Refactoring
15
+ - Behavior changes
16
+ - Bug fixes
17
+
18
+ **Examples**:
19
+ ```text
20
+ style: apply Prettier formatting
21
+ style: fix ESLint warnings
22
+ style: reorder imports alphabetically
23
+ style: fix trailing whitespace
24
+ ```
@@ -0,0 +1,24 @@
1
+ # Tests (`test`)
2
+
3
+ Adds or updates tests without changing runtime behavior.
4
+
5
+ **Use for**:
6
+ - New unit tests
7
+ - Integration test additions
8
+ - Test fixture updates
9
+ - Test refactoring
10
+ - Test coverage improvements
11
+ - End-to-end test additions
12
+
13
+ **Avoid for**:
14
+ - Bug fixes
15
+ - Feature additions
16
+ - Behavior changes
17
+
18
+ **Examples**:
19
+ ```text
20
+ test(api): add unit tests for user service
21
+ test(ui): add integration tests for login flow
22
+ test(db): add database migration tests
23
+ test(auth): add OAuth2 flow tests
24
+ ```