# Dependencies

Which stage or task waits for which: no cycles, they order the board and set the earliest day a task can be scheduled.

Source: https://ardumaker.com/en/docs/dependencias/

- Category: Projects and companies
- Status: Available
- Requirements: Stages or tasks in the same project
- MCP tools (Write or modify): `crear_etapa`, `editar_etapa`, `crear_tarea`, `editar_tarea`, `crear_proyecto_con_etapas`

## What can you do with it?

- Make a stage depend on other stages in the same project.
- Make a task depend on other tasks in the same project, even in another stage.
- See in the dependency map what is blocked and what can start right away.

Stages depend on stages and tasks on tasks: levels are not mixed.

## When should you use it?

- To chain phases that cannot start until the previous one finishes.
- So auto-scheduling does not place a task before what it depends on.

## How does it work in ArduMaker?

- They are **informational**: they do not block any action. The API computes `puede_completarse`, which is true when all dependencies are at 100%.
- When saved, they are checked so they do not form a cycle.
- If a stage has no dependencies of its own, the board infers them from its tasks' dependencies.
- Auto-scheduling does not place a task before the day after its dependency's date. If a dependency has no date yet, it waits.

> **INFO:** When rescheduling after a change, only direct dependents are rearranged, not the whole chain.

## What actually changes?

- Saving dependencies replaces the stage's or task's full list.
- Deleting a task leaves no dangling dependencies: it disappears from the lists and reappears if restored.

## Diagram

**Task with a dependency**

```text
Task A (fecha_limite: day N)
  ↓
Task B depends on A (puede_completarse = A at 100%)
  ↓
B auto-scheduling (from day N+1)
```

## Expected result

The board shows first what waits for nobody, and each card shows what it depends on and how many it blocks.

## Errors and troubleshooting

- `Adding '<nombre>' as a dependency would create a cycle`: the dependency would close a loop. Remove one from the chain.
- A task is not auto-scheduled if it depends on another without a date: date the dependency first.

## MCP access

- `crear_etapa` and `editar_etapa` accept the stage's dependencies.
- `crear_tarea` and `editar_tarea` accept `depende_de` with task ids.
- `crear_proyecto_con_etapas` with `encadenar_etapas=true` (default) makes each stage depend on the previous one.

More at [/mcp/proyectos](https://ardumaker.com/en/mcp/proyectos) and [/mcp/docs](https://ardumaker.com/en/mcp/docs).

## Related features

- [Stages](https://ardumaker.com/en/docs/etapas/)
- [Tasks](https://ardumaker.com/en/docs/tareas/)
- [Project calendar](https://ardumaker.com/en/docs/calendario-de-proyecto/)
- [Projects and kanban board](https://ardumaker.com/en/docs/proyectos-kanban/)
