@@ -203,131 +203,6 @@ Example report structure:
203203[ View Full Changelog] ( https://github.com/owner/repo/compare/v1.2.0...v1.2.3 )
204204```
205205
206- ## Building from Source
207-
208- ### Development Prerequisites
209-
210- - [ .NET SDK] ( https://dotnet.microsoft.com/download ) 8.0, 9.0, or 10.0
211- - [ Git] ( https://git-scm.com/ )
212-
213- ### Clone and Build
214-
215- ``` bash
216- # Clone the repository
217- git clone https://github.com/demaconsulting/BuildMark.git
218- cd BuildMark
219-
220- # Build the project
221- dotnet build --configuration Release
222-
223- # Run tests
224- dotnet test --configuration Release
225-
226- # Or use the convenience scripts
227- ./build.sh # Linux/macOS
228- build.bat # Windows
229- ```
230-
231- ### Run Locally
232-
233- ``` bash
234- # Run the tool directly from source
235- dotnet run --project src/DemaConsulting.BuildMark --configuration Release -- --help
236- ```
237-
238- ### Package as Tool
239-
240- ``` bash
241- # Create NuGet package
242- dotnet pack --configuration Release
243-
244- # Install locally for testing
245- dotnet tool install --global --add-source ./src/DemaConsulting.BuildMark/bin/Release DemaConsulting.BuildMark
246- ```
247-
248- ### Linting
249-
250- The project uses several linters to ensure code quality:
251-
252- ``` bash
253- # Run all linters
254- ./lint.sh # Linux/macOS
255- lint.bat # Windows
256-
257- # Or run individually
258- npx markdownlint-cli2 " **/*.md" # Markdown linting
259- npx cspell " **/*.{md,cs}" # Spell checking
260- yamllint . # YAML linting
261- dotnet format # Code formatting
262- ```
263-
264- ## Project Structure
265-
266- ``` text
267- BuildMark/
268- ├── .github/ # GitHub configuration
269- │ ├── agents/ # GitHub Copilot agent definitions
270- │ ├── workflows/ # CI/CD workflow definitions
271- │ └── ISSUE_TEMPLATE/ # Issue templates
272- ├── docs/ # Documentation
273- │ ├── guide/ # User guide
274- │ ├── requirements/ # Requirements documentation
275- │ ├── tracematrix/ # Traceability matrix
276- │ ├── justifications/ # Requirements justifications
277- │ ├── quality/ # Code quality reports
278- │ └── buildnotes/ # Generated build notes
279- ├── src/ # Source code
280- │ └── DemaConsulting.BuildMark/
281- │ ├── Context.cs # Command-line context
282- │ ├── Program.cs # Main entry point
283- │ ├── Validation.cs # Self-validation tests
284- │ ├── PathHelpers.cs # Safe path operations
285- │ └── RepositoryConnectors/ # Repository integration
286- ├── test/ # Test projects
287- │ └── DemaConsulting.BuildMark.Tests/
288- ├── requirements.yaml # Requirements specification
289- ├── build.sh / build.bat # Build scripts
290- ├── lint.sh / lint.bat # Linting scripts
291- └── README.md # This file
292- ```
293-
294- ## CI/CD Pipeline
295-
296- BuildMark uses GitHub Actions for continuous integration and deployment:
297-
298- ### Build Workflow
299-
300- - ** Trigger** : On push to main branch and pull requests
301- - ** Platforms** : Windows and Linux
302- - ** Frameworks** : .NET 8.0, 9.0, and 10.0
303- - ** Steps** :
304- 1 . Code quality checks (markdown lint, spell check, YAML lint)
305- 2 . Build project for all target frameworks
306- 3 . Run self-validation tests
307- 4 . CodeQL security analysis
308- 5 . SonarCloud quality analysis
309- 6 . Generate documentation (requirements, trace matrix, build notes)
310- 7 . Upload artifacts
311-
312- ### Release Workflow
313-
314- - ** Trigger** : On creating a new release tag
315- - ** Steps** :
316- 1 . Build and test on Windows and Linux
317- 2 . Package as NuGet tool package
318- 3 . Publish to NuGet.org
319- 4 . Generate release documentation
320-
321- ### Quality Gates
322-
323- The CI pipeline enforces several quality gates:
324-
325- - All tests must pass
326- - No markdown or spell check errors
327- - CodeQL security scan must pass
328- - SonarCloud quality gate must pass
329- - Requirements traceability must be maintained
330-
331206## Contributing
332207
333208Contributions are welcome! We appreciate your interest in improving BuildMark.
0 commit comments