Yavaren™ user guideVersion 1.0.0Printable guide · PDF

Yavaren™ user guide

Version 1.0.0

Instructions for using the Yavaren software, version 1.0.0: connecting your work tracker and repositories, handing over requirements and stories, approving plans, reviewing the draft pull requests that come back, deciding what is waiting for you (in the console or in the mobile app), asking for services and support, keeping your software up to date, and administering your organisation and installation.

This guide ships with the software: it is in the installation's image and in the installer bundle, and the console serves it at /guide, also on an installation that has no connection to the internet. Read it here, print it from the printable guide or as a PDF.

Contents

  1. Start here
  2. Connect and set up
  3. Requirements and plans
  4. Reviews and quality
    • Reviewing draft pull requests
      What comes back for each story, and what to check before you merge.
    • Code review: feedback in your pull requests
      Let Yavaren review pull requests against your active rules and comment in the pull request; you choose which, and how.
    • Tests and automation: code, unit tests and automation tests in every story
      Choose your project's unit-test and test-automation frameworks, or let Yavaren follow what your repository already uses. Every story comes with tests that prove its acceptance criteria.
    • Quality Intelligence — test automation from your source code
      Generate a complete, runnable test automation project from your application's repository, even with no tests today; run it against your test environment, read why tests fail, and get locator repairs as draft pull requests.
    • Unit tests for your code
      Yavaren writes unit tests for your own Python and TypeScript/JavaScript functions, runs them, shows they catch deliberate defects, and proposes only the new test files as a draft pull request.
    • Automation repositories — where your generated tests live, and their pipeline
      Keep the tests Quality Intelligence generates in your application's repository, in a repository you already have, or in a new private repository Yavaren creates in your organisation; switch on a complete pipeline for them in your own CI and run it for an exact version of your application.
    • When a quality run fails — what went wrong and what to do
      Every failed quality run says what failed, the likely cause and the evidence for it, the safe next step and who can take it; plus what changed in your application, pipeline template versions, pausing, and usage against your plan.
    • Parallel work
      How Yavaren keeps stories that change the same files from conflicting, and what it tells you about the order to merge.
    • Release notes for engineers and for everyone else
      Capture a release from your repositories, read its technical and business notes written from the same facts, have a reviewer approve them, publish them, and let people follow the channels they care about.
    • Is this release ready, and where is it?
      Deliver shows each release candidate's exact revisions and builds, the Quality results for those revisions, readiness gates that never pass on missing evidence, the approvals your policy asks for, and where the release was deployed and who can use it.
    • Keep your tools in step with Yavaren
      Synchronise Yavaren Boards, Requirements and Knowledge with Jira, Azure Boards, GitHub Issues, GitLab or Confluence — each field owned by one side, a preview before any write, every conflict decided by a person.
    • Corrections of delivered work
      Give feedback on something Yavaren delivered, review how it will be corrected, and accept or reject the correction.
    • Guidance for your codebase
      See what Yavaren understood of your rules for each part of your work, acknowledge it, and adopt Yavaren's recommended baselines.
  5. Waiting for you and the mobile app
    • Waiting for you
      Everything Yavaren needs a person to decide, in one list; how you are told, reminded, and how to choose.
    • The Yavaren mobile app
      Pair your phone, see what waits for you, approve plans and criteria, read a pull request's AI review, get notified.
  6. New products
  7. Services, support and updates
    • Services and engagements
      What Yavaren's people offer besides delivery — delivery project management and AI delivery consulting — and how to ask for an engagement.
    • Support
      Get help with a problem in Yavaren or in software Yavaren delivered: open a ticket, follow the thread, and turn a bug into a fix.
    • Software updates
      Have Yavaren update a repository's dependencies, runtime or framework, or fix security advisories, as draft pull requests.
  8. Administration
    • People, sign-in and API keys
      Who can do what in your organisation, how people sign in, and how to use API keys.
    • Give leaders Leadership Intelligence only
      Put leaders in the ready-made Leadership group, or invite them straight into it, so they see Leadership Intelligence and nothing else.
    • Your plan, limits and billing
      Your organisation's plan, rate and limits, and where to find statements and invoices.
    • Plans, AI usage and your data
      Your plan and what it includes, asking for a plan change, seeing what AI work will cost before it starts, the sample workspace, and exporting your organisation's data.
    • Free trials and free credit
      What a free trial or free credit includes and what happens when it ends.
    • Where your work runs
      Where the engineers' work runs, what leaves your organisation, and the learning data you allow.
    • Cloud, on-prem and hybrid compared
      The three ways to run Yavaren side by side: who runs what, where your data lives, what leaves your network, and how a new product is built and deployed in each.
    • Install Yavaren on your own servers, by clicks
      Plan an on-prem installation in Your setup, run one command on your server, and a browser installer finishes every step. Air-gapped networks and upgrades work the same way.
    • Upgrades of your on-prem installation
      How Yavaren upgrades your on-prem installation, what you approve and when, your maintenance window, following an upgrade stage by stage, and upgrading an air-gapped installation.
    • Yavaren support and your on-prem installation
      What Yavaren support can see of an on-prem installation, what it can do and only when you allow it, how to approve or end a support session, and the kill switch.
    • Release verification and your licence binding
      How an on-prem installation checks that it runs the files Yavaren released, and how its licence is bound to it. What happens after a move or a restore.
    • How Yavaren is doing
      Yavaren's daily check of its own results, what it fixed by itself, and what needs you.
    • What Yavaren has learned
      Lessons Yavaren learns from your own work and uses in your next jobs; see the evidence, switch them off, edit or revert them.
    • Giving feedback
      How to rate finished work and what happens with your feedback.
    • API reference
      Every API route your organisation can call, who may call it, and the data it takes and returns.
    • What's new
      Dated changes to what you can do, newest first.
  9. Stack conventions
    • Stack conventions
      The languages and frameworks Yavaren works in, and the conventions each one follows.
    • Android (Kotlin, Jetpack, Compose)
      Android apps in Kotlin with Jetpack Compose, ViewModels and coroutines, built with Gradle and tested on the JVM and on devices.
    • Angular
      Angular applications with standalone components, signals and OnPush change detection, tested with TestBed and component harnesses.
    • Bicep (Azure)
      Azure infrastructure in Bicep, including the subscription-scope infra/shared and infra/app deployments Yavaren generates for new applications.
    • C (CMake)
      Modern C (C11/C17) libraries, services and system software built with CMake, tested with CTest, under sanitizers and static analysis.
    • C++ (CMake)
      Modern C++ (17/20/23) libraries and applications built with CMake, tested with CTest and a unit-test framework, under sanitizers.
    • Databricks (PySpark, Delta Lake, Asset Bundles)
      Databricks code: PySpark jobs and libraries, Lakeflow (Delta Live Tables) pipelines, notebooks kept as .py or .sql source, Databricks Asset Bundles (databricks.yml), Delta Lake tables and Unity Catalog objects; tested locally with pytest and a local SparkSession.
    • dbt Core
      dbt Core projects (dbt_project.yml) on Snowflake, Databricks, BigQuery, Redshift and PostgreSQL: staging, intermediate and mart models, sources, seeds, snapshots, macros, data tests, unit tests and model contracts.
    • Django
      Django web applications and APIs (Django 4.2 LTS to 5.x/6.x), on top of the Python profile.
    • .NET (C# / ASP.NET Core)
      C# and .NET 8+ services, APIs and libraries (ASP.NET Core, EF Core), built with nullable reference types and analyzers on.
    • Elixir (and Phoenix)
      Elixir applications and libraries on OTP, including Phoenix and Ecto, tested with ExUnit.
    • Embedded firmware (C/C++, PlatformIO)
      Firmware for microcontrollers and edge devices (ESP32, STM32, nRF, RP2040 and more) in C and C++ with PlatformIO: hardware-independent logic unit-tested on the host, static analysis, and the memory, timing and safety rules of code that runs on devices.
    • Flutter (Dart)
      Flutter apps in Dart with null safety, state managed through the repository's chosen approach, tested with unit, widget and integration tests.
    • Go
      Go 1.22+ services, command-line tools and libraries, using the standard library first and tested with the testing package.
    • Java (Maven / Gradle)
      Java 17+ services and libraries built with Maven or Gradle (Spring Boot or plain Java), tested with JUnit 5.
    • Kotlin
      Kotlin on the JVM (services and libraries) with coroutines, built with Gradle Kotlin DSL and tested with JUnit 5 or kotlin.test.
    • Laravel
      Laravel 11+ applications: Eloquent, queues, Blade or Inertia front ends, validated with Form Requests and tested with Pest or PHPUnit.
    • Next.js (App Router)
      Next.js App Router applications with Server Components, Server Actions and route handlers, in TypeScript.
    • Node.js (server-side JavaScript)
      Node.js services, command-line tools and libraries in JavaScript, tested with the repository's runner (node:test, Vitest, Jest).
    • PHP
      Modern PHP 8.2+ applications and libraries with Composer, strict types and static analysis, tested with PHPUnit or Pest.
    • Playwright end-to-end tests (TypeScript)
      End-to-end and component tests with Playwright Test in TypeScript: role-based locators, web-first assertions and isolated parallel tests.
    • Playwright end-to-end tests (.NET, NUnit)
      End-to-end tests with Playwright for .NET (NUnit, MSTest or xUnit): role-based locators, auto-waiting assertions and parallel-safe tests.
    • Python
      Modern Python 3.10+ services, libraries and scripts, typed and tested with pytest.
    • Ruby on Rails
      Ruby on Rails 7/8 applications following the Rails way: Active Record, Hotwire, background jobs and built-in testing.
    • React
      React 18/19 user interfaces with function components and hooks, tested through the DOM with Testing Library.
    • ROS 2 (robotics)
      Robot software on ROS 2 (Jazzy or Humble): C++ (rclcpp) and Python (rclpy) packages built with colcon and ament, with launch files, parameters, simulation tests and the safety rules of software that moves hardware.
    • Ruby
      Ruby 3.x gems, scripts and services, styled with RuboCop or Standard and tested with RSpec or Minitest.
    • Rust
      Rust 2021/2024 crates (services, command-line tools and libraries) built with Cargo, linted with Clippy and tested with cargo test.
    • Salesforce (Apex, LWC, metadata)
      Apex classes and triggers, Lightning Web Components and source-format metadata in a Salesforce DX project.
    • Scala
      Scala 2.13 and Scala 3 services and libraries built with sbt, functional style with Cats Effect or ZIO where the repository uses them.
    • Snowflake (SQL, Snowpark, schemachange)
      Snowflake code: Snowflake SQL and versioned migrations (schemachange or Flyway), Snowpark Python (DataFrames, stored procedures, UDFs and UDTFs), tasks, streams, dynamic tables, roles and grants; Snowpark tested locally with pytest in local testing mode.
    • SQL databases (migrations, procedures, views)
      Relational database code for PostgreSQL, SQL Server (T-SQL), MySQL and Oracle: versioned schema migrations (Flyway V__ files, Liquibase changelogs, plain numbered scripts), stored procedures, functions, views and grants.
    • Swift
      Swift 5.9/6 apps and packages (SwiftUI, Swift concurrency) built with Swift Package Manager or Xcode, tested with Swift Testing or XCTest.
    • Terraform and OpenTofu
      HCL infrastructure code (Terraform 1.8+ or OpenTofu 1.8+), including the infra/ stacks Yavaren generates for new applications.
    • TypeScript
      TypeScript 5.x applications and libraries with strict compiler settings, on Node.js or in the browser.
    • Vue 3
      Vue 3 applications with the Composition API and `<script setup>`, Pinia for state, tested with Vitest and Vue Test Utils.

Yavaren is a trademark of WeCan LLC.