- Renamed README-documentor.md → README-technical-writer.md - Updated all references from "Documentor" to "Technical Writer" across: - README files (README.md, README-developer.md, README-likec4.md) - Content pages (documentation section, homepage) - LikeC4 models (documentation-platform.c4 in both projects) - Regenerated LikeC4 webcomponents with updated terminology - Updated lowercase "documentor" to "technicalWriter" in model IDs "Technical Writer" is the proper English term for documentation contributors, replacing the non-standard "Documentor" terminology.
4.7 KiB
| title | linkTitle | weight | description |
|---|---|---|---|
| Local Development | Local Development | 20 | Set up your local environment and learn the technicalWriter workflow. |
Prerequisites
Before you start, ensure you have:
- Devbox or the following tools installed:
- Hugo Extended (latest version)
- Node.js (v24+)
- Go (for htmltest)
- Git
Installation
-
Clone the repository:
git clone <repository-url> cd ipceicis-developerframework -
Install dependencies:
task deps:install -
If using Devbox, enter the Devbox shell:
devbox shellThis ensures all tools (Hugo, Node.js, Go) are available in the correct versions.
Local Development Workflow
{{< likec4-view view="localDevelopment" project="documentation-platform" >}}
Starting the Development Server
The easiest way to work locally is to start the Hugo development server:
task serve
This will:
- Generate build information (git commit, version)
- Start Hugo server on
http://localhost:1313 - Enable hot reload - changes appear instantly in the browser
Content Structure
content/
└── en/ # English content
├── _index.md # Homepage
├── blog/ # Blog posts
└── docs/ # Documentation
├── architecture/ # Architecture docs
├── decisions/ # ADRs
└── v1/ # Version-specific docs
Creating Content
-
Add a new documentation page:
# Create a new markdown file vim content/en/docs/your-topic/_index.md -
Add frontmatter:
--- title: "Your Topic" linkTitle: "Your Topic" weight: 10 description: > Brief description of your topic. --- -
Write your content in Markdown
-
Preview changes - they appear immediately if
task serveis running
Creating Architecture Diagrams
Architecture diagrams are created with LikeC4:
-
Navigate to the appropriate LikeC4 project:
resources/edp-likec4/- Platform architectureresources/doc-likec4/- Documentation platform architecture
-
Edit or create
.c4files with your modelExample: Create a simple view in
resources/edp-likec4/views/my-view.c4:specification { element myperson element mysystem } model { customer = myperson 'Customer' { description 'End user of the platform' } mySystem = mysystem 'My System' { description 'Example system component' } customer -> mySystem 'uses' } views { view myCustomView { title "My Custom Architecture View" include customer include mySystem autoLayout TopBottom } } -
Regenerate webcomponents:
task likec4:generate -
Embed diagrams in Markdown:
{{</* likec4-view view="myCustomView" project="architecture" title="My Custom Architecture View" */>}}Finding available view IDs:
- Open the
.c4files in your project directory - Look for
view <viewId> {declarations - The
<viewId>is what you use in theviewparameter - Or use:
grep -r "^view " resources/edp-likec4/ --include="*.c4"
- Open the
Available Tasks
View all available tasks:
task --list
Common Development Tasks
| Task | Description |
|---|---|
task serve |
Start development server with hot reload |
task build |
Build production-ready site |
task build:dev |
Build development version |
task clean |
Remove build artifacts |
task test |
Run all tests |
task test:quick |
Run tests without link checking |
Quick Testing
Before committing, run quick tests:
task test:quick
This validates:
- Hugo build succeeds
- Markdown syntax is correct
For comprehensive testing, including link checking:
task test
Tips for Technical Writers
- Write in present tense - "The system processes..." not "The system will process..."
- Use code blocks with syntax highlighting
- Include diagrams for complex concepts
- Test locally before pushing
- Keep it concise - readers appreciate brevity
- Update regularly - stale docs are worse than no docs
Troubleshooting
Port 1313 already in use
# Find and kill the process
lsof -ti:1313 | xargs kill -9
Build errors
# Clean and rebuild
task clean
task build:dev
Missing dependencies
# Reinstall all dependencies
task deps:install
Next Steps
Now that you can develop locally, learn about: